We often get asked why Scrum has only 3 roles, 3 artifacts and 3 ceremonies. In fact, our customers simply want to know why Scrum works. In these slides we try to explain the principles behind the prescriptions of Scrum, in the form of 5 Whys: Why Scrum? Why 3 Roles? Why 3 Artifacts? Why 3 Ceremonies? And Why agile engineering practices support Scrum?
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
5 Whys of Scrum
1. 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.2 3 4
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 agile2
• Proven to improve quality and
productivity by 33% or more3
!"#
$!"#
%!"#
&!"#
'!"#
(!!"#
())*# ())&# ())'# $!!!# $!!$# $!!%# $!!)#
+,-./0# 12,../34/0# 5677//0/0#
Traditional IT project success rates.
Standish Chaos Reports, 1995-20094
www.agile42.com/5whys
1 Agile Software Development is Now Mainstream , Jan 22, 2010, CIO Magazine
2 Agile by the numbers: Survey finds more adoption, but age-old problems remain , Oct 27, 2009, SearchSoftwareQuality
3 Percentage fewer failures in agile vs. traditional projects, 2010 IT Project Success Rates Survey Results, Ambysoft
4 Success rates for IT projects taken from the Standish Chaos report (1995-2009)
2. 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.
Why Scrum works
Self-organizing teams in Scrum emerge because of
core values:
•Full bandwidth
communication
•Work commitment by
selection
•Delivering working
software
•Actions guided by
the big picture
www.agile42.com/5whys
3. What is Agile?1
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.
The volume of
code in everyday
products is
increasing
exponentially1
www.agile42.com/5whys
1 Why Dinosaurs Will Keep Running the Auto Industry , Harvard Business Review, June 2010
!"
#"
$"
%"
&"
'!"
#!!(" #!!)" #!'!"
!"#$%&'$()*+',$"-$./('0$"-$1"2'$
3*/../"(045$6$7,"89$-",$1"*7.'8/%95$/($
:",2$;'&/1.'0$&60$1&6(<'2$
!"
#"
$!"
$#"
%!"
&'()*+",-,"
./(012)*(/"
34(/0+("%!$!"
5'/6""
704)+08'*"
9:;<(1="%!!>"9?
@20;;"A(/B(6(;"
!"#$%&'(")*"+*,-.*/".')0*
1&.%#2').&3*%*4"&53*%)5*%*6"#$").),**
"+*,-.*7.&6.5.(*89!2%((**
:#'22'")*2').(*"+*6"5.;*
4. How agile are you?
• Do you use business value to prioritize
requirements?
• Do you have cross-functional Development
Teams?
• Do they deliver working software regularly?
• Do you review the process at the end of
each iteration?
• Are features small enough to be completed
in a short iteration?
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.1 Agile is lean applied to software development.
Lean thinking
• 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
www.agile42.com/5whys
1 Toyota used lean thinking in their manufacturing process to become the world s largest car manufacturer
5. 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 (PO) maximizes the return-
on-investment (ROI) of the product, measured
from idea conception to delivery to the paying
customer
• The Scrum Master continually improves the
development process, coaching the Scrum team
to become more productive, improve quality
and self-organize
• The Development Team manage the technical
quality of the product by nurturing practices
that reinforce shared code ownership
www.agile42.com/5whys
ROI
Process
Quality
6. The Business Value Game1 is used to estimate
relative value of high-level requirements:
• Prepare SMART2 requirements with support of
stakeholders to focus discussion
• Convene a Product Board with all product
stakeholders
• Estimate the relative value of each requirement
by discussing and ranking them together
• Write user stories for requirements at the top of
the backlog to deliver value as early as possible
The Product Owner - A value-driven role12
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
www.agile42.com/5whys
1 agile42 s Business Value game for estimating relative value is described in full online
2 SMART objectives are Specific, Measurable, Achievable, Relevant and Testable
7. Facilitating ceremonies
Focus on value: Timebox meetings, prioritize
discussion, coach participants to communicate
effectively
Oversee the process
• Understand Value: What is being delivered?
Make both delivered value and waste visible
• Understand Individuals: Expose inter-team
issues and help the Team to resolve the issues?
• Understand Process: Visualize the process
and focus on removing single largest bottleneck
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.
Stand behind
the team,
not in front
www.agile42.com/5whys
8. Striving for technical excellence
• Share a common Definition of Done for maintainability
• Use a Definition of Ready to prepare items in the backlog
• Encourage collective code ownership
• Build automated tests and integrate continuously
• Make quality of your code transparent to the whole Team
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
www.agile42.com/5whys
1 Agile Manifesto, Principle #7: Working software is the primary measure of progress
9. Owner Ceremony Purpose
Product Owner Sprint Planning Use value to prioritize next sprint by:
• Presenting just enough user stories for the next sprint (or 2)
• Guiding the Team on the purpose of the next sprints
• Estimating and selecting user stories for the sprint backlog
Scrum Master Daily Scrum Inspect & adapt progress towards sprint goal by:
• Minimizing number of open user stories
• Delivering done user stories before taking next story
• Maintaining balance between quality and value delivery
Development
Team
Sprint Review &
Retrospective
Inspect & adapt product and process by:
• Reviewing user stories by viewing working software
• Continually reviewing product against vision and sprint goals
• Improving process incrementally by small prioritized steps
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.
www.agile42.com/5whys
10. Sprint Planning
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
www.agile42.com/5whys
Limit risk of failure
In order to effectively plan releases and meet
customer needs in terms of delivery schedule and
feature sets, the PO needs to be able to predict the
productivity of the Team over time.
These practices that help the PO to manage risk:
• Sizing stories so 6-10 stories fit into a sprint
• Pulling, not pushing, stories from the backlog
• Keeping a steady cadence or rhythm to sprint
length
• Only accepting working, tested software
• Working with a visible and shared Definition of
Done, what it means to complete a user story
• Defining non-functional requirements implicit to
customer acceptance of the product
11. Daily Scrum
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:
1.What did you do yesterday?
2.What will you do today?
3.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.
The Daily Scrum highlights things to watch for,
and keeps the Team accountable to the sprint
goal.
www.agile42.com/5whys
The Daily Scrum
• Is short, time-boxed at 15 minutes
• Is held around the task board to keep focus
• Lets the Team inspect & adapt the plan for
the sprint
• Exposes issues that may need the Team to
swarm around and solve
12. 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.
Product improvement
As well as a product demonstration, the Team
inspect & adapt the product as a whole,
adapting practices and the product backlog as a
result.
Based on current results, progress can be
assessed and further investment planned.
Process improvement
After a Sprint Review, the Scrum team
inspect & adapt the process through a
retrospective, allowing an agile team to
incrementally improve the development
process.
www.agile42.com/5whys
Running a Retrospective
A Retrospective can be a challenging discussion.
To keep focussed and effective:
• Gather individual feedback on post-its in short
time boxes
• Balance positive and negative feedback from
everyone
• Separate idea generation from evaluation
• Prioritize ideas and select a few of the best
actions
13. 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 result?
Just 3 core artifacts or tools necessary to govern
Scrum:
• Product Backlog, with items prioritized by
value; owned by the PO
• Sprint Backlog, sub-set of product backlog
protected from change; owned by the Team
• Burndown Chart, visualization of work to be
completed; owned by the Scrum Master
www.agile42.com/5whys
14. Definition of Ready
Used to determine when a user story or work
item is ready to present to the Team, for
example:
• Stories follow the INVEST mnemonic1
• Small enough that one Team can select 6-10
stories in a sprint
• At least 3-4 Acceptance Criteria
The PO s Product Backlog1
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.
www.agile42.com/5whys
1 User stories that are Independent, Negotiable, Valuable, Estimable, Small, Testable
15. The Team s Sprint Backlog 1
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
• Highlights dependencies between tasks
• Shows time committed to tasks outside the
sprint goal
• Keeps focus, with ideally one activity or story
open at a time
Tools like Agilo1 help manage agile teams online,
ideal for distributed teams
www.agile42.com/5whys
1 Agilo is an open-source agile management tool, ideal for distributed teams
16. The Scrum Master s Burndown Chart1
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
Tools like Agilo1 can automate chart creation
Reading the Burndown Chart
• Visualizes work to be completed (y-axis)
• New tasks/stories move line up
• Trend line shows ideal task/story burndown
• Used by Scrum Master to focus Daily Scrum
• Sudden gradient drop hints at possible
technical debt
www.agile42.com/5whys
1 Agilo is an open-source agile management tool, ideal for distributed teams
17. Agile development principles
• Eliminate waste: Automate any repetitive
task, like acceptance testing or product build
• Regular, rapid feedback: make small
changes and test/integrate/build immediately
• Integrate early: difficulty of integrating new
code grows exponentially with size of change
• Code ownership: the Team develop code.
Work together, agree common standards
• Emerge design: avoid over-engineering -
only design and build what is required today
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.
Experience shows that effective Scrum teams
need software engineering practices aligned
with these management practices; short
iterations delivering working software are not
possible using traditional, big up-front design
followed by long develop and test cycles.
Other agile methodologies have focussed more on
the technical practices, and many successful
Scrum teams adopt agile development practices
like those described as part of the XP1 framework.
www.agile42.com/5whys
1 eXtreme Programming describes development practices such as pair programming, refactoring and continuous integration
18. Building code ownership
Signs that a Team is building a culture of shared
code ownership include:
• Knowledge sharing tasks on the task board not
directly related to delivering a new feature
• Design and architecture decisions made with
non-architects or designers in the Team
• Common use of pair programming to share
knowledge
• Shared, visible and continually updating
Definition of Done for user stories
• Selection of user stories outside area of
expertise of a Team (and successful delivery)
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.
Code ownership means:
• A common understanding of coding standards
and expectations
• Open communication between developers
• Building and sharing knowledge
• Practices that support rebuilding and emerging
design
www.agile42.com/5whys
19. 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.
Agile practices focus on regular, rapid feedback.
• Test-driven development builds a test
framework before the code is written
• Pair programming provides feedback as the
code is written
• Automated function or acceptance testing
feeds back as the features grow
• Continuous integration ensures functioning
builds and tests integration
Regular, rapid feedback increases code
quality by:
• Encouraging small, incremental code
changes
• Discouraging the works on my machine
mentality
• Making merging easier
• Visualizing code quality and shared coding
standards
• Focusing Team on writing working software
• Validating that the product is shippable
www.agile42.com/5whys
20. Refactoring legacy applications
You don t need 90% coverage to refactor:
• Build tests as you code
• Preferably write tests before you code
• Write code that does only what you need it to
• When you use legacy code, only test legacy
functionality exposed for the new feature
• Start with specific cases, and refactor to add
generalization or modularity
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.
Better to only design for what is right in
front of you. Provide a service to the
Development Team that makes
development smooth, quick and efficient.
When this is not enough, extend or
modify the architecture.
This serves two purposes. Obviously, it
reduces waste. Only the architecture that
is needed is built. But it also creates a continually
improving environment in which the architecture
can be modified and optimized to its current
purpose, rather than stretched and squeezed to
meet unplanned needs.
www.agile42.com/5whys