An introduction to Scrum

Scrum is the most popular agile framework out there. It uses 1 to 4 week iterations called sprints to deliver products. Developed by Jeff Sutherland and Ken Schwaber, it has been used since the nineties, i.e. even before the 2001 agile manifesto was written. The word scrum is taken from rugby.

Being a framework, scrum needs to be tailored to your situation. A scrum team is supposed to be cross-functional and self-organizing in order to minimize dependencies and wait times while improving collaboration.

In a project using scrum:

  • the business requirements are ranked into a product backlog

  • the product owner (PO) is the only person responsible for managing and prioritizing the product backlog. This role is performed by one person and not a committee. The PO needs to be knowledgeable, engaged and be able to define acceptance criteria for the backlog items.

  • a cross-functional team works on the backlog to create an increment. The optimal team size varies from 3-9 people to balance productivity and coordination needs.

  • a scrum master works to facilitate the process, coaching the team and removing impediments. The scrum master needs to be knowledgeable in agile and scrum, and embody servant leadership qualities as opposed to command-and-control.

  • stakeholders are interested in the outcome e.g.users, management and sponsor

Scrum delivery happen in time-boxed iterations (between 1 to 4 weeks) called sprints. Each sprint is of the same duration. An objective that can be met through implementation of the product backlog is set as the Sprint Goal. Normally no changes are made during the sprint that could endanger the Sprint Goal. Sprints contain:

  • Sprint Planning - a time-boxed event (2-8 hours) where the team works collaboratively to commit to what they can deliver in the sprint. The planning is done based on the top priority items and the sizing of the backlog items. The requirements are discussed in detail with the PO. The sizing of backlog items is done in “story points” / “T-shirt sizing” which is roughly a measure of the complexity. The committed items are then broken-down into tasks (sized in hours). Activity levelling is done to ensure no one in the team is overloaded at the end of the planning event.

  • Daily Scrum - a 15-minute time-boxed standup meeting to discuss between themselves. The goal is to discuss and understand how to achieve the Sprint goal. Typical example using three questions:

    • What did I do yesterday (that helped the team meet the sprint goal) ?

    • What will I do today (that will help the team meet the sprint goal) ?

    • Do I see any impediment that prevents me or the team from meeting the sprint goal ?

      The daily scrum is a key inspect-and-adapt meeting. The scrum master supports the team in removing the obstacles.

  • the development work

  • Sprint Review - a time-boxed event (1-4 hours) to show the increment to the stakeholders and elicit feedback and collaborate on the next things to be done to optimize value. It also includes a review of the timeline and budget for the next releases.

  • Sprint Retrospective - this time-boxed (45 minutes -3 hours) inspect-and-adapt event is to review what worked well and what did not, to have a plan for improvements to be implemented in the next sprint.

The product backlog is a ranked list of all features, requirements, enhancements and fixes. The product owner collaborates with stakeholders / users and the team to refine the backlog (grooming the backlog) with updated requirements, detail, estimates and ranking. I’ll cover the role of the product owner and the backlog grooming in a separate post.

Scrum values

Scrum is based on empiricism: that knowledge comes from experience and making decisions based on what is known. The three underlying principles behind scrum are: transparency, inspection and adaptation. These principles are built into each event and scrum activity.

The key critique of scrum is with respect to its approach to the organization. It doesn’t contain anything to allow scaling across the enterprise except organic evangelism by the scrummaster. This is to be expected due to scrum being one of the oldest agile frameworks. Some have tried to extend it with scrum of scrums, but this detracts from the simple approach of scrum with added complexity and is difficult to adapt in the enterprise.

Nevertheless, the simplicity of scrum remains the key factor for its popularity and while other lean agile approaches like kanban become more popular, there are also adaptations like scrumban (scrum+kanban) which tries to get the best of both worlds. As evidenced in surveys, scrum remains the most popular / practiced agile framework in the world.

 
comments powered by Disqus