Scrum (software development)

From Canonica AI

Introduction

Scrum is an Agile framework for managing knowledge work, with an emphasis on software development. It is designed for teams of three to nine members, who break their work into actions that can be completed within timeboxed iterations, called "sprints", no longer than one month and most commonly two weeks, then track progress and re-plan in 15-minute stand-up meetings, called daily scrums.

Origins

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 a 1986 paper by Takeuchi and Nonaka. It is named for the scrum formation in rugby, which is used to restart the game after an event like a knock-on or forward pass, or for any other reason the referee needs to stop the game.

Roles

In Scrum, three roles are defined: The Scrum Master, the Product Owner, and the Development Team.

Scrum Master

The Scrum Master is the leader and coach of the Scrum team, who helps everyone change interactions to maximize the value created by the Scrum Team. The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t.

Product Owner

The Product Owner represents the stakeholders and is the voice of the customer. He or she is accountable for ensuring that the team delivers value to the business. The Product Owner writes user stories, prioritizes them, and adds them to the product backlog.

Development Team

The Development Team is responsible for delivering potentially shippable increments (PSIs) of product at the end of each Sprint (the Sprint Goal). A team is made up of 3–9 individuals who do the actual work (analyse, design, develop, test, technical communication, document, etc.).

Events

Scrum is a framework for managing work with an emphasis on software development. The roles, events, artifacts, and rules are immutable and although implementing only parts of Scrum is possible, the result is not Scrum. Scrum is a whole design that fits together into a coherent whole.

Sprint

The heart of Scrum is a Sprint, a time-box of one month or less during which a "Done", useable, and potentially releasable product Increment is created.

Sprint Planning

The work to be performed in the Sprint is planned at the Sprint Planning. This plan is created by the collaborative work of the entire Scrum Team.

Daily Scrum

The Daily Scrum is a 15-minute time-boxed event for the Development Team to synchronize activities and create a plan for the next 24 hours.

Sprint Review

A Sprint Review is held at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed.

Sprint Retrospective

The Sprint Retrospective is an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint.

Artifacts

Scrum's artifacts represent work or value to provide transparency and opportunities for inspection and adaptation. Artifacts defined by Scrum include Product Backlog, Sprint Backlog, and a potentially releasable product increment.

Product Backlog

The Product Backlog is an ordered list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product.

Sprint Backlog

The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal.

Increment

The Increment is the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints.

Scrum Values

When the values of commitment, courage, focus, openness and respect are embodied and lived by the Scrum Team, the Scrum pillars of transparency, inspection, and adaptation come to life and build trust for everyone.

Criticism and Controversy

Despite its popularity and widespread adoption, Scrum has been criticized for being too rigid, overly complicated, and not sufficiently concerned with quality code production. Some critics argue that Scrum is not truly agile and that it is merely a form of "micro-management".

See Also

A team of software developers working together in a meeting room, discussing their tasks and progress.
A team of software developers working together in a meeting room, discussing their tasks and progress.