knowledge-kitchen

Scrum - Software Developers Role-Play Rugby

Software developers role-play rugby.

  1. Agile manifesto
  2. Scrum framework
  3. Roles
  4. Events
  5. Communications
  6. Team harmony
  7. Conclusions

Agile manifesto

Concept

In 2001, at The Lodge at the Snowbird Ski Resort in Utah, 17 prestigious developers got together to talk shop.

The text

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

-Agile Manifesto

Implementation

The Agile manifesto inspired a world of developers, but there were no details on how to implement it.

Scrum framework

Concept

The Scrum framework is a recipe for achieving agile development by prescribing a strict set of…

Rugby Scrum

Scrum” is a term from the sport rugby, where players huddle closely together, sweatily pushing and rubbing up against each other.

Rugby scrum

Roles

Concept

Scrum defines four distinct roles:

It is possible, although not adviseable, for one person to perform more than one of these roles.

Product owner

The Product Owner represents the business interests within the team.

Scrum master

The Scrum Master represents the Scrum framework within the team.

Developer

Developers implement the work laid out by the Product Owner.

Stakeholder

Stakeholders are people external to the team who have an important voice.

Events

Concept

Scrum defines seven ritual events for different purposes:

Sprint timeline

Scrum events timeline

Backlog creation

The Product Backlog is a list of features that the project is intended to implement. These featuress are written in a specific style and called “User Stories”.

Backlog creation

User stories

User Stories are written in the following form:

As a ___, I want to ___, so that ___

These are written in non-technical language by the Product Owner.

Backlog creation

User stories

User Stories should follow the INVEST acronym:

Backlog creation

User stories

Agile developers are perhaps overly confident in their ability to work with minimal documentation and specification. In practice, it is often the case that a User Story needs some more documentation and detail than a single sentence can provide, in order to avoid miscommunication and to align expectations of all involved.

Thus, User Stories often include a set of Acceptance Criteria.

Backlog creation

User stories

User Stories each often have an Estimation of Effort

Backlog creation

Spikes

Sometimes work needs to be done that is not end-user-facing, such as setting up a particular development environment.

Such a piece of work is called a Spike.

Sprint planning

In Scrum, work is divided into increments - a batch of work. Each increment is called a “Sprint”. Sprints typically last a few weeks.

Sprint planning

The team discusses and collaboratively agrees on which User Stories to do in this Sprint. These are added to the Sprint Backlog.

Daily Scrum

Every day, the Scrum Master and Developers get together to discuss status. Each Developer answers three questions:

Blocking problems are addressed by the Scrum Master, who must seek help externally.

Backlog Grooming

Each Sprint, the Product Owner maintains the Product Backlog - adding new User Stories, modifying old ones, etc.

Sprint review

At the end of each Sprint, the entire team (including Product Owner) meet to discuss the work that has been done.

Stakeholder demo

The entire team demonstrates the work to the Stakeholders.

Team retrospective

The team discusses what happened in this sprint.

Artifacts

Concept

Scrum defines three artifacts:

  1. Product Backlog - the list of all product features maintained by the Product Owner
  2. Sprint Backlog - the list of features selected to be worked on this sprint
  3. Increment - the sum of all work done in the current Sprint

We have already discussed these in the context of the events.

A bit more about the Increment

The Increment is the sum of all work done in the current Sprint. Each Increment is additive to all prior Increments.

In order for an Increment to have any value, it must…

In other words, any work done that is unreliable, unusable, or incomplete is not considered part of the completed Increment. Incomplete work should not be shown to Stakeholders in the demo.

Definition of Done

The Definition of Done is a description the team has agreed upon (and documented) of what it means for any feature to have been completely implemented.

Communications

Concept

It is expected in Scrum that team members and Stakeholders always know the status of work currently being done.

Task Board

The Task board divides the activities in the current Sprint into the simple categories, such as:

The Task Board must be kept up-to-date at all times by the Product Owner and Developers.

Team harmony

Concept

It is critical that all team members be able to see the accurate status of all Tasks by all Developers.

Conclusions

Thank you. Bye.