Scrum

Published:

Scrum is an iterative and incremental agile software development framework for managing product development. It enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project.

As the contrary to other frameworks of work in agile techniques there are only three core roles related with the scrum frameowrk:

  • Product owner who represents the stakeholders and is the voice of the customer. The product owner writes customer-centric items (typically user stories), ranks and prioritizes them, and adds them to the product backlog.
  • The development team who is responsible for delivering potentially shippable increments (PSIs) of product at the end of each sprint (the sprint goal). The team should be cross-functional with all of the skills as a team necessary to create a product increment. It is usually made up of 3-9 individuals working in (analyse, design, develop, test, technical communication, document …). he development team in scrum is self-organizing, even though there may be some level of interface with project management offices (PMOs). They only follow the incentives produced by the product owner in the qualifications of priorities of the tasks.
  • Scrum master: The scrum master is not a traditional team lead or project manager, but acts as a buffer between the team and any distracting influences. The scrum master ensures that the scrum process is used as intended. Usually is someone who act as a scrum master for different projects.

The specific elements of scrum are:

  • PBI’s: the product backlog in which are summarized and split the requisits of the customer.
  • Sprint backlog: the parts of the product backlog assigned to the particular sprint.
  • Sprint: which is carried out iteratively and incrementally with products backlog refinement on the fly. The sprint is divided in daily sprints in which has to be supervised by a scrum meeting between all the development team.
  • Potentially releasable increment: the coded backlog which makes the code functionable.

Some utilities:

  • Burn-down chart: also used in other agile development frameworks. It is a visualization of the progress of the project.

See also

Pair programming, Agile software development

Material

Papers

Books