The 5 Whys of Scrum
We often get asked how Scrum works, and why Scrum only has 3 roles, 3 artifacts and 3 ceremonies. We wrote the 5 Whys of Scrum to help teach the principles behind Scrum and provide some tips on successfully applying Scrum in the workplace.
Some content of the 5 Whys of Scrum Cards
Why should you use Scrum?
Over 32% of traditional projects fail to meet time and budget. Agile is an alternative approach to software delivery. In 2010, Forrester Research recognized that agile is now mainstream1 and Scrum is the leading universal agile framework. Scrum is...
- Simple, a manager-friendly agile development framework
- Scalable, working for small start-ups and large distributed enterprises
- Widespread, used by over 50% of companies that implement agile
- Proven to improve quality and productivity by 33% or more
What is Scrum?
Agile Scrum teams focus on results not effort. Scrum is a principle-based framework for continuous learning that focuses on maximizing value delivery instead of effort.
The Scrum framework
Requirements are taken from a prioritized Product Backlog and broken down into small features that can be delivered as working software during short development iterations, called Sprints. Work is pulled from the Product Backlog into a Sprint Backlog for completion in the sprint by the Development Team. The outcome of a Sprint is a Deliverable that, ideally, can be released immediately after acceptance by the Product Owner at the Sprint Review meeting.
What is Agile?
Agile drives continuous improvement by repeatedly inspecting and adapting the working process.
The Agile approach
- Works Empirically: Agile is an empirical, principle-based approach for delivering software in a complex technical and business environment
- Reduces Complexity: Today’s business and technical environment changes rapidly; complexity is growing exponentially
- Handles Change: Developers solve increasingly difficult problems in a technology environment that is undergoing rapid change
Defined, process-driven systems, like waterfall, are ill-equipped to manage the dependencies and uncertainty created by complexity and change.
What is Lean?
Lean thinking is a principle-based approach with empirical inspect-and-adapt iterations instead of defined process steps. Since 2001 agile has been used to describe software development approaches based on the lean principles applied so effectively by Toyota. Agile is lean applied to software development.
- Muda - Waste: refers to any non-value adding activity that a customer is unwilling to pay for. Lean companies passionately eliminate waste
- Muri - Process Overload: refers to the tendency to overload processes in the hope of achieving more. Lean thinking maximizes value creation over process utilization
- Mura - Uneven Flow: inconsistent flow can disrupt a system, creating inefficiencies and waste. Lean decreases lead time by smoothing flow through a system
Why do agile engineering practices help?
The Scrum framework is a simple framework with 9 prescriptions: 3 roles, 3 ceremonies and 3 artifacts. These prescriptions help streamline the product definition and value creation, with a focus on the work definition and management practices; there are no technical practices. ...
Why are there just 3 roles?
The Scrum framework relies on three peer-level management roles, whose mutually exclusive responsibilities lead to positively-reinforcing behaviors that stabilize the process. Combining responsibilities eventually leads to contradictory drivers or conflicts of interest. The three distinct roles allow people to focus on defined responsibilities with different objectives driving behavior.
The Product Owner - A value-driven role
The PO maximizes ROI by managing value delivered with fixed iteration lengths by a stable team. Value is managed by:
- Product Vision: Combining a company’s strategic goals with its customers’ needs to create a product vision
- Prioritized Value: Creating high level requirements and prioritizing business needs by value with the help of the stakeholders
- Groomed Backlog: Writing user stories to manage production risk
- Release Planning: Predicting value earned per sprint and managing the product backlog to maximize delivered value
The Scrum Master - Leading without authority
The Scrum Master has no authority in the Scrum team. Influence is earned. He or she is a servant leader, facilitating the ceremonies and overseeing the Scrum process. It is a coaching role, analyzing progress to focus on incremental improvement over time and guiding the Teams to learn from experience through effective retrospection.
Development Team - Writing working software
Agile Development Teams measure progress through the delivery of working software.1 Effective agile Development Teams share three characteristics:
- They are cross-functional - all the skills required to build a complete production-ready product area represented in one Team
- They are small - from studies of team behavior, the optimum size for effective collaboration is 5-9 people; not too large so that communication becomes an issue, not so small that overhead is excessive
- They use an integrated development environment to create working, production-ready software within a Sprint, allowing merging and check-ins with automated tests on a regular basis
Why are there 3 ceremonies in Scrum?
To help Teams deliver working software at the end of a Sprint, there are three regular, time-boxed ceremonies, each with a single purpose and owner.
Estimation & selection
- The PO describes the sprint goal to give context surrounding the stories
- Each story is discussed with the Team, who estimate relative effort
- The Team select stories they will deliver within a sprint
Task break down
- Each story is broken down into the required technical tasks by the Team
The Team inform one another about what is working and what is not, and agree on how to address issues that threaten to slow progress against the sprint goal.
A Daily Scrum uses 15 minutes in which each team member answers three simple questions:
- What did you do yesterday?
- What will you do today?
- What is stopping you from delivering (more)?
The Daily Scrum is not a status report for a PO or stakeholder, but is a forum for the Team to work more closely together. Active participation is limited to the Team, with the Scrum Master facilitating; others may observe and contribute only if asked to by the Team.
Sprint Review & Retrospective
The last principle of the agile manifesto says “at regular intervals, the Team reflect on how to become more effective, then tune and adjust their behavior accordingly.” The Sprint Review is the ‘inspect’ part of the inspect & adapt process, in which the Team look at running software; the Retrospective is the ‘adapt’ part of the process, in which the Team make small changes to incrementally improve the product and the process.
Why are there just 3 artifacts?
The Scrum framework has developed over time, and through the incremental improvement central to all agile methods, waste has been stripped away.
The PO’s Product Backlog
The product backlog contains items, or business requirements, prioritized by relative business value. The backlog consists of the Why (requirement) and the What (user stories). The How, the technical tasks, is determined by the Development Team. Flexibility is maintained by using a just-in-time approach to breaking down the requirements. Requirements near the top of the backlog are broken down into multiple user stories, with the goal of having enough prepared user stories for just the next 1-2 sprints.
The Team’s Sprint Backlog
The Sprint Backlog contains stories that will not change during the sprint, allowing the Team to focus on delivering the selected stories. Outside the Sprint Backlog, the PO can re-prioritize stories if needed.
A good Sprint Backlog contains:
- 6-10 stories the Team selected for the sprint
- Just enough small tasks for the next few days (to limit risk of waste)
The Scrum board
- Visualizes the current activity in the Team
- Helps Team limit open and incomplete stories
The Scrum Master’s Burndown Chart
The Burndown Chart shows work that still needs to be done, allowing the Scrum- Master to manage the Scrum framework. The units used for the Burndown chart provide different information and levels of granularity:
- Completed User Stories, burning down User Story points, may show no change for days at a time
- Completed tasks, burning down ideal hours, should change daily, but can also burn up if additional tasks are uncovered and added to the backlog
Increase quality by regular, rapid feedback
The cost of debugging increases exponentially with the length of time after a bug is introduced; the earlier a bug is found, the cheaper and easier it is to solve. An underlying principle of agile development is to get feedback quickly and often to uncover defects early. Many agile development practices focus on decreasing the time taken to get feedback. This helps eliminate waste and build quality in. ...
Encouraging code ownership
Code ownership is the principle by which the Team take responsibility for the technical quality of the product. It means that the whole Team share responsibility for the code across the whole system.
Shared code ownership builds in redundancy, increases general knowledge of the system without sacrificing specialist expertise, increases quality and reduces time wasted chasing bugs.
Continually improve the design
Defining architecture upfront seems to be a good idea. The architect must think through the design, and can design for future growth. But this misunderstands the purpose of architecture; it is a service to those that develop the product, maximizing the Team’s ability to develop while meeting the business needs for the product in terms of non-functional requirements like performance under load or number of concurrent users.