Software:Scrum Sprint

From HandWiki
Short description: Period of work in software development according to the Scrum method


Scrum Sprint is a repeatable fixed time-box during which a "Done" product of the highest possible value is created. Sprint lies at the core of the Sprint agile methodology and can be thought of as an event which wraps all other Scrum events like Daily Scrums, Scrum Review and Sprint Retrospective. Like all of scrum events, Sprint also has a maximum duration. Usually, a Sprint lasts for one month or less.[1]

Usually, daily meetings are held to discuss the progress of the project undertaken and any difficulty faced by any team member of the team while implementing the project. The outcome of the sprint is a deliverable, albeit with some increments. The scrum is used for projects like Web Technology or development of a product for the new market, i.e. the product with many requirements or fast-changing requirement.[2]

History

Sprint (Scrum) came into existence during early 1990s when Ken Schwaber was working with Mike Smith and Chris Martin, and Jeff Sutherland was working with Jeff McKenna.[1] In 1995, Ken Schwaber and Jeff Sutherland presented Scrum at OOPSLA conference.[3]

Values

The key feature of Sprint is its fixed time-frame. In the beginning of the Sprint, some goals are defined which are then worked upon and carefully reviewed throughout the sprint. If review implies any deviations in the product, then adjustments are made as soon as possible to control further deviation. Sprint thus takes as input "Sprint Backlog" and gives an incremental deliverable version of the product as the output. To accomplish this, Sprint employs transparency, inspection and adaptation as its basic values. Transparency ensures that all the stakeholders have a common understanding of what is considered "done". Inspection and Adaptation help control any deviations so that at the end of the sprint, a maximum value product is delivered. Immediately after the conclusion of previous Sprint, next Sprint follows.[1]

Terminologies

Sprint works in conjunction with Sprint Backlog, Daily Scrum, Sprint Review and other such events.[1]

Product Owner

Product Owner is responsible for product's current state of development and for maximizing the product's value. Product Owner can be one person, even if they represent a committee.[1] Their job includes:

  • Maintaining items in Product Backlog.
  • Assigning order to items in Backlog.
  • Ensuring that items in Product Backlog are clear to the Development Team.[1]

Development Team

The development team is responsible for the implementation of the articles in Sprint Backlog . Although several members of the development team may specialize in different areas, the development team as a whole is responsible for the development of functionality.[1]

Sprint Backlog

Sprint Backlog refers to a subset of Product Backlog that is selected for a Sprint along with its delivery plan. Based on the items in the Sprint Backlog, the Development Team decides how they will create a "Done" product.[1]

Daily Scrum

Daily Scrum is a fixed time, fixed place event that allows Development Team to synchronize and plan work for the next 24 hours based on the amount of work done since the last Daily Scrum.[1] During Daily Scrum, Development Team members explain:

  • What did I do yesterday that helped towards Sprint Goal?
  • What am I going to do today towards my Sprint Goal?
  • What Impediments I see towards accomplishing my Sprint Goal?

Daily Scrum usually lasts for 15 minutes, but can be followed by other meetings for detailed discussions.

Sprint Review

Sprint Review is scheduled after the sprint ends. The team and stakeholders inspect the amount of work done. The Product Owner adapts the Product Backlog if necessary.[1] Sprint review is one inspect-and-adapt opportunity at the end of each sprint.

Sprint Retrospective

Sprint Retrospective is used to analyze what went right in the Sprint and what could be improved upon. The Scrum Team examines the process used to build that increment. This Retrospective feedback helps improve the process in Sprints to follow. Sprint retrospective is one inspect-and-adapt opportunity at the end of each sprint.[4]

Process Flow

An idea to create a system initiates the Scrum project. At first, the vision may be ambiguous, but as the project evolves, team members start getting a clear picture of the desired system. The role of Product Owner is to frame the strategy, together with Product Backlog and deliver the vision project to those funding the project. A prioritized Project Backlog is then created where Core functionality is assigned the highest priority. Additional features, however, can be left for the incremental product. The key objective now is to translate this prioritized list into "Done" product.[5]

Every Sprint starts with a Sprint Planning Meeting and lasts for 30 days or less. In the meeting, prioritized items from Product Backlog are discussed amongst the development team, Scrum Master and the Product Owner. Development Team then discusses and presents their views regarding the feasibility of the tasks. Once decided, finalized tasks are then discussed and assigned to Development Team members. This is followed by the second phase of the meeting, which only constitutes Development Team where the team discusses the plan of work.[5]

Daily Scrums are held where the team discusses current state of work and any impediments they encountered. Quick adjustments are made if deviations are observed.[5]

At the end of the Sprint, Team, Scrum Master and Product Owner review the Sprint and plan accordingly for the next one.

See also

References