About scrum

From Me Pare Whanau
Jump to: navigation, search

overview

  • scrum is an iterative and incremental Agile software development framework for managing software projects and product or application development


  • scrums focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach"


  • scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication among all team members and disciplines in the project


  • a key principle of scrum is its recognition that during a project the customers can change their minds about what they want and need (often called requirements churn), and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner


  • as such, scrum adopts an empirical approach—accepting that the problem cannot be fully understood or defined, focusing instead on maximizing the team's ability to deliver quickly and respond to emerging requirements

[wikipedia - source 1, 2014]

  • scrum is a simple framework for effective team collaboration on complex projects


  • scrum provides a small set of rules that create just enough structure for teams to be able to focus their innovation on solving what might otherwise be an insurmountable challenge


  • scrum is a way for teams to work together to develop a product


  • product development occurs in small pieces, with each piece building upon previously created pieces


  • building products one small piece at a time encourages creativity and enables teams to respond to feedback and change, to build exactly and only what is needed

[scrum.org - source 2, 2014]

  • scrum is an agile feedback loop driven product development and team learning process [@masterscrum, 2014]


who made scrum

  • scrum was first defined as "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach" in 1986 by Hirotaka Takeuchi and Ikujiro Nonaka in the "New New Product Development Game"


  • Takeuchi and Nonaka later argued in "The Knowledge Creating Company" that it is a form of "organizational knowledge creation, [...] especially good at bringing about innovation continuously, incrementally and spirally".


  • Takeuchi and Nonaka described a new approach to commercial product development that would increase speed and flexibility, based on case studies from manufacturing firms in the automotive, photocopier and printer industries


  • They called this the holistic or rugby approach, as the whole process is performed by one cross-functional team across multiple overlapping phases, where the team "tries to go the distance as a unit, passing the ball back and forth".


  • In the early 1990s, Ken Schwaber used what would become Scrum at his company, Advanced Development Methods, and Jeff Sutherland, with John Scumniotales and Jeff McKenna, developed a similar approach at Easel Corporation, and were the first to refer to it using the single word Scrum


  • In 1995, Sutherland and Schwaber jointly presented a paper describing the Scrum methodology at the Business Object Design and Implementation Workshop held as part of Object-Oriented Programming, Systems, Languages & Applications '95 (OOPSLA '95) in Austin, Texas, its first public presentation


  • Schwaber and Sutherland collaborated during the following years to merge the above writings, their experiences, and industry best practices into what is now known as Scrum


  • In 2001, Schwaber worked with Mike Beedle to describe the method in the book Agile Software Development with Scrum.


  • Its approach to planning and managing projects is to bring decision-making authority to the level of operation properties and certainties.


  • Later, Schwaber with others founded the Scrum Alliance and created the Certified Scrum Master programs and its derivatives


  • Ken left the Scrum Alliance in the fall of 2009, and founded Scrum.org to further improve the quality and effectiveness of Scrum.

[wikipedia - source 1, 2014]

scrum related infographics



rules of thumb from @yochum

  • the product owner needs to be in contact with all those that are invested in the work of the team (aka stakeholders) …

  • these stakeholders have information on the marketplace, the users’ needs, and the business needs …

  • the product owner must be able to communicate with each of these individuals whenever the need arises …

  • if this is possible, the entire scrum team will have the most up to date information that will aid them in their execution of the product …

  • if not, the team will have to wait for information and/or guess which will cause confusion, blame, distrust, and unhappy customers …

[source - agile advice 2014, twitter @yochum]

terminology

Scrum Team 
Product Owner, Scrum Master and Development Team


Product Owner 
The person responsible for maintaining the Product Backlog by representing the interests of the stakeholders, and ensuring the value of the work the Development Team does.


Scrum Master 
The person responsible for the Scrum process, making sure it is used correctly and maximizing its benefits.


Development Team 
A cross-functional group of people responsible for delivering potentially shippable increments of Product at the end of every Sprint.


Sprint burn down chart 
Daily progress for a Sprint over the sprint's length.


Release burn down chart 
Sprint level progress of completed product backlog items in the Product Backlog.


Product backlog (PBL) 
A prioritized list of high-level requirements.


Sprint backlog (SBL) 
A prioritized list of tasks to be completed during the sprint.


Sprint 
A time period (typically 1–4 weeks) in which development occurs on a set of backlog items that the team has committed to. Also commonly referred to as a Time-box or iteration.


Spike 
A time boxed period used to research a concept and/or create a simple prototype. Spikes can either be planned to take place in between sprints or, for larger teams, a spike might be accepted as one of many sprint delivery objectives. Spikes are often introduced before the delivery of large or complex product backlog items in order to secure budget, expand knowledge, and/or produce a proof of concept. The duration and objective(s) of a spike will be agreed between the Product Owner and Delivery Team before the start. Unlike sprint commitments, spikes may or may not deliver tangible, shippable, valuable functionality. For example, the objective of a spike might be to successfully reach a decision on a course of action. The spike is over when the time is up, not necessarily when the objective has been delivered.


Tracer Bullet 
The tracer bullet is a spike with the current architecture, current technology set, current set of best practices which results in production quality code. It might just be a very narrow implementation of the functionality but is not throw away code. It is of production quality and the rest of the iterations can build on this code. The name has military origins as ammunition that makes the path of the weapon visible, allowing for corrections. Often these implementations are a 'quick shot' through all layers of an application, such as connecting a single form's input field to the back-end, to prove the layers will connect as expected.[citation needed]


Tasks 
Work items added to the sprint backlog at the beginning of a sprint and broken down into hours. Each task should not exceed 12 hours (or two days), but it's common for teams to insist that a task take no more than a day to finish.[citation needed]


Definition of Done (DoD) 
The exit-criteria to determine whether a product backlog item is complete. In many cases the DoD requires that all regression tests should be successful.


Velocity 
The total effort a team is capable of in a sprint. The number is derived by evaluating the work (typically in user story points) completed from the last sprint's backlog items. The collection of historical velocity data is a guideline for assisting the team in understanding how much work they can do in a future sprint.


Impediment 
Anything that prevents a team member from performing work as efficiently as possible.[16]


Sashimi 
A report that something is "done". The definition of "done" may vary from one Scrum team to another, but must be consistent within one team.


ScrumBut 
A ScrumBut (or Scrum But) is an exception to the "pure" Scrum methodology, where a team has changed the methodology to adapt it to their own needs


Abnormal Termination 
The Product Owner can cancel a Sprint if necessary. The Product Owner may do so with input from the team, Scrum Master or management. For instance, management may wish to cancel a sprint if external circumstances negate the value of the sprint goal. If a sprint is abnormally terminated, the next step is to conduct a new Sprint planning meeting, where the reason for the termination is reviewed.


[wikipedia - source 1, 2014]