Professional Documents
Culture Documents
SM Workbook
SM Workbook
Thomas Bär
Version: 08/23
This manual has been crafted with great diligence and all links have been checked and come
without warranty of availability after this check date at the title page. If you find an error,
please email the author of this manual, and you will receive an invitation to a scoop of ice
cream of your choice. Contact: thomas.tb.baer@siemens-healthineers.com
Many of the designations used by manufactures and sellers to distinguish their products
are claimed as trademarks ™ or registered ®. Where those designations appear in this
workbook, and the author was aware of a trademark or registration claim, the designation
have been printed. All trademarks/registrations are used with respect to the owners rights.
The 2020 Scrum Guide™ and the 2021 Nexus™ Guide is used under
the Attribution Share-Alike license of Creative Commons, accessible at
https://creativecommons.org/licenses/by-sa/4.0/ legal code and also described in
summary form at https://creativecommons.org/licenses/by-sa/4.0. By utilizing this Scrum
and Nexus Guide, you acknowledge and agree that you have read and agree to be bound
by the terms of the Attribution Share-Alike license of Creative Commons.
©2020 Ken Schwaber and Jeff Sutherland for the Scrum Guide
©2021 Ken Schwaber for the Nexus Guide
SAFe® © Scaled Agile, Inc. see https://www.scaledagile.com/about/about-us
This workbook made with text set: LATEX and LYX.
Front page picture is a photo by Ian Keefe (https://unsplash.com/@iankeefe) on Unsplash
(https://unsplash.com/s/photos/lumberjack)
2
The difficulty lies not so much in developing new ideas as in escaping from old ones.—John
Maynard Keynes
There are only two things in a business that make money – innovation and marketing, every-
thing else is cost.—Peter Drucker
. . . a person and an organization must have goals, take actions to achieve those goals, gather
evidence of achievement, study and reflect on the data and from that take actions again. Thus,
they are in a continuous feedback spiral toward continuous improvement. This is what Kaizen
means.—W. Edwards Deming
3
Contents
instead of a foreword 6
I. Agile Development
3. agile practices 37
3.1 Cross–functional Teams, 38. 3.2 Approaches for Environment & Practices, 40. 3.3 In
Detail, 45. 3.4 Bibliography, 52.
4. scrum 56
4.1 History, 57. 4.2 Scrum Definition and Theory, 57. 4.3 Scrum Values, 61. 4.4 Scrum
Team, 64. 4.5 Scrum Events, 67. 4.6 Scrum Artifacts, 73. 4.7 When to use Scrum and
When it is Better not to use it, 76. 4.8 Cargo Cult & Zombie Scrum, 77. 4.9 Who can be
a Scrum Master?, 80. 4.10 Who can be a Product Owner?, 81. 4.11 Bibliography, 82.
4
Contents
8. kanban 90
8.1 History, 90. 8.2 Usage, 91. 8.3 Bibliography, 94.
9. scaling frameworks 96
9.1 Nexus™, 96. 9.2 Scaled Agile Framework (SAFe), 98. 9.3 LeSS, 103. 9.4 Bibliogra-
phy, 104.
V. Appendix
B. manifestos 132
B.1 Manifesto of Agile Software Development, 132. B.2 Manifesto of Agile Market-
ing, 134. B.3 The Manifesto of Agile Hardware Development, 135. B.4 The Manifesto of
Agile Sales, 135. B.5 Bibliography, 136.
5
Contents
an Existing Team, 140. C.4 Role of the Management, 140. C.5 Bibliography, 142.
G. measurement 160
G.1 Evidence-Based-Management, 160. G.2 Team Dashboard, 162. G.3 Project Dash-
board, 165. G.4 Bibliography, 166.
glossary 176
6
Instead of a Preface
In Scope
• What is Agile Development
• What is Scrum
• What is my job as Scrum Master
• How are these values, principles, and practices applied within Siemens Healthi-
neers
• What and how to measure
• Preparation for PSM I certification
Out of Scope1
• Software and hardware development techniques
• Architecture and system engineering techniques
• Working with senior management
• Leading change in general
This course is different from most courses you will take or have taken. attended before.
We divide the course into a preparation phase, a phase, and a follow-up phase. In the
preparation and (the knowledge acquisition phases) you will work alone, with a alone,
with a learning buddy or in a group. I provide texts and links to videos or websites for
you to work with. In You will also find exercises in this book. The Presence phase (the
understanding phase) is for applying and deepening the topics.
We will loosely follow the ideas of the book “Training from the BACK of the Room!”
[Bow09]. The idea of this book is to into four phases, with the "Connection" and "Con-
cepts" parts in the preparation "concepts" part in the preparation phase and the "comple-
tion" part in the part in the follow-up phase. The "concrete practice" is our part of the
attendance phase.
During our presence phase we work in small time units (also called boxes) that help
us to focus on the goal and the outcome.
This course is just the beginning of the Scrum Master’s Learning Path, which is a
journey into a new world and will change you think and work.
There is so much knowledge out there that needs to be consumed and digested before
you can apply it to your business. This way of working will help you survive in the
Agile/Scrum world after the course.
1
These items may be part of your Scrum Master learning journey.
7
Contents
Certification
Certification is very common in the Agile world. There are some registration organiza-
tions such as Scrum.org2 or Scrum Alliance3 . Both organizations offer certifications at
different levels and at different costs (one-time or annual fee). This course is a prepara-
tion course for the Scrum.org PSM I certification. Passing the exam will demonstrate the
mastery of the Scrum Master fundamentals.
• coaching
• moderation
• group facilitation
• personality types
• product management
• leadership
• transition management
2
https://www.scrum.org/professional-scrum-certifications
3
https://www.scrumalliance.org/get-certified
8
Contents
Learning Events4
There are a variety of learning opportunities to help you gain the knowledge you need,
including
• Agile Conferences
• Scrum Gatherings
• Meet-Ups
• Scrum Conferences
• Development Conferences
Bibliography
[Bow09] Sharon L. Bowman. Training from the BACK of the Room! John Wiley & Sons
Inc., 2009.
4
Conference Index (https://conferenceindex.org/conferences/agile)
5
A men’s backpack with a capacity of 30–60 liters.
6
A women’s backpack with a capacity of 30–50 liters.
9
Part I.
Agile Development
1
Don’t focus on delivering a whole list of things–
everything and the kitchen sink–focus on de-
livering what’s valuable, what people actually
want or need.
Jeff Sutherland
1.1. History
Iterative and incremental software development methods can be traced back as
early as 19572 , with evolutionary project management3 and adaptive software
development[Edm74] emerging in the early 1970s.[Gil81]
During the 1990s, a number of lightweight software development frameworks
evolved in reaction to the prevailing heavyweight methods/frameworks (often referred
to collectively as waterfall) that critics described as overly regulated, planned, and
micromanaged.[Swa00] These lightweight frameworks included:
• the unified process (UP) and dynamic systems development method (DSDM),
both from 1994;
• Crystal Clear and extreme programming (XP), both from 1996; and
1
http://www.agile-process.org/
2
Gerald M. Weinberg, as quoted in [LB03], “We were doing incremental development as early as 1957
in Los Angeles, under the direction of Bernie Dimsdale at IBM’s Service Bureau Corporation. He was
a colleague of John von Neumann, so perhaps he learned it there, or assumed it as totally natural. I do
remember Herb Jacobs (primarily, though we all participated) developing a large simulation for Motorola,
where the technique used was, as far as I can tell ... All of us, as far as I can remember, thought waterfalling
of a huge project was rather stupid, or at least ignorant of the realities. I think what the waterfall description
did for us was make us realize that we were doing something else, something unnamed except for ’software
development.”
3
“Evolutionary Project Management (Original page, external archive)”. Gilb. Archived from the original
on 27 March 2016. Retrieved 30 April 2017. and "Evolutionary Project Management (New page)". Gilb.
Retrieved 30 April 2017.
11
1. Agile Software Development
Although these all originated before the publication of the Agile Manifesto, they are now
collectively referred to as agile software development methods.[Lar04]
Already since 1991 similar changes had been underway in manufacturing4 [PML95]
and management thinking[San10] derived from Lean management.
In 2001, the Manifesto for Agile Software Development is published.1.3
In 2005, a group headed by Alistair Cockburn and James Highsmith III. wrote an
addendum of project management principles, the PM Declaration of Interdependence5 ,
to guide software project management according to agile software development methods.
In 2009, a group working with Robert C. Martin wrote an extension of software de-
velopment principles, the Software Craftsmanship Manifesto, to guide agile software
development according to professional conduct and mastery.
In 2011, the Agile Alliance created the Guide to Agile Practices (renamed the Agile
Glossary in 2016)6 an evolving open-source compendium of the working definitions of
agile practices, terms, and elements, along with interpretations and experience guidelines
from the worldwide community of agile practitioners.
1.2. Introduction
Agile development practices7 complements existing methods to address complex prob-
lems and does not devalue them.
4
Iacocca Institute (1991). "21st Century Manufacturing Enterprise Strategy: An Industry Led View".
Iacocca Institute, Lehigh University, Bethlehem, PA.
5
Anderson, David (2005). "Declaration of Interdependence". Archived from the original on 27 January
2018. Retrieved 4 October 2018.
6
McDonald, Kent (1 November 2016). "How You Can Help Agile Alliance Help You". Agile Alliance
Blog. Retrieved 4 July 2017.
7
Agile Software Development: eXtreme Programming (1980s–late 1990s), Adaptive Software Develop-
ment (mid-1990s), Dynamic Systems Development Method (DSDM), Crystal Clear, etc., and more general:
Scrum (mid-1990s)
12
1.2. Introduction
How much do you know about agile development? Check the phrases
that correctly complete the sentence.
• Clear—Here, the relationship between cause and effect is obvious to all. The
approach here is Sense (the problem)—Categorize (the problem)—Respond (to
the problem), and apply best practices because we have fixed or rigid constraints.
A best practice could be described by a template or a process.
• Complicated—Here, recognizing the relationship between cause and effect requires
analysis, another form of testing and/or the application of expertise (e.g., by using
experts to find the governing constraints). Here one proceeds according to the prin-
ciple Sense (the problem)—Analyze (the problem)—Respond (to the problem).
One can apply good practices (developed by experts).
• Complex—Here, the relationship between cause and effect can only be perceived
in hindsight, but not in advance. The approach is to Probe—Sense—Respond
approach, this can be seen in emergent practices (Agile Software Development,
eXtreme Programming, extreme manufacturing, etc.). We set the boundary condi-
tions so that we can find the first problem we need to solve.
• Chaotic—Here, there is no cause-and-effect relationship at the system level (but
there is one in the system environment, but it cannot be found experimentally).
8
For advantages and disadvantages of different development models, like waterfall, iterative, spiral and
v-model (see 1.5 on page 23)
9
https://en.wikipedia.org/wiki/Cynefin framework
13
1. Agile Software Development
Complex Complicated
enabling contraints, governing contraints,
loosely coupled tightly coupled
Emergent Practice Good Practice
probe–sense–respond sense–analyse–respond
Confusion
Chaotic Clear
lacking contraints, tightly contrainted,
de-coupled no degrees of freedom
Novel Practice Best Practice
act–sense–respond sense–categorize–respond
In the complex and chaotic context, sensing is used to answer the question, “How can
we make sense of the world so that we can act in it?”
To move from one domain to another, we must expend energy. How to put that energy
into the system to work with elements that live in the complex domain is the main part
of this training. So if you are looking for best or good practices, this training will not give
you many answers because they only exist for the ordered system type. By the way, if
you can find best practices and successfully apply them to your work, you have already
left the complex domain.
The simplified Stacey model11 can also be used to determine the system type by
10
Snowden, David J.; Boone, Mary E. (2007). A Leader’s Framework for Decision-Making. Harvard Business
Review. No. 85 (11): 68–76.
11
Ralph D. Stacey created the Stacey Matrix in 2001. See Complexity & The Stacey matrixfor the complete
model.
14
1.2. Introduction
12
https://en.wikipedia.org/wiki/Waterfall model
13
https://en.wikipedia.org/wiki/Semi-Automatic Ground Environment
14
for advantages and disadvantages see 1.5 on page 23
15
For more background information on cyclical approaches see [DS90].
16
E.g., Crystal Clear, DSDM, XP, Scrum, etc.
15
1. Agile Software Development
We apply this mindset to everything, both the product and the process that helps us
build the product. Without it, agile development will not be possible.
In 1997 Steven L. Goldman defined agility in business as “dynamic, context-specific,
aggressively, change-embracing, and growth-oriented. [Agility] is not about improving
efficiency, cutting costs, or battering down the business hatches to ride out fearsome
competitive ‘storms’. It is about succeeding and about winning: about arenas, and about
winning profits, market shares, and customers in the very center of the competitive
storms many companies now fear.” [Coc06](p. xxvi)
16
1.3. The Manifesto of Agile Software Development
The Manifesto of Agile Software Development19 is a list of four behaviors that agile
developers value and twelve principles. There are items that we consider more important
for project success—those on the left. This does not mean that the items on the right
side can be neglected, they may even be necessary for our product (depending on the
context). If we want to focus on the adaptability, we choose the items on the left.
In any work environment, there are people, work packages (also called projects) and
processes that need to fit together. We cannot focus on just one of these aspects. As
described in the Stacey Matrix, the type of process we use depends on the project and
the people doing it. The twelve principles of the Agile Manifesto articulate these aspects.
These principles are as important as the valued behaviors themselves.
The 12 Principles
Agile principles are a set of domain-specific guidelines for finding practices that are
consistent with agile values. The following agile principles work best in software devel-
opment.
People
More than half of the principles addressing people needs:
• Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software. → We work in an outcome-oriented manner rather than in
an output-oriented manner.
• Build projects around motivated individuals. Give them the environment and sup-
port they need, and trust them to get the job done. → A request to the management
and the organization.
• Business people and developers must work together daily throughout the project.
→ no silos
• The most efficient and effective method of conveying information to and within a
development team is face-to-face conversation. → We have to see the faces and the
body language, with that we get much more information20
17
1. Agile Software Development
• Simplicity — the art of maximizing the amount of work not done — is essential. →
Thinking deeply about a plain vanilla solution to the problem.
Processes
When we talk about processes, we must first talk about values and practices. Examples
of values are: from eXtreme Programming (XP): communication, feedback, simplicity
& courage. More generally, the most talked-about agile values are: minimalism, which
corresponds to simplicity21 , feedback, transparency, sustainability (or consistency), and
accountability.
• At regular intervals, the team reflects on how to become more effective, then tunes
and adjusts its behavior accordingly. → Create transparency, review & adapt →
Continually learn and incorporate that learning.
• Simplicity — the art of maximizing the amount of work not done — is essential.
→ Strive to find the simplest and most straightforward solutions to problems, avoid
unnecessary work and to prioritize delivering value quickly, but do not cut corners
or sacrifice quality.
Projects
When we talk about projects22 in the agile world, we do not mean projects in the sense of
phase-gated development, like shown in figure 1.3.1.
21
See also: https://www.agilealliance.org/glossary/rules-of-simplicity
22
We will see in a later chapter, that esp. big product development should not be seen as project anymore.
18
1.3. The Manifesto of Agile Software Development
Ideas
Scoping
Gate 1: management approval
Business Case
Gate 2: sounding business plan
Development
Gate 3: working prototype
Testing
Gate 4: final product down
Launch
Instead, we try to bring as many phases inside the cycle (named iteration), so that we
can learn as much as possible in a very short time (see empiricism). This also means
that we need different competencies in the team.
A
s na
ent ly
sis
m &
Initial Planning re
qui D
es
Re ig
n
Planning Implementation
Te n
sti tio Deployment
ng ua
al
Ev
19
1. Agile Software Development
• Simplicity — the art of maximizing the amount of work not done — is essential. →
what is really needed to make this project a success
• Produce running, tested, working, integrated software every two weeks, every
week. Build your skills until you can create a new fully operational version every
day, twice a day, multiple times a day.
• Keep the design of that software clean. As it grows, the design will tend to become
complex and crufty. Resist and reverse this tendency consciously, refactoring in
tiny continuous steps, all the time, so that your rate of progress is as steady and
consistent as possible.
23
From https://ronjeffries.com/articles/018-01ff/abandon-1/
20
1.4. Enlightened Approaches
• Use the current increment of software as the foundation for all your conversations
with your product leadership and management. Speak in terms of what’s ready to
go, and in terms of what they’d like you to do next
• Whatever your initiative, it involves changing the world just a little bit.
• The best ideas fail because of misunderstandings of how the world will react, or
because of errors in implementation.
• Collaborate
closely with others to generate and develop better starting ideas. Communicate
often to smooth transitions.
• Deliver
small probes initially to learn how the world really works. Expand deliveries as
you learn to predict and influence outcomes.
• Reflect
periodically, along the way. Think about what you’ve learned in your collaboration
and from your deliveries.
• Improve
the direction of your ideas, their technical implementation, and your internal
processes.
21
1. Agile Software Development
an outstanding culture. Today, it makes far more sense to bypass antiquated agility in
favor of modern approaches.
Modern agile methods are defined by four guiding principles:
World famous organizations like Google, Amazon, AirBnB, Etsy and others are living
proof of the power of these four principles. However, you don’t need to be a name brand
company to leverage modern agile wisdom.
22
1.5. Bibliography
1.5. Bibliography
[Adz12] Gojko Adzic. Impact Mapping: Making a Big Impact with Software Products and
Projects. Neuri Limited, 2012.
[B+ ] Kent Beck et al. Manifesto for Agile Software Development. last visited:
2021-02-09.
23
1. Agile Software Development
[DS90] Peter DeGrace and Leslie Hulet Stahl. Wicked Problems, Righteous Solutions —
A Catalogue of Modern Software Engineering Paradigms. Prentice-Hall, 1990.
[Gil81] Tom Gilb. Evolutionary development, page 17. Number 6 (2) in ACM SIGSOFT
Software Engineering Notes. 1981.
[Joh10] Steven Johnson. Where Good Ideas Come From: The Seven Patterns of Innovation.
Penguin Group, 2010.
[KH93] James M. Kerr and Richard Hunter. Inside RAD: How to Build a Fully Func-
tional System in 90 Days or Less, page 3. Macmillan, 1993.
[Lar04] Craig Larman. Agile and Iterative Development: A Manager’s Guide, page 27.
Addison-Wesley, 2004.
[LB03] Craig Larman and Victor R. Basili. Iterative and Incremental Development: A
Brief History, page 47–56. Number 36 (3) in IEEE Computer. 2003.
[New15] James Newkirk. Introduction to Agile (The Genesis). Agile Alliance, 2015.
last visited: 2021-02-09.
24
1.5. Bibliography
Additional Readings
[1] Wikipedia Article about Mental Modelshttps://en.wikipedia.org/wiki/Mental model
25
2
People who are more than casually interested
in computers should have at least some idea
of what the underlying hardware is like. Oth-
erwise the programs they write will be pretty
weird.
Donald Knuth
Procurement Lead Time While software teams have a relatively short “compile” step
that is part of the design-build-test cycle, hardware teams have a relatively long “procure”
step. Reducing the length of the procure steps is a key initiative in Lean New Product
Development (NPD) today, but we are not, and will not be, anywhere near being able
to procure parts and build assemblies in the few minutes it takes to compile software.
From the first day of a new project to its last minute changes, lead time is ever-present
and highly influential. This simple fact changes what we do and how we do it.
Component Cost Software development is almost entirely a labor cost. It’s not difficult
or expensive to give everyone full access to the latest and greatest version of the software
so they can test it. In hardware development, however, it costs a lot to give everyone who
needs it access to the latest and greatest hardware, and it takes longer to deliver those
units. Like lead time, component cost changes what we should be doing for maximum
profit.
Non-homogenous Work While software teams are made up of several different skill
sets, such as marketing, design, a few different engineering disciplines, and quality, hard-
ware teams are typically made up of these and many more. In addition to the software
that is increasingly present in new hardware products, there are often molded compo-
nents, optics, sheet metal, castings, cabling, piping, circuitry, assembly, and packaging
skills needed by different people who must stay in sync during product development.
There are other additional skills needed in hardware development, such as research
1
Chapter credits: https://www.playbookhq.co/blog/agile-hardware-development
26
2.2. Agile Values Applied
scientists, supply chain, manufacturing, receiving/inspection, and field service, that are
not typically involved in a software project. The list goes on.
The complexity of communication channels and keeping everyone in sync on such a
necessarily large team, as well as component lead time and cost, changes what we do in
hardware product development.
2
Chapter credits: https://www.playbookhq.co/blog/agile-values
27
2. Agile Hardware Development
In addition, as we will discuss in more detail in later posts, one of the main challenges
of applying Agile to hardware product development is the difficulty of breaking down
design tasks into small, distinct, manageable chunks. A good practice to address this
issue is to capture what we actually do on a daily basis, so that we can use that to guide
the breakdown and estimates the next time we do something similar. Again, minimizing
the effort is key, which is where a tool like Playbook can really help.
Since we are considering how these values apply to hardware product development,
we can replace "working software" with "working product". A working hardware product
is certainly of very high value, despite the increased value of good documentation. Again,
we just have to be careful to keep the documentation effort to a minimum so that we
can focus on making our product work. This can be minutes a day if we have the right
framework and tools.
28
2.3. Principles
(the end date) must be sufficiently accurate early on (so that it can be tracked without
significant cost).
2.3. Principles3
2.3.1. General Aspects
Software and hardware product development teams share important characteristics. It
took us decades to realize this, but now it seems pretty obvious. Those attributes are:
Hardware products are inherently highly integrated Another major cause of higher
change costs is the highly integrated nature of hardware products. With hardware
products, changes typically affect multiple (often many) components and processes.
Software teams have long understood and built modular architectures that limit the
ripple effect of each change. Object-oriented programming was born in the 50s.
Hardware teams have not solved the modularity problem because of the forces that
push us away from increased modularity. Increasing modularity typically increases
3
Chapter credits: https://www.playbookhq.co/blog/applying-agile-principles-4-12-hardware-
developmentand https://www.playbookhq.co/blog/making-hardware-development-more-agile
29
2. Agile Hardware Development
our costs of goods sold (COGS) and degrades system performance, including the of-
ten important weight and size of our product. These forces counteract the benefits of
modularization and push us back toward more costly changes.
The higher our change costs, the longer it takes to recoup those costs, and the longer
the payback period of each new change and release. This alone is enough to lengthen
optimal release cycles.
2.3.2. Our Highest Priority Is To Satisfy The Customer Through Early And
Continuous Delivery Of Valuable Product
In other words, our priority is to focus first and foremost on the early and continuous
delivery of valuable products to our customers. And here is the problem with this
principle, the continuous part, which is not necessarily optimal for most hardware
products.
Even among the most advanced product development companies, continuous delivery
is rarely the most profitable option. For example, in the four years that the iPad has been
on the market, there have only been five different models, even though the operating
system has been updated more frequently. Toyota releases new models every year.
The fact that it is usually not profitable to continuously release hardware products
to customers does not prevent us from developing the product more continuously (in
smaller batches) and so reducing the project risk and changing the meaning of delivering
value. We learn to de-batch our development processes. We de-batch our learning
into more frequent and extensive testing, and we de-batch our phase gates into more
individualized major milestones. The more continuous (de-batched) our risk burn-down,
the faster the product development system will flow, and the earlier and more profitable
our eventual product release will be. So we can rephrase the first principle to:
Our highest priority is to satisfy the consumer through early and continuous delivery
of value.
30
2.3. Principles
• Find places to build more modularity into our products - places that have a low
impact on our performance and are cost effective.
• Combine the first two keys and deliberately find ways to build modularity into
those high-risk places where we can expect change.
• Avoid change by having a good, healthy project risk management process and use
it to learn earlier.
And, of course, we need our economic models to help us quickly and effectively determine
which changes are worth the cost of change and which are not.
This leads us to the rephrased principle:
Working product is the primary measure of progress. Small lot sizes help us move
through the design-build-test (DBT) cycle relatively quickly. That is, we reduce our DBT
lot size by reducing the number of requirements we try to satisfy before we test. This
allows us to test sooner and keeps the undiscovered bug queue (unknown unknowns)
smaller. This helps us diagnose and fix problems faster and with more focus. More
31
2. Agile Hardware Development
Software Hardware
User Story Detailed Design Requirements
Mockup CAD Model
Function Piece Part (designed, not yet physical)
Line of Code Single Part or Process Specification (e.g., a dimension)
Table 2.1.: Design–Build–Test Cycles Terms in hard- and software development
importantly, we learn earlier where our unknown unknowns are, which ultimately helps
us complete our projects much faster.
In addition, we see that there are two types of bugs, those that we can find by testing
our product internally and those that can only be found by the customer in a customer
use test. These times also need to be taken into account.
32
2.3. Principles
This is where hardware teams need to complement agile principles with an effective
information framework. With this framework, we can more quickly transfer, even gener-
ate and translate information among a large group of people with very different ways of
thinking.
33
2. Agile Hardware Development
We simply can’t get better unless we look at the past and learn (change) from it. The
scientific method in its many forms (Plan-Do-Check-Act, Build-Measure-Learn, LAMDA,
A3 sheets, Design-Build-Test, and more) is very effective, but only if there is an experiment
(Check/Measure/Test) or some other form of reflection on what we have done.
Our products, development processes, and ultimately our profits will only improve
if we act on that reflection and actually tweak or adjust what we are doing. Profits will
grow faster if we do this more often because we shrink the batch size of information and
therefore realize value sooner.
Truly effective software and hardware teams do this at a daily cadence with daily
stand-up meetings. In 15 minutes, we reflect on the previous day and adjust our project’s
short-term plans, priorities, tasks, and resources to be more effective. We do it on a
weekly or bi-weekly cadence in team meetings to adjust our mid- and long-term project
plans. And we do it bi-weekly, monthly, quarterly, and/or annually to adjust and improve
our processes to be more effective.
34
2.4. Benefits of Agile Approaches
Reduced risk Continuous testing and iteration identify problems early in the devel-
opment process, reducing the risk of major setbacks later on.
Safety considerations Medical devices must meet high safety standards. Agile teams
must prioritize safety throughout development, building risk assessments and validation
processes into every iteration.
2.6. Examples
• Portable ultrasound devices, that offer real-time imaging for point-of-care diag-
nostics. Iterative testing with healthcare professionals allowed rapid refinement of
image quality and usability.
2.7. Bibliography
[GC14] Eliyahu M. Goldrat and Jeff Cox. The Goal: A Process of Ongoing Improvement.
The North River Press Publishing Coperation, 2014.
[HMO15] Jez Humble, Joanne Molesky, and Barry O’Reilly. Lean Enterprise — How
High Performance Organizations Innovate at Scale. O’Reilly, 2015.
35
2. Agile Hardware Development
[Kee23] Michael Keer. Agile Hardware Product Realization: Mastering the Journey from
Concept to Scale. self-published, 2023.
[Rie17] Eric Ries. The Lean Startup: How Today’s Entrepreneurs Use Continuous Inno-
vation to Create Radically Successful Businesses. Currency, 2017.
[SS20] Jeff Sutherland and Ken Schwaber. The Scrum Guide. scrum.org, 2020.
Additonal Reading
[1] Eric Graves: Lean Agile Project Management Blog
(https://www.playbookhq.co/blog/author/eric-graves)
36
3
Semantic diffusion occurs when you have a
word that is coined a person or group, often
with a pretty good definition, but then gets
spread through the wider community in a way
that weakens that definition. This weakening
risks losing the definition entirely - and with it
Agile Practices1
any usefulness to the term.
Martin Fowler
1
see also https://en.wikipedia.org/wiki/Agile software development#Agile software development methods
2
Rally (2010). "Agile With a Capital ”A” Vs. agile With a Lowercase ”a”". Archived from the original on
5 January 2016. Retrieved 9 September 2015
3
What is Agile Software Development?". Agile Alliance. 8 June 2013. Retrieved 4 April 2015.
4
Which is better – Kanban or Scrum?, 4 March 2016
37
3. Agile Practices
How much do you know about agile teams? Tick the sub-sentences that
correctly complete the sentence.
38
3.1. Cross–functional Teams
5
A Roman Legion (military unit of the Roman army - 4500 men) was divided into cohorts (480 men),
centuria (80 men), contubernium (8 men + 1 mule).
6
From: The Tipping Point by Malcolm Gladwell; N.B.: The number 150 is called Dunbar’s Number
7
In the agile literature the Team Coach is always female.
39
3. Agile Practices
1. We sequence (any work item , only work items that contain prod-
uct changes ).
2. We write the tasks in such a way that they describe (the value ,
the solution ).
8
All citations taken from [Bec04] (chap. 7, position 866–1153)
40
3.2. Approaches for Environment & Practices
3.2.1. Environment
Sitting Together We communicate with all our senses. For distributed teams, this is
more of a prediction “the more face time you have, the more humane and productive
the project” will be.
Whole Team We have included all the people in a team who have the skills and
perspectives to complete the project successfully.
Informative Workspace “An interested observer should be able to walk into the team
space and get a general idea of how the project is going, in fifteen seconds. He should be
able to get more information about real or potential problems by looking more closely.”
and have big visible charts e.g., to chart the resolution of an issue.
Energized Work “Work only as many hours as you can be productive and only as
many hours as you can sustain. Burning yourself out unproductively today and spoiling
the next two days’ work isn’t good for you or the team.” “Software development is a
game of insight, and insight comes to the prepared, rested, relaxed mind.”
Pairing and Personal Space It means that there is enough space to work together
and enough space to retreat, e.g. to reflect.
3.2.2. Practices
Pair Programming “[It] is a dialog between two people simultaneously programming
(analyzing, designing, and testing) and trying to program better” (see Pair Program-
ming9 @Agile Alliance for details). It support being able to compensate absences of
experts.
Stories “Plan using units of customer-visible functionality. ‘Handle five times the traffic
with the same response time.’ or ‘Provide a two-click way for users to dial frequently
used numbers.’. As soon as the story is written, try to estimate the development effort
necessary to implement it.” Stories have a short name and a longer description, we put
everything at an index card. While discussing them, we can add constraints to the card.
(The User Story will be discussed in more detail in chapter 11.)
Weekly Cycle A good idea is to plan the work for a week. At the beginning of each
week we review progress so far and talk about current and expected progress. We invite
the client to choose the stories that are worth a week’s work and divide them into tasks
that are signed off and appreciated by the team members. We create automated tests
9
https://www.agilealliance.org/glossary/pairing
41
3. Agile Practices
that are successful at the end of the week. (see \gls{bdd}10 aka. Acceptance Test-Driven-
Development, see [Sma14] and [Adz11] e.g., implemented with JBehave11 ). At the end
of the week we will have a deployable software and celebrate our success.
Quarterly Cycle We plan bigger goals e.g., closing bottlenecks that are out of the
team’s control, themes (which are subsequently filled with a series of stories worth a
quarter of the work). The outcome of this planning is to focus on the big picture of our
project/product. This is a good time to hold a reflection workshop.
Slack “In any plan, include some minor task that can be dropped if you get behind.
. . . it is important in an atmosphere of distrust and broken promises to meet your com-
mitments.” Slack can mean that 20% of the capacity of a developer could be used by
programmer-chosen tasks. (see Atlassian’s 20% Time Experiment12 )
Ten–Minutes Build “Automatically build the whole system and run all the tests in ten
minutes. A build that takes longer will be used much less often, missing the opportunity
for feedback. A shorter build doesn’t give you time to drink your coffee.” Additional
benefit: It is a stress reliever at crunch time.
Test–First Programming Simply put, write a failing test before changing the code.
Then write just enough code for the test to succeed. These tests support the ten-minute
build.
Incremental Design “Invest in the design of the system every day. Strive to make the
design of the system an excellent fit for the needs of the system that day.” “If small, safe
steps are how to design, the next question is where in the system to improve the design.”
Additionally, we find more practices coming from other sources:
42
3.2. Approaches for Environment & Practices
Estimation For sizing of the User Stories (11 on page 117) we will use relative sizing,
since humans are better in relative comparison than in absolute estimation14 .
For estimation, we will use the Fibonacci sequence15 (0, 1, 1, 2, 3, 5, 8, 13, 21, . . . ). The
recommendation is to find the small work package (which is then called reference story
or work package) and give it a 3 (or 5)16 . Now estimate every other work package in
relation to this.
Bugs Well, bugs get handled like any other work package, but additionally they will
get “kano-ed”17 (e.g., now, next, never). Now means, it is an incident, and has to be
fix immediately otherwise the system will no longer work. Next means, it will be fixed
during the upcoming cycle and never stands for delete it.
Iterations An iteration is the time box in which we do all the work for the product. An
iteration has always a clear focus, is sustainable, and is planned. It will be measured on
its outcome as well as on its performance to achieve this outcome. It contains as much
work as it is needed to fulfill the goal and achieve the outcome.
Specu
la
te
Learn
te
ra
bo
C o ll a
13
A mental model is an explanation of someone’s thought process about how something works in the
real world. It is a representation of the surrounding world, the relationships between its various parts and a
person’s intuitive perception about their own acts and their consequences. Mental models can help shape
behavior and set an approach to solving problems (similar to a personal algorithm) and doing tasks.
14
See https://www.agilealliance.org/glossary/relative-estimation
15
https://en.wikipedia.org/wiki/Fibonacci number
16
To have enough breathing room for all other work packages, smaller and bigger than this one
17
https://en.wikipedia.org/wiki/Kano model
43
3. Agile Practices
We do not record the team’s performance (how much work is done in the iteration) in
a performance report for management, but rather we will use this information for future
planning.
What is a good iteration length? Well, there is no all-time-right answer. There is an
idea how to find the optimal iteration length. If the market has a fast pace of changing
the time box has to be small, since we might have to change our mind along with the
market change frequency. At best, content changes happen at the edges of an iteration,
but not within it.18 Let’s have an example: If we would work in a 3-week iteration, in
a year we could change our mind (and get feedback) 17 times (52 weeks/3 weeks), if
we do 2-week iterations: 26 times and 1-week iterations: 52 times. If we work in a slow
changing market, we could go with longer iterations (up to 1 month, but not longer than
that)19 .
It is a good practice to ship as often as possible, at best every iteration. This will have
impact on our development process and will help us to reduce the cost of building and
shipping our product.
Daily Stand–up The Daily Stand–up is a daily meeting. It is kept very short (< 10
min). The focus is on the work the team is currently working on. It should help team
members finish the work and hold each other accountable. In the best case, the meeting is
in front of the board with all the tasks. We look at the work in progress and have people
announce what they are working on and where they are stuck.20 It is good practice for
everyone to speak up. [Coc06](p. 357)
44
3.3. In Detail
progress, and process.” [Coc06]22 . We could split the reflection workshop in two steps:
review and retrospective. The book “Agile Retrospectives” [DL06] contains a lot of nice
ideas how to run a retrospective. .
Definition of Done The Definition of Done is a living collection of checks, which are
needed to ensure the quality of our finished User Stories and features. By fulfilling the
checklist we state that the delivery is ready for the customer’s use.
“The team agrees on, and displays prominently somewhere in the team room, a list of
criteria which must be met before a product increment ‘often a user story’ is considered
‘done’. Failure to meet these criteria at the end of a sprint normally implies that the work
should not be counted toward that sprint’s velocity.”23 [SC+ 19] ¶82
3.3. In Detail
3.3.1. Pair Programming24
Styles25
Driver and Navigator These classic pair programming role definitions can be applied
in one way or another to many of the approaches to pairing.
The driver is the person at the wheel, that is, the keyboard. She is focused on accom-
plishing the tiny goal at hand, ignoring larger issues for the moment. A driver should
always talk through what she is doing as she does it.
The navigator is in the observer position while the driver is typing. She reviews the
code on the fly, gives directions, and shares thoughts. The navigator also keeps an eye
on larger issues, bugs, and notes potential next steps or roadblocks.
The idea of this role division is to have two different perspectives on the code. The
driver’s thinking is supposed to be more tactical, thinking about the details, the lines
of code at hand. The navigator can think more strategically in their observer role. They
have the big picture in mind.
A common flow goes like this:
• Start with a reasonably well-defined task
• Agree on one small goal at a time. This can be defined by a unit test, or by a commit
message, or written on a sticky note.
• Switch keyboards and roles regularly. Shared active participation keeps the energy
level up, and we learn and understand things better.
22
See also [Coc97]
23
Since the quote comes from a Scrum book, we find the word Sprint here, which is a Scrum term for
a time span of maximum 30 days. Definition of “Definition of Done”, first appearance of a “Definition of
Done” - 2002
24
Taken from: https://martinfowler.com/articles/on-pair-programming.html
25
Selection, more can be found under: https://martinfowler.com/articles/on-pair-programming.html
45
3. Agile Practices
• As navigator, avoid the "tactical" mode of thinking, leave the details of coding to
the driver-your job is to step back and complement your pair’s more tactical mode
with medium-term thinking. Park next steps, potential roadblocks, and ideas on
sticky notes and discuss them after the small goal is achieved, so as not to interrupt
the driver’s flow.
Time management In addition to the general styles for pairing, there are other little
tools and techniques that make it easier.
The Pomodoro Technique is one such tool. It is a time management technique that
breaks work into chunks of time - traditionally 25 minutes - separated by short breaks.
The technique can be applied to almost any of the pairing approaches described and will
keep you focused. Pairing can be an exhausting practice, so it is helpful to be reminded
to take breaks and switch keyboards periodically.
Here is an example of using the Pomodoro technique in practice.
• Set a timer for 25 minutes, using one of the many Pomodoro browser extensions,
or even a real kitchen timer shaped like a tomato
• Stop working when the timer goes off—start with short breaks (5–10 minutes)
26
https://llewellynfalco.blogspot.com/2014/06/llewellyns-strong-style-pairing.html
46
3.3. In Detail
• Use the short breaks to really take a break and recharge, get some water or coffee,
use the restroom, get some fresh air. Avoid using these short breaks for other work,
such as writing emails.
Pair Rotations Rotating pairs means that after working together for some time, one
half of the pair leaves the story while the other person brings someone new on board to
continue. The person who stays is often called the “anchor” of the story.
One category of reasons to rotate is logistics. Your pairing partner might be sick or
on vacation. Or one of you may be working remotely for a day, and the work requires a
physical presence on site, such as a hardware setup.
Another group of reasons to rotate is to mix things up. Either the two of you have
been working together for a while and are showing signs of “cabin fever” from spending
too much time together. Or you’re working on something very tedious and energy
draining - a rotation will give one of you a break, and a new person can bring some fresh
perspectives and energy.
Finally, the most commonly cited reason for pair rotations is to avoid knowledge silos,
increase collective code ownership, and get a little more code review on the road. Pairing
itself helps with these things, but rotations can further increase the average number of
eyes on each line of code that goes into production.
As for the ideal frequency of rotations, opinions vary. Some people believe that
rotations every 2–3 days are crucial to ensure sufficient knowledge distribution and
quality. However, every rotation comes at a cost. There’s the time it takes to bring a
new person up to speed, and the cost of a context switch for one of the two. Without a
constant anchor of continuity, there is an increased risk that tacit knowledge about the
problem and solution space will be lost, triggering rework. For more junior developers,
it’s sometimes more beneficial to stay on something longer, so they have enough time to
immerse themselves in a topic and give new knowledge time to take hold.
Think about the tradeoff between these costs and benefits. For example, let’s say you
already have a high quality of knowledge sharing, with team “shows and tells”, readable
code, and good documentation. In this case, insisting on frequent rotations may only
marginally improve your collective code ownership, while creating a lot of friction and
overhead.
Plan the Day Pairing requires a certain amount of scheduling and calendar coordina-
tion. If you don’t take the time to acknowledge and accommodate this, it will come back
to haunt you later in the day.
Start the day with a calendar check—agree with your pairing partner on how many
hours you will be pairing, and see if you need to schedule meetings or time to work on
other things outside of the pairing task. If it turns out that one of you will need to work
alone for a while, make sure you are prepared to continue without the other person, for
example, by not using that person’s computer to code.
If you have meetings or other commitments during the day, make sure you have a
reminder that you will be aware of them, especially if you are working on your pairing
47
3. Agile Practices
partner’s computer. If your team pairs by default, consider agreeing on regular “core
coding hours” for everyone. This will make scheduling much easier.
Physical Setup Pair programming means that you have to work very closely together
in the physical space of a shared desk. This is very different from having your own table
to spread out on. Being so close requires a certain level of respect and attention to each
other’s needs. So it pays to spend some time figuring out a setup that is comfortable for
both of you.
• Make sure you both have enough space, and clear out the desk if necessary.
• Is there enough room for both chairs in front of the desk? Move trash cans and
backpacks out of the way.
• Will you be using two keyboards or one? Same with the mouse, one or two? There’s
no hard and fast rule that always works, so we recommend that you try what works
best for you in each situation. Some of the factors that come into play are hygiene,
how well you can share keyboard time, or how much space you have available.
• Do you have an external monitor, or maybe even two? If not, you might consider
setting up some kind of screen sharing, like a remote pairing. In this setup, each of
you would use your own laptop keyboards.
• Check with your partner to see if he or she has any special preferences or needs
(e.g., larger font size, higher contrast, ...).
• If you have an unusual keyboard/IDE setup, check with your partner to see if they
are comfortable with it. See if there is an easy mechanism to switch your settings
back to a more standard configuration for these situations.
It’s helpful if your team can agree on a default setup so that you don’t have to discuss
these things over and over again.
For remote setup see On Pair Programming by Martin Fowler27 .
Things to Avoid The different approaches and techniques help you to have a better
pairing experience. Here are a some common pitfalls to avoid:
Drifting apart When you are pairing, avoid reading email or using your phone.
These distractions can be disrespectful to your pair, and they take you away from the
task you are working on. If you really need to check something, be transparent about
what you are doing and why. Make sure everyone has enough time to read their email
by taking adequate breaks and setting aside some individual time each day.
27
https://martinfowler.com/articles/on-pair-programming.html
48
3.3. In Detail
Impatience Use the “5 second rule”: If the navigator sees the dTest-Driven Devel-
opment (TDD) for Complex Systems Introductionriver doing something "wrong" and
wants to comment, wait at least 5 seconds before saying anything - the driver may already
have it in mind, then you are unnecessarily interrupting his flow.
As a navigator, don’t immediately point out an error or upcoming obstacle: Wait a bit
for the driver to correct it, or write a sticky note to remember it later. If you intervene
immediately, you may disrupt the driver’s thought process.
Keyboard Hogging Watch out for keyboard hogging: Are you controlling it all the
time and not letting your pairing partner type as well?
This can be a very annoying experience for your pair, and may cause them to have
difficulty focusing because of limited "active participation". Try one of the approaches
described above to make sure you switch keyboards frequently.
Pairing 8 Hours per Day Teams that are really committed to making pair program-
ming work sometimes end up pairing for 8 hours a day. In our experience, this is not
sustainable. First, it is just too exhausting. And second, it doesn’t even work in practice
because there are so many other things you do besides coding, like checking email, hav-
ing 1:1s, going to meetings, researching/learning. So keep that in mind when planning
your day and don’t assume that it will be 100% coding together.
Test-driven development cycle The following sequence is based on the book Test-
Driven Development by Example29 :
28
https://en.wikipedia.org/wiki/Test-driven development
29
From: [Bec02]
49
3. Agile Practices
1. Add a test
Adding a new feature starts with writing a test that passes if the feature’s specifica-
tions are met. The developer can discover these specifications by asking about use
cases and user stories. A key benefit of test–driven development is that it forces
the developer to focus on requirements before writing code. This is in contrast to
the common practice of writing unit tests after the code is written.
5. Refactor as needed, using tests after each refactor to ensure that functionality is
preserved
Refactor the code for readability and maintainability. In particular, hard-coded test
data should be removed. Running the test suite after each refactoring helps ensure
that no existing functionality is broken.
Refactoring examples:
• Move code to where it most logically belongs
• Remove duplicate code
• Make names self-documenting
• Break methods into smaller pieces
• Rearrange inheritance hierarchies
6. Repeat
The above cycle is repeated for each new piece of functionality. Tests should be
small and incremental, and commits should be frequent. That way, if new code
fails some tests, the programmer can simply undo or revert, rather than debug
excessively. When using external libraries, it is important not to write tests so small
that they effectively test only the library itself [NV04], unless there is reason to
believe that the library is buggy or not feature-rich enough to meet all the needs of
the software being developed.
50
3.3. In Detail
[ test ]
p u b l i c void add21and21equals42 ()
{
Calculator calculator = Calculator ();
A s s e r t . Equal ( 4 2 , answer ) ;
}
Test −Driven Development (TDD) f o r Complex Systems I n t r o d u c t i o n
class Calculator
{
p u b l i c i n t Add{ i n t l h s , i n t rh s )
{
return 42;
}
Anti-patterns
Dependence to previous test run Having test cases depend on system state ma-
nipulated from previously executed test cases (i.e., you should always start a unit test
from a known and pre-configured state).
Dependencies between test cases A test suite where test cases are dependent
upon each other is brittle and complex. Execution order should not be presumed. Basic
refactoring of the initial test cases or structure of the UUT causes a spiral of increasingly
pervasive impacts in associated tests.
51
3. Agile Practices
3.4. Bibliography
[Adz11] Gojko Adzic. Specification by Example: How Successful Teams Deliver the Right
Software. Manning Publication, 2011.
[B+ ] Kent Beck et al. Manifesto for Agile Software Development. last visited:
2021-02-09.
[DD08] Tore Dyba and Torgeir Dingsoyr. Empirical studies of agile software development:
A systematic review, pages 833–859. Information and Software Technology.
2008.
[DL06] Esther Derby and Diana Larsen. Agile Retrospectives: Making Good Teams
Great! Pragmatic Bookshelf, 2006.
[Lar04] Craig Larman. Agile and Iterative Development: A Manager’s Guide, page 27.
Addison-Wesley, 2004.
30
Test-Driven Development (TDD) for Complex Systems Introduction on YouTube by Pathfinder Solu-
tions: https://www.youtube.com/watch?v=0BWSms3J40Y
52
3.4. Bibliography
[LX10] Gwanhoo Lee and Weidong Xia. Toward Agile: An Integrated Analysis of
Quantitative and Qualitative Field Data on Software Development Agility, pages
87–114. MIS Quarterly. 2010.
[SC+ 19] Jeff Sutherland, James O. Coplien, et al. A Scrum Book. Pragmatic Bookshelf,
2019.
[Sma14] John F. Smart. BDD in Action: Behavior-driven development for the whole software
lifecycle. Manning Publication, 2014.
Additional Reading
Extreme Programming: http://www.extremeprogramming.org
53
Part II.
Agile Frameworks
55
4
I’m often amazed that a process I pioneered in
1993 to aid software development has proven
itself as universal applicable.
Jeff Sutherland
Scrum
Along with the course it is highly recommended to read the book “Scrum—The Art of
Doing Twice the Work in Half the Time” [Sut14] and the following section of “A Scrum
Book” [SC+ 19]1 :
• Conway’s Law ¶4
• Scrum Team ¶7
• Sprint ¶46
• MetaScrum ¶37
If you are looking for companies using the Scrum framework you will find a lot of
examples in “The Scrum Fieldbook” [Sut19] by J.J. Sutherland and what can be observed
by using the Scrum Framework.
Scrum is described in The 2020 Scrum Guide™. It is provide as PDF or can be read
online2 .
1
Also available online: http://www.scrumbook.org/
2
https://scrumguides.org.
56
4.1. History
4.1. History3
1986 Hirotaka Takeuchi and Ikujiro Nonaka publish their article “The New New Product
Development Game” in Harvard Business Review4 . The article describes a rugby
approach where “the product development process emerges from the constant
interaction of a hand-picked, multidisciplinary team whose members work together
from start to finish.” This article is often cited as the inspiration for the Scrum
framework.
1995 Ken Schwaber and Jeff Sutherland co-present Scrum at the OOPSLA Conference6
Purpose of the Scrum Guide7 We developed Scrum in the early 1990s. We Reading to Page 60
wrote the first version of the Scrum Guide in 2010 to help people worldwide under-
stand Scrum. We have evolved the Guide since then through small, functional updates.
Together, we stand behind it.
The Scrum Guide contains the definition of Scrum. Each element of the framework
serves a specific purpose that is essential to the overall value and results realized with
Scrum. Changing the core design or ideas of Scrum, leaving out elements, or not following
the rules of Scrum, covers up problems and limits the benefits of Scrum, potentially even
rendering it useless.
3
See also [SS20]
4
https://hbr.org/1986/01/the-new-new-product-development-game
5
http://www.jeffsutherland.com/scrum/FirstScrum2004.pdf
6
https://www.scrum.org/resources/scrum-development-process
7
https://scrumguides.org/scrum-guide.html#purpose-of-the-scrum-guide
57
4. Scrum
We follow the growing use of Scrum within an ever-growing complex world. We are
humbled to see Scrum being adopted in many domains holding essentially complex
work, beyond software product development where Scrum has its roots. As Scrum’s use
spreads, developers, researchers, analysts, scientists, and other specialists do the work.
We use the word “developers” in Scrum not to exclude, but to simplify. If you get value
from Scrum, consider yourself included.
As Scrum is being used, patterns, processes, and insights that fit the Scrum framework
as described in this document, may be found, applied and devised. Their description is
beyond the purpose of the Scrum Guide because they are context sensitive and differ
widely between Scrum uses. Such tactics for using within the Scrum framework vary
widely and are described elsewhere.
1. A Product Owner orders the work for a complex problem in a Product Backlog.
2. The Scrum Team turns a selection of work into an Increment of value during a
Sprint.
3. The Scrum Team and its stakeholders review the results and adjust them for the
next Sprint.
4. Repeat
Scrum is simple. Try it as is and determine if its philosophy, theory, and structure help
to achieve goals and create value. The Scrum framework is purposefully incomplete,
only defining the parts required to implement Scrum theory. Scrum is built upon by the
collective intelligence of the people using it. Rather than provide people with detailed
instructions, the rules of Scrum guide their relationships and interactions.
Various processes, techniques, and methods can be employed within the framework.
Scrum wraps around existing practices or renders them unnecessary. Scrum makes
visible the relative efficacy of current management, environment, and work techniques,
so that improvements can be made.
8
From: https://scrumguides.org/scrum-guide.html#scrum-definition
58
4.2. Scrum Definition and Theory
Scrum Theory9 Scrum is founded on empiricism and lean thinking (see figure:
The Deming Cycle). Empiricism asserts that knowledge comes from experience and
making decisions based on what is observed. Lean thinking reduces waste and focuses
on the essentials.
PL
T A
AC
N
CH
EC
O
D
K
Transpa
re
nc
A d a p ti o n
io y n
ct
Inspe
9
https://www.scrumguides.org/scrum-guide.html#scrum-theory
59
4. Scrum
Transparency
The emerging process and work must be visible to both, those who do the work and
those who receive the work. In Scrum, important decisions are based on the perceived
state of the three formal artifacts (Product Backlog, Sprint Backlog and Increment, see
page 73 et sqq.). Artifacts that lack transparency can lead to decisions that reduce value
and increase risk.
Inspection
The Scrum artifacts and the progress toward agreed goals (see Product and Sprint
Goal at page 73 et sqq.) must be inspected frequently and diligently to detect potentially
undesirable variances or problems. To help with inspection, Scrum provides cadence in
the form of its five events.
Adaptation
If any aspects of a process deviate outside acceptable limits or if the resulting product is
unacceptable, the process being applied or the materials being produced must be adjusted.
The adjustment must be made as soon as possible to minimize further deviation.
Adaptation becomes more difficult when the people involved are not empowered or
self-managing. A Scrum Team is expected to adapt the moment it learns anything new
through inspection.
60
4.3. Scrum Values
A 1986?
B 1995?
C 2017?
D 2020?
Successful use of Scrum depends on people becoming more proficient in living five Reading to
values: Page 63
Commitment, Focus, Openness, Respect, and Courage.
The Scrum Team commits to achieving its goals and to supporting each other. Their
primary focus is on the work of the Sprint to make the best possible progress toward these
goals. The Scrum Team and its stakeholders are open about the work and the challenges.
Scrum Team members respect each other to be capable, independent people, and are
respected as such by the people with whom they work. The Scrum Team members have
the courage to do the right thing, to work on tough problems.
These values give direction to the Scrum Team with regard to their work, actions, and
behavior. The decisions that are made, the steps taken, and the way Scrum is used should
reinforce these values, not diminish or undermine them. The Scrum Team members learn
and explore the values as they work with the Scrum events and artifacts. When these
values are embodied by the Scrum Team and the people they work with, the empirical
Scrum pillars of transparency, inspection, and adaptation come to life building trust.
[SS20]
To make it even more clear which behavior should be shown in accordance with the values:
10
https://www.scrumguides.org/scrum-guide.html#scrum-values
61
4. Scrum
• Focus means; Do not deviate from the Sprint Goal by doing even tiny little things (“this I
can do, it will not take long”) outside the commitment. These will derail your focus.
• Openness means; stick to your problems and address them, because as Taiichi Ohno said:
“Having no problems is the worst problem of all”. Openness helps us to make them visible
and known to all, both in the team and in the organization. Psychological safety is not
created by keeping silent and hiding problems. It is created by people talking about problems,
even if it means having to endure a tough discussion.
• Respect means; taking all people in the organization as they are, with all their weaknesses
and strengths, their misunderstandings and mistakes, their resistance and willingness.
Treat all people with the respect with which you would like to be respected. Help overcome
the culture of blame. Remember Kerth’s primer: “Regardless of what we discover, we
understand and truly believe that everyone did the best job they could, given what they
knew at the time, their skills, and abilities, the resources available, and the situation at
hand.”11 Let’s replace the 5-Whos by the 5-Whys.
• “Courage involves the ability to take action and carry on even when we are afraid. No
matter how big or consequential a given step may be, that step cannot be said to involve
courage if we are not afraid to take it. It may show how smart we are, how energetic, how
focused; but not how brave. It is action in the face of fear that demonstrates courage.”[KL09]
Commitment
Focus
Openness
Respect
Courage
62
4.3. Scrum Values
If we were to stack these values, courage would be the foundation, followed by respect,
openness, and focus, with commitment at the top. Demanding commitment without
living up to the other four values and exhibiting the appropriate behavior for them
creates an unstable structure.
Practice [Timebox: 15 min]
1-2-4-Alla : What would a lived value look like? How will team members
behave, communicate (2 dimensions)? Use the notes box.
4. We present the results from all groups in the class room. (5 min)
Notes:
a
https://liberatingstructures.de/liberating-structures-menue/1-2-4-all/
63
4. Scrum
Notes:
Scrum Team12
Reading to Page 66 The fundamental unit of Scrum is a small team of people, a Scrum Team. The Scrum
Team consists of one Scrum Master, one Product Owner, and Developers. Within a Scrum
Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused
on one objective at a time, the Product Goal.
Scrum Teams are cross-functional, meaning the members have all the skills necessary
to create value each Sprint. They are self-managing, meaning they internally decide who
does what, when, and how.
The Scrum Team is small enough to remain nimble and large enough to complete
significant work within a Sprint, typically 10 or fewer people. In general, we have found
that smaller teams communicate better and are more productive. If Scrum Teams become
too large, they should consider reorganizing into multiple cohesive Scrum Teams, each
focused on the same product. Therefore, they should share the same Product Goal,
Product Backlog, and Product Owner.
The Scrum Team is responsible for all product-related activities from stakeholder
collaboration, verification, maintenance, operation, experimentation, research and devel-
opment, and anything else that might be required. They are structured and empowered
by the organization to manage their own work. Working in Sprints at a sustainable pace
improves the Scrum Team’s focus and consistency.
The entire Scrum Team is accountable for creating a valuable, useful Increment ev-
ery Sprint. Scrum defines three specific accountabilities within the Scrum Team: the
Developers, the Product Owner, and the Scrum Master.
12
https://www.scrumguides.org/scrum-guide.html#scrum-team
64
4.4. Scrum Team
Developers Developers are the people in the Scrum Team that are committed to creat-
ing any aspect of a usable Increment (4.6 on page 75) each Sprint (4.5 on page 68).
The specific skills needed by the Developers are often broad and will vary with the
domain of work. However, the Developers are always accountable for:
• Creating a plan for the Sprint, the Sprint Backlog (4.6 on page 74);
• Adapting their plan each day toward the Sprint Goal(4.6 on page 75); and,
Product Owner The Product Owner is accountable for maximizing the value of the
product resulting from the work of the Scrum Team. How this is done may vary widely
across organizations, Scrum Teams, and individuals.
The Product Owner is accountable for effective Product Backlog management, which
includes:
The Product Owner may do the above work or may delegate the responsibility to others.
Regardless, the Product Owner remains accountable.
For Product Owners to succeed, the entire organization must respect their decisions.
These decisions are visible in the content and ordering of the Product Backlog, and
through the inspectable Increment at the Sprint Review.
The Product Owner is one person, not a committee. The Product Owner may represent
the needs of many stakeholders in the Product Backlog. Those wanting to change the
Product Backlog can do so by trying to convince the Product Owner.
Scrum Master The Scrum Master is accountable for establishing Scrum as defined
in the Scrum Guide. They do this by helping everyone understand Scrum theory and
practice, both within the Scrum Team and the organization.
The Scrum Master is accountable for the Scrum Team’s effectiveness. They do this by
enabling the Scrum Team to improve its practices, within the Scrum framework.
Scrum Masters are true leaders who serve the Scrum Team and the larger organization.
The Scrum Master serves the Scrum Team in several ways, including:
65
4. Scrum
• Helping the Scrum Team focus on creating high-value Increments that meet the
Definition of Done;
• Ensuring that all Scrum events take place and are positive, productive, and kept
within the time-box.
The Scrum Master serves the Product Owner in several ways, including:
• Helping find techniques for effective definition of the Product Goal and the man-
agement of the Product Backlog;
• Helping the Scrum Team understand the need for clear and concise Product Backlog
items;
a
https://www.scrumguides.org/scrum-guide.html#scrum-team
66
4.5. Scrum Events
2. The Sprint is used (as container for all activities towards , for
developing ) the product.
4. The Scrum Team commits the Sprint Backlog , the Sprint Goal .
6. The Scrum Team uses the Sprint Review to (determine future adap-
tations , approve the set plan ).
7. The Product Owner (takes part , does not take part ) in the
Sprint Retrospective.
The Sprintitself, is a container for all other events. Each event in Scrum is a formal Reading to Page 72
opportunity to inspect and adapt Scrum artifacts. These events are specifically designed
to enable the transparency required. Failure to operate any events as prescribed results
in lost opportunities to inspect and adapt. Events are used in Scrum to create regularity
and to minimize the need for meetings not defined in Scrum.
Optimally, all events are held at the same time and place to reduce complexity.
13
https://www.scrumguides.org/scrum-guide.html#scrum-events
67
4. Scrum
The Sprint Sprints are the heartbeat of Scrum, where ideas are turned into value.
They are fixed length events of one month or less to create consistency. A new Sprint
starts immediately after the conclusion of the previous Sprint.
All the work necessary to achieve the Product Goal, including Sprint Planning, Daily
Scrums, Sprint Review, and Sprint Retrospective, happen within Sprints.
During the Sprint:
• Scope may be clarified and renegotiated with the Product Owner as more is learned.
Sprint Planning Sprint Planning initiates the Sprint by laying out the work to be
performed for the Sprint. This resulting plan is created by the collaborative work of the
entire Scrum Team.
The Product Owner ensures that attendees are prepared to discuss the most important
Product Backlog items and how they map to the Product Goal. The Scrum Team may
invite other people to attend Sprint Planning to provide advice.
Sprint Planning addresses the following topics:
Topic One: Why is this Sprint valuable?
The Product Owner proposes how the product could increase its value and utility
in the current Sprint. The whole Scrum Team then collaborates to define a Sprint Goal
that communicates why the Sprint is valuable to stakeholders. The Sprint Goal must be
finalized prior to the end of Sprint Planning.
Topic Two: What can be Done this Sprint?
Through discussion with the Product Owner, the Developers select items from the
Product Backlog to include in the current Sprint. The Scrum Team may refine these items
during this process, which increases understanding and confidence.
68
4.5. Scrum Events
Selecting how much can be completed within a Sprint may be challenging. However,
the more the Developers know about their past performance, their upcoming capacity,
and their Definition of Done, the more confident they will be in their Sprint forecasts.
Topic Three: How will the chosen work get done?
For each selected Product Backlog item, the Developers plan the work necessary to
create an Increment that meets the Definition of Done. This is often done by decomposing
Product Backlog items into smaller work items of one day or less. How this is done is at
the sole discretion of the Developers. No one else tells them how to turn Product Backlog
items into Increments of value.
The Sprint Goal, the Product Backlog items selected for the Sprint, plus the plan for
delivering them are together referred to as the Sprint Backlog.
Sprint Planning is time-boxed to a maximum of eight hours for a one-month Sprint.
For shorter Sprints, the event is usually shorter. [SS20]
In Sprint Planning, developers use the velocity14 from previous Sprints to pull work packages
from the Product Backlog into the Sprint Backlog. Now, developers begin to look at implementation
details and, if desired, create tasks and estimate them in hours. Then developers can calculate
the available capacity (total developer time minus vacation, holidays, meetings, and other non-
development activities) in hours and compare it to the total planned effort of the tasks. If this is
too high, the excess work is moved back to the product backlog. Developers can now agree on a
sprint goal with the PO and commit to it. It is important to remind the developers to commit only
to this goal, and not to the individual work packages (as these can change in each Daily Scrum).
Sprint Planning is prepared in Backlog Refinements.
Sprint Planning should not be used for detailed solution discussions, that is a task for the
Sprint. It should not be used to divide the work among the team members, as this would contradict
the pull principle. We do not consider the fair workload of all team members who cannot contribute
directly to this sprint, they use the time to participate in another work package.
The Scrum Master makes sure that the Sprint Planning takes place, he makes sure that the
developers don’t get bogged down and that the discussions don’t get too detailed. The Scrum
Master has a more passive role, being available for explanations and helping to set the Sprint Goal
at the end of the planning. Sprint Planning is done by the developers.
Daily Scrum The purpose of the Daily Scrum is to inspect progress toward the Sprint
Goal and adapt the Sprint Backlog as necessary, adjusting the upcoming planned work.
The Daily Scrum is a 15-minute event for the Developers of the Scrum Team. To reduce
complexity, it is held at the same time and place every working day of the Sprint. If the
Product Owner or Scrum Master are actively working on items in the Sprint Backlog,
they participate as Developers.
The Developers can select whatever structure and techniques they want, as long as
their Daily Scrum focuses on progress toward the Sprint Goal and produces an actionable
14
Number of Story Points of completed work packages in the last Sprint.
69
4. Scrum
plan for the next day of work. This creates focus and improves self-management.
Daily Scrums improve communications, identify impediments, promote quick decision-
making, and consequently eliminate the need for other meetings.
The Daily Scrum is not the only time Developers are allowed to adjust their plan.
They often meet throughout the day for more detailed discussions about adapting or
re-planning the rest of the Sprint’s work. [SS20]
We check daily to see how well we are progressing toward our Sprint Goal. The work packages
and task cards are just a reminder of the content of the work. The bottom line is to answer the
question of what do as a team in the next 24 hours to get closer to or reach our our sprint goal.
Without a sprint goal, this will be difficult15 , because the team is missing the common goal.
In addition, obstacles should be addressed and if possible solved or at least mitigated within the
next 24 hours. Whereby only address obstacles that prevent the sprint goal from being from being
achieved. All others end up in the Retrospective.
In Daily Scrum we want to achieve a good information saturation, because this speeds up
decision making enormously, since everyone has the same information. When using a task board,
the status should be updated during the event, but it should not become the only the sole purpose
of the Daily Scrum. Technical discussions are rather undesirable, since the only purpose is to plan
for the next 24 hours. These can be done after the Daily Scrum.
The Daily Scrum is run by the developer, the Scrum Master makes sure it happens but does not
but does not moderate and has a more passive role. role. The PO has a passive role, participates,
and answers questions about the Sprint Goal and work packages.
Sprint Review The purpose of the Sprint Review is to inspect the outcome of the
Sprint and determine future adaptations. The Scrum Team presents the results of their
work to key stakeholders and progress toward the Product Goal is discussed.
During the event, the Scrum Team and stakeholders review what was accomplished
in the Sprint and what has changed in their environment. Based on this information,
attendees collaborate on what to do next. The Product Backlog may also be adjusted to
meet new opportunities. The Sprint Review is a working session and the Scrum Team
should avoid limiting it to a presentation.
The Sprint Review is the second to last event of the Sprint and is time-boxed to a
maximum of four hours for a one-month Sprint. For shorter Sprints, the event is usually
shorter. [SS20]
15
As a Scrum Master you should take notes if the Daily Scrum is not considered to be valuable, because
then ONE Sprint Goal could be missing for the whole team. for the whole team.
70
4.5. Scrum Events
The Scrum Team inspects how the last Sprint went in regard to individuals, interactions,
processes, tools, and their Definition of Done. Inspected elements often vary with the
domain of work. Assumptions that led them astray are identified and their origins
explored. The Scrum Team discusses what went well during the Sprint, what problems
it encountered, and how those problems were (or were not) solved.
The Scrum Team identifies the most helpful changes to improve its effectiveness. The
most impactful improvements are addressed as soon as possible. They may even be
added to the Sprint Backlog for the next Sprint.
The Sprint Retrospective concludes the Sprint. It is time-boxed to a maximum of three
hours for a one-month Sprint. For shorter Sprints, the event is usually shorter. [SS20]
The Sprint Review and Sprint Retrospective are the two parts of the reflection workshop. We
stop our daily work and look at the quality (the what) of the Sprint outcome and the path (the
how) to the Sprint outcome. We do this whether or not we have achieved the Sprint Goal. Based
on the results of these two events, the Product or Sprint Backlog is changed.
Sprint Review
A Sprint Review without stakeholders makes no sense. Stakeholders need to make decisions
that may affect the Product Backlog. Simply moving work packages around is common, but not in
the spirit of the method. We decide for each unfinished work package whether to continue it, split
it, or count it as completed because the value has already been created with the existing subset of
the original plan. The Sprint Review is a great learning opportunity: for the developers, how well
they understood and implemented what the stakeholders and the PO wanted; for the PO and the
stakeholders, what the state of delivery is and how well they were able to express what they wanted.
The developers show the stakeholders and the PO what they have created, and the stakeholders
and the PO, decide what still needs to be done or changed and add it to the backlog. They decide
what can be removed from the backlog.
The following questions are examples the Scrum team needs to answer in order to have a good
sprint review:
• What product are we integrating our increment into, or what is our increment, and who is
consuming it?
71
4. Scrum
as PowerPoint-free as possible. It is good practice for the Developers to show something that the
stakeholders and PO can touch, try out, etc.
Always remember Humphrey’s Law: “Basically, people don’t know what they want until they
see what they don’t want. You can get them write down their wishes in documents thousands of
pages long, but until they actually see something that works, they don’t really know what they
want.” [Sut19] Please do not fight Humphrey’s law, it is better to embrace it.
Sprint Retrospective
Even though the Scrum Team, says that we talk about improving the development process every
day, we should take a break from the regular work. During the Sprint Retrospective we should
dig deeper into the root causes of problems during a Sprint Retrospective (up to 3 hours). In
particular, the deferred (non-urgent) obstacles from the Daily Scrum should be looked at in the
Sprint Retrospective.
If the Scrum Team members are only complaining, it would be useful to start writing down the
positive experiences. In the first Sprint Retrospectives is is useful to talk about how to keep the
velocity stable and to focus only on that in the first Sprints.
The Sprint Retrospective should be a ritual and not be skipped (even if the Scrum Team says
there is nothing to reflect on). Regular topics here could be: stabilizing velocity,, limiting parallel
work (Work-in-Progress (WIP)), stakeholder involvement etc.
The Scrum Master makes sure that the Sprint Retrospective takes place. Any member of
the Scrum Team can facilitate. The Product Owner and the Scrum Master participate as team
members when they are not facilitating.
Notes:
72
4.6. Scrum Artifacts
1. The Increment is the result of (one Sprint , this Sprint and all
former Sprints ).
Scrum Artifacts18
Scrum’s artifacts represent work or value. They are designed to maximize transparency Reading to Page 75
of key information. Thus, everyone inspecting them has the same basis for adaptation.
18
https://www.scrumguides.org/scrum-guide.html#scrum-artifacts
73
4. Scrum
These commitments exist to reinforce empiricism and the Scrum values for the Scrum
Team and their stakeholders.
Product Backlog The Product Backlog is an emergent, ordered list of what is needed
to improve the product. It is the single source of work undertaken by the Scrum Team.
Product Backlog items that can be Done by the Scrum Team within one Sprint are
deemed ready for selection in a Sprint Planning event. They usually acquire this degree
of transparency after refining activities. Product Backlog refinement is the act of breaking
down and further defining Product Backlog items into smaller more precise items. This
is an ongoing activity to add details, such as a description, order, and size. Attributes
often vary with the domain of work.
The Developers who will be doing the work are responsible for the sizing. The Product
Owner may influence the Developers by helping them understand and select trade-offs.
Commitment: Product Goal The Product Goal describes a future state of the
product which can serve as a target for the Scrum Team to plan against. The Product
Goal is in the Product Backlog. The rest of the Product Backlog emerges to define “what”
will fulfill the Product Goal.
The Product Goal is the long-term objective for the Scrum Team. They must fulfill (or
abandon) one objective before taking on the next.
Sprint Backlog The Sprint Backlog is composed of the Sprint Goal (why), the set of
Product Backlog items selected for the Sprint (what), as well as an actionable plan for
delivering the Increment (how).
The Sprint Backlog is a plan by and for the Developers. It is a highly visible, real-time
picture of the work that the Developers plan to accomplish during the Sprint in order
to achieve the Sprint Goal. Consequently, the Sprint Backlog is updated throughout
the Sprint as more is learned. It should have enough detail that they can inspect their
progress in the Daily Scrum.
74
4.6. Scrum Artifacts
Commitment: Sprint Goal The Sprint Goal is the single objective for the Sprint.
Although the Sprint Goal is a commitment by the Developers, it provides flexibility in
terms of the exact work needed to achieve it. The Sprint Goal also creates coherence and
focus, encouraging the Scrum Team to work together rather than on separate initiatives.
The Sprint Goal is created during the Sprint Planning event and then added to the
Sprint Backlog. As the Developers work during the Sprint, they keep the Sprint Goal in
mind. If the work turns out to be different than they expected, they collaborate with the
Product Owner to negotiate the scope of the Sprint Backlog within the Sprint without
affecting the Sprint Goal.
Increment An Increment is a concrete stepping stone toward the Product Goal. Each
Increment is additive to all prior Increments and thoroughly verified, ensuring that all
Increments work together. In order to provide value, the Increment must be usable.
Multiple Increments may be created within a Sprint. The sum of the Increments is
presented at the Sprint Review thus supporting empiricism. However, an Increment may
be delivered to stakeholders prior to the end of the Sprint. The Sprint Review should
never be considered a gate to releasing value.
Work cannot be considered part of an Increment unless it meets the Definition of Done.
End Note Scrum is free and offered in this Guide. The Scrum framework, as outlined
herein, is immutable. While implementing only parts of Scrum is possible, the result is
not Scrum. Scrum exists only in its entirety and functions well as a container for other
techniques, methodologies, and practices.
75
4. Scrum
Scrum is a managing framework for agile development. It is a perfectly match for the
development of complex software and hardware systems in a complex environment (1
on page 11). It requires a product backlog that is stable for at least some time in the
future so that at least one Sprint can be planned. It requires all the competencies in a
single team to transfer the product backlog items into value.
If you work in a service organization with constantly changing (short term) tasks,
the use of Scrum will fall far short of its potential. In this case it is better to apply other
approaches e.g., Kanban (8 on page 90).
If you handle most of the times non-complex problems (1.2 on page 13) then get help
from experts or have an action plan.
If Scrum is applied to developments that do not meet the prerequisites, this can easily
lead to a so-called Zombie Scrum.
76
4.8. Cargo Cult & Zombie Scrum
Background20
Cargo cults are marked by a number of common characteristics, including a ‘myth-dream’
that is a synthesis of indigenous and foreign elements, the expectation of help from the
ancestors, charismatic leaders, and lastly, belief in the appearance of an abundance of
goods.[Ott09] The indigenous societies of Melanesia were typically characterized by a
‘big man’ political system in which individuals gained prestige through gift exchanges.
The more wealth a man could distribute, the more people who were in his debt, and the
greater his renown. Those who were unable to reciprocate were identified as ‘rubbish
men’.
Faced, through colonialism, with foreigners with a seemingly unending supply of
goods for exchange, indigenous Melanesians experienced ‘value dominance’. That is,
they were dominated by others in terms of their own (not the foreign) value system, and
exchange with foreigners left them feeling like rubbish men.[Sch76]
Since the modern manufacturing process is unknown to them, members, leaders, and
prophets of the cults maintain that the manufactured goods of the non-native culture
have been created by spiritual means, such as through their deities and ancestors. These
goods are intended for the local indigenous people, but the foreigners have unfairly
gained control of these objects through malice or mistake. Thus, a characteristic feature
of cargo cults is the belief that spiritual agents will, at some future time, give much
valuable cargo and desirable manufactured products to the cult members.[Har74]
Symbols associated with Christianity and modern Western society tend to be incor-
porated into their rituals: For example, the use of cross-shaped grave markers. Notable
examples of cargo cult activity include the setting up of mock airstrips, airports, airplanes,
offices, and dining rooms, as well as the fetishization and attempted construction of
Western goods, such as radios made of coconuts and straw. Believers may stage ‘drills’
and ‘marches’ with sticks for rifles and use military-style insignia and national insignia
painted on their bodies to make them look like soldiers. Thereby treating the activities
of Western military personnel as rituals to be performed for the purpose of attracting
the cargo.”
19
Lindstrom, Lamont (29 March 2018). "Cargo cults". Cambridge Encyclopedia of Anthropology.
doi:10.29164/18cargo.
20
https://en.wikipedia.org/wiki/Cargo cult
77
4. Scrum
Cargo cult can be particularly evident in behaviors that mimic an observed behavior
without recognizing the reasons for that behavior.
For example, we can hold a daily scrum or a regular sprint review without having
even the slightest effect. If we don’t understand why we should exhibit a behavior, we
become zombies and Scrum becomes Zombie Scrum.
If we only use the Scrum Guide as a checklist to establish the 3-5-3 elements, we can
easily end up in a Cargo Cult, which we will call Zombie Scrum here.
It looks like Scrum, we have all accountabilities (Product Owner, Scrum Master, De-
velopers) in the team. We plan at the beginning of the Sprint, we hold a Daily Scrum,
and have a Sprint Review and Sprint Retrospective at the end of the Sprint. We have a
Product Backlog and a Sprint Backlog, maybe even a Product Goal and a Sprint Goal
(4.6 on page 73). All that and all the problem-solving work is done in short time frames.
Everything is fine? Maybe we see the following signs:
Scrum teams
https://shop.theliberators.com/collections/zombie-scrum/zombie-scrum-experiments#MainContent
78
4.8. Cargo Cult & Zombie Scrum
• Continuous Improvement
– we create a monthly newsletter with all impediments
– we do root cause analysis and work on root causes23
– we try to improve only 15% for now24
– we focus on the things we want to stop doing25
• Self Organization
– we question processes23
– we identify where we see overlap between team autonomy and collaboration
with the organization26
– we create a list of rules for self-organization27
– we clearly express our requests for help28
– we create meaningful sprint goals by challenging them in planning29
These activities could beat back the zombies, but they could always regroup and find
new gaps, so stay alert.
22
Guerrilla testing is an approach to test your user interfaces by using colleagues in your team who are
not involved in the development of the UI, give them some tasks/scenarios to execute with the UI, and
observe their interactions. This might last only 15 min. https://www.userbrain.com/blog/7-step-guide-
guerrilla-usability-testing-diy-usability-testing-method
23
https://www.liberatingstructures.com/4-wicked-questions/
24
https://www.liberatingstructures.com/7-15-solutions/
25
https://www.liberatingstructures.com/6-making-space-with-triz/
26
https://www.liberatingstructures.com/29-integrated-autonomy/
27
https://www.liberatingstructures.com/14-min-specs/
28
https://www.liberatingstructures.com/16-helping-heuristics/
29
https://www.liberatingstructures.com/12-2510-crowd-sourcing/
79
4. Scrum
80
4.10. Who can be a Product Owner?
• Collaborative
Work with the Developers and all stakeholders; get to know them. Give them your
mobile number, so they can write or call at any time. Participate during the Sprint
81
4. Scrum
and give feedback when needed, not only at the Sprint Review. You are a member
of the Scrum Team.
• Representative
Develop empathy for stakeholders and clients. Give them a voice when they are not
present. Create and present a product vision that accurately reflects these needs.
Be the Scrum team’s representative to management. Remain steadfast even when
the pressure to deliver is constantly increasing.
• Authorized
You have the authority to make all product-related decisions regarding scope, sched-
ule, and budget. Make the final decision if stakeholders cannot reach agreement,
and trust that you can adjust your path later when you have more information.
• Committed
Product responsibility is a full-time job. Stay committed to the product, the Scrum
Team, the stakeholders and the quality. Stay true to the vision, the values, the
validation and the empirical process. Don’t let anything throw you off track.
• Knowledgeable
Know your field and learn all the time. Work closely with users and professionals
to fill knowledge gaps. Keep up to date with the latest technology trends. Study
the market and the competition to stay ahead.
4.11. Bibliography
[Bec02] Kent Beck. Test Driven Development: By Example. Addison-Wesley Profes-
sional, 2002.
[Bur69] Kenelm Burridge. New Earth: A study of Millenarian Activities, page 65–72.
Basil Blackwell, 1969.
[Har74] Marvin Harris. Cows, Pigs, Wars, and Witches: The Riddles of Culture, pages
133–152. Random House, 1974.
[KL09] Robert Kegan and Lisa Laskow Lahey. Immunity to Change: How to Overcome
It and Unlock the Potential in Yourself and Your Organization (Leadership for the
Common Good). Harvard Business Review Press, 2009.
[MJ18b] Don McGreal and Ralph Jocham. The Professional Product Owner, chapter 9,
page 319. Addison-Wesley, 2018.
82
4.11. Bibliography
[Ott09] Ton Otto. What happened to Cargo Cults? Material Religions in Melanesia and
the West, page 90. Number 53 (1) in Social Analysis. 2009.
[SC+ 19] Jeff Sutherland, James O. Coplien, et al. A Scrum Book. Pragmatic Bookshelf,
2019.
[SS20] Jeff Sutherland and Ken Schwaber. The Scrum Guide. scrum.org, 2020.
[Sut14] Jeff Sutherland. Scrum — The Art of Doing Twice the Work in Half the Time.
Penguin Random House, 2014.
[TT03] Barry Turner and Richard Turner. Balancing Agility and Discipline: A Guide
for the Perplexed. Addison-Wesley, 2003.
[Wat13] Geoff Watts. Scrum Mastery - From Good to Great Servant Leadership. Inspect
& Adapt Ltd, 2013.
Additional Reading
[1] Henrik Kniberg and Mattias Skarin. Kanban and Scrum - Making the Most of Both.
2009
[2] Donald Reinertsen. The Principles of Product Development Flow. Celeritas Publishing.
2009
[3] Ladas Corey. Scrumban and other essays on Kanban System for Lean Software develop-
ment. Modus Cooperandi Press. 2008
[4] Esther Derby and Diana Larsen. Agile Retrospective: Making Good Teams Great!.
Pragmatic Bookshelf. 2006
[5] Kenneth S. Rubin. Essential Scrum: A Practical Guide to the Most Popular Agile
Processes. Addison-Wesley. 2013
83
4. Scrum
Videos
[1] Empiricism is an Essential Element of Scrum https://youtu.be/q603WTOSYDk
Blog Posts
[1] SCRUM: An extension pattern language for hyperproductive software development
(http://jeffsutherland.org/scrum/scrum plop.pdf), first paper about Scrum by
Mike Beedle
84
5
In any given moment we have two options: to
step forward into growth or to step back into
safety.
Abraham Maslow
5.1. Bibliography
[HMO15] Jez Humble, Joanne Molesky, and Barry O’Reilly. Lean Enterprise — How
High Performance Organizations Innovate at Scale. O’Reilly, 2015.
[Jus21] Joe Justice. Scrum Master: The Agile Training Seminar for Business Performance.
self-published, 2021.
[Rie17] Eric Ries. The Lean Startup: How Today’s Entrepreneurs Use Continuous Inno-
vation to Create Radically Successful Businesses. Currency, 2017.
[SP19] Matthew Skelton and Manuel Pais. Team Topologies: Organizing Business and
Technology Teams for Fast Flow. IT Revolution Press, 2019.
[SS20] Jeff Sutherland and Ken Schwaber. The Scrum Guide. scrum.org, 2020.
85
6
Failure is not fatal, but failure to change might
be.
John Wooden
Risk Assessment Integrate risk assessments and validation testing into each Sprint to
ensure that safety and compliance concerns are addressed.
86
6.2. Example: Wikispeed
2. Modularity: The modular design of WikiSpeed vehicles allows for easy customiza-
tion and upgrades. This aligns with agile principles of adaptability and responding
to changing needs.
1
https://wikispeed.com/
87
6. Scrum in Hardware Development
WikiSpeed’s success highlights how agile principles can be applied beyond software
development and in innovative contexts such as automotive engineering. It showcases
the potential for accelerated development, efficient resource utilization, and community
collaboration through the agile methodology.
6.3. Bibliography
[HMO15] Jez Humble, Joanne Molesky, and Barry O’Reilly. Lean Enterprise — How
High Performance Organizations Innovate at Scale. O’Reilly, 2015.
[Jus21] Joe Justice. Scrum Master: The Agile Training Seminar for Business Performance.
self-published, 2021.
[Rie17] Eric Ries. The Lean Startup: How Today’s Entrepreneurs Use Continuous Inno-
vation to Create Radically Successful Businesses. Currency, 2017.
[SP19] Matthew Skelton and Manuel Pais. Team Topologies: Organizing Business and
Technology Teams for Fast Flow. IT Revolution Press, 2019.
[SS20] Jeff Sutherland and Ken Schwaber. The Scrum Guide. scrum.org, 2020.
88
Scrum Outside the Software Organization
7
Here are some examples of application of Scrum outside the software development:
• eduScrum:
https://www.eduscrum.nl
– Vision of eduScrum:
https://www.eduscrum.nl/img/Shu Ha Ri Path international ENs.pdf
– Scrum for Education - Experiences from eduScrum and Blueprint Education:
https://www.infoq.com/articles/scrum-education
– Scrum4Schools: Wie fuehrt man Scrum in der Schule ein?
https://www.borisgloger.com/blog/2019/05/10/scrum4schools-wie-fuehrt-
man-scrum-in-der-schule-ein
89
8
Of course, speed is most useful if it is in the
correct direction.
David J. Anderson
Kanban
8.1. History
Kanban in Lean Manufacturing
The system originates from the simplest visual stock replenishment signaling system, an
empty box. This was first developed in the UK factories producing Spitfires airplanes
during the Second World War, and was known as the “two bin system”. In the late
1940s, Toyota started studying supermarkets with the idea of applying shelf-stocking
techniques to the factory floor. In a supermarket, customers generally retrieve what they
need at the required time—not more, not less. Furthermore, the supermarket stocks
only what it expects to sell in a given time, and customers take only what they need,
because future supply is assured. This observation led Toyota to view a process as being
a customer of one or more preceding processes and to view the preceding processes as a
kind of store.
Kanban aligns inventory levels with actual consumption. A signal tells a supplier to
produce and deliver a new shipment when a material is consumed. This signal is tracked
through the replenishment cycle, bringing visibility to the supplier, consumer, and buyer.
Kanban uses the rate of demand to control the rate of production, passing demand from
the end customer up through the chain of customer-store processes. In 1953, Toyota
applied this logic in their main plant machine shop. [Ohn88]
1
https://en.wikipedia.org/wiki/Theory of constraints
90
8.2. Usage
(items) in the system. These points are summarized in his book on second-generation
lean product-development [Rei09]2 back in 2009.
In the following years combinations and fields of application of Kanban where ex-
plored e.g., Scrumban [Cor08], Personal Kanban [BB11], Agile Project Management with
Kanban [Bre15] (p. 160), Kanban Change Leadership [LK15].
In 2016 Lean Kanban University Press published a condensed guide to the method,
incorporating improvements and extensions from the early Kanban projects [AC16] and
in 2018 the method was complemented by the Kanban Maturity Model [AB18].
8.2. Usage
How much do you know about Kanban? Check the sub-sentences that
correctly complete the sentence.
Kanban Principles
The idea behind Kanban is to establish a work-in-process limited pull system to find the Reading until page
bottleneck (constraint) in the system and remove them from the system. If you have 94
an existing Scrum implementation you will enjoy the additional benefits from applying
Kanban principles and core practices [KS].
The principles are:
2
supported by [Rei98], [Rei97]
91
8. Kanban
• Limit WIP3
• Manage flow
Visualize Scrum teams often visualize the flow of work by visualizing all the steps
needed from the idea identification to the customer is using the product (–increment)6 .
This is then looking similar to this:
But let’s start with the basics. A Personal Kanban board helps to get an overview on
workflow states per person:
Limit Work in Progress Now that the team has visualized its workflow a Kanban
system can be installed by adding WIP limits7 .
3
To calculate the WIP (work-in-procress) limit chapter G on page 160
4
http://www.agile-process.org/model.html
5
The scientific method is an empirical method for acquiring knowledge that has character-
ized the development of science since at least the 17th century (with notable practitioners in
previous centuries; see the article history of scientific method for additional detail.) from:
https://en.wikipedia.org/wiki/Scientific method
6
We can visualize the full value stream across the organization.
7
The Sprint limits the number of work items only, but not the parallel work.
92
8.2. Usage
When a limit is reached, no additional Product Backlog Item (PBI) can be pulled into
this column. The Developers have to free up capacity for new items by doing work
downstream, i. e. working from right to left, starting with the column “release” and ask,
what can be finished now.
If the Scrum Team would run a board without WIP limits, work will pill up in some
columns of the systems while others columns will run idle. By limiting the work in
each process step it will create a continuous flow of work items and so have a better
throughput in the system [Rei09]. To stabilize the flow it is required to limit the inflow
of each column where work in pilling up. This will be done by working upstream8 .
WIP limits
• are represented by the numbers in each column (main or sub-column) that repre-
sent the maximum numbers of work items per column.
• should be as low as painful, to trigger the need of improving the Kanban system, e.g.,
by reducing batch size [Rei09]or introduce Acceptance Test-Driven-Development.
• can be read from a cumulative flow chart (section G.3 on page 165)
Manage Flow As soon as the Kanban is established managing of the flow of the work
items will start, by using a continuous improvement process, which will especially follow
up on the bottlenecks (or constraints) in the system. (see Theory of Constraints in
[GC14] and [CS10]). This can be done by using a Cumulative Flow Diagram (section
G.3 on page 165) or just be looking for work pilling up.
Make policies (processes) explicit The team clearly states exit criteria for each column,
e.g., like the Definition of Done (DoD) for moving items into the “Done” column.
Implement feedback loops The Scrum team will use the regular Scrum events to
collect the feedback from the stakeholders.
8
From right to left on the board.
93
8. Kanban
8.3. Bibliography
[AB18] David J. Anderson and Teodora Bozheva. Kanban Maturity Model. Lean
Kanban University Press, 2018.
[AC16] David J. Anderson and Andy Carmichael. Essential Kanban Condensed. Lean
Kanban University Press, 2016.
[AD15] David J. Anderson and Dragos Dumitriu. From worst to best in 9 months:
Implementing a drum-buffer-rope solution at microsoft’s it department.
TOC ICO World Conference November 2005, 2015. Retrieved 24 September
2020.
[And10] David J. Anderson. Kanban: Successful Evolutionary Change for Your Technology
Business. Blue Hole Press, 2010.
[BB11] Jim Benson and Tonianne DeMaria Barry. Personal Kanban: Mapping Work,
Navigating Life. Modus Cooperandi Press, 2011.
[Bre15] Eric Brechner. Agile Project Management with Kanban. Microsoft Press, 2015.
[Bur14] Mike Burrows. Kanban From The Inside. Blue Hole Press, 2014.
94
8.3. Bibliography
[Cor08] Ladas Corey. Scrumban and other essays on Kanban System for Lean Software
development. Modus Cooperandi Press, 2008.
[CS10] James F. Cox and John G. Schleier. Theory of Constraints Handbook. Mcgraw-
Hill Professional, 2010.
[GC14] Eliyahu M. Goldrat and Jeff Cox. The Goal: A Process of Ongoing Improvement.
The North River Press Publishing Coperation, 2014.
[KS] Henrik Kniberg and Mattias Skarin. Kanban and Scrum - Making the Most
of Both. last visited: 2021-02-09.
[LK15] Klaus Leopold and Siegfried Kaltenecker. Kanban Change Leadership. John
Wiley & Sons, 2015.
[Ohn88] Taiichi Ohno. Toyota Production System: Beyond Large-Scale Production. Pro-
ductivity Press, 1988.
[Rei97] Donald Reinertsen. Managing the Design Factory. Free Press, 1997.
[Rei98] Donald Reinertsen. Developing Products in Half the Time. Van Nostrand
Reinhold, 1998.
[Rot09] Mike Rother. Toyota Kata: Managing People for Improvement, Adaptiveness and
Superior Results. McGraw-Hill Education Ltd, 2009.
95
9
Size clearly matters. You probably couldn’t run
an XP (Extreme Programming) Project with a
hundred programmers. Nor 50. Nor 20, proba-
bly. Ten is definitely doable. . .
Kent Beck
Scaling Frameworks
Reading on Developing multi-layered products like MRI, CT or X-ray machines in a very short
page 103 time requires many teams & suppliers to work together.
We need a supporting architecture that allows us to divide the product into functional
groups and develop these functional groups with individual teams as independently as
possible.
Finally, if our organization is going to apply agile principles and values, we need to
scale the necessary practices.
In general, we focus on managing the dependencies between teams using the ideas and
practices from these frameworks for scaling agility: Nexus™, SAFe®, LeSS, Scrum@Scale,
Spotify Engineering Model, and others.
We will pick the two used at Siemens Healthineers to illustrate the scaling aspects.
9.1. Nexus™
Nexus™ is described in the Nexus™ Guide1 and bases on the ideas of Scrum and
enhancing it.
“A Nexus is a group of approximately three to nine Scrum Teams that work together
to deliver a single product; it is a connection between people and things. A Nexus has a
1
See https://www.scrum.org/resources/nexus-guide
96
9.1. Nexus™
single Product Owner who manages a single Product Backlog from which the Scrum
Teams work.”2
“Nexus extends Scrum in the following ways:
• Accountabilities: The Nexus Integration Team ensures that the Nexus delivers
a valuable, useful Integrated Increment at least once every Sprint. The Nexus
Integration Team consists of the Product Owner, a Scrum Master, and Nexus
Integration Team Members (the appropriate members from the Scrum Teams).
• Events: Events are appended to, placed around, or replace regular Scrum events to
augment them. As modified, they serve both the overall effort of all Scrum Teams
in the Nexus, and each individual team. A Nexus Sprint Goal is the objective for
the Sprint.
• Artifacts: All Scrum Teams use the same, single Product Backlog. As the Product
Backlog items are refined and made ready, indicators of which team will most likely
do the work inside a Sprint are made transparent. A Nexus Sprint Backlog exists
to assist with transparency during the Sprint. The Integrated Increment represents
the current sum of all integrated work completed by a Nexus.”3
With Nexus, we add an accountability: The Nexus Integration Team, which is account-
able for ensuring that an integration happens at least once per Sprint. If there are
integration issues, the Nexus Integration Team Members will be selected by their skill
and knowledge to resolve this issue, i.e., the composition of the Nexus Integration Team
might change over time.
As for the Nexus events we will not change the Sprint, but we now have a Cross-Team
Refinement. The Product Backlog has to be prepared to show the dependencies. The PBIs
have to fit into on Sprint for a single Scrum Team. The Nexus Sprint Planning will help to
coordinate the activities in a single Sprint. It is held prior to the actual individual team
sprint planning sessions to identify, remove or minimize the interdependencies between
teams.
“The result of Nexus Sprint Planning is:
• a Nexus Sprint Goal that aligns with the Product Goal and describes the purpose
that will be achieved by the Nexus during the Sprint
• a Sprint Goal for each Scrum Team that aligns with the Nexus Sprint Goal
• a single Nexus Sprint Backlog that represents the work of the Nexus toward the
Nexus Sprint Goal and makes cross-team dependencies transparent
• A Sprint Backlog for each Scrum Team, which makes transparent the work they
will do in support of the Nexus Sprint Goal”4
2
From: https://www.scrum.org/resources/online-nexus-guide
3
From: https://www.scrum.org/resources/online-nexus-guide
4
From: https://www.scrum.org/resources/online-nexus-guide
97
9. Scaling Frameworks
The Nexus Daily Scrum is used to identify integration issues as well as inspecting the
progress toward the Nexus Sprint Goal. It will be joined by team representatives. Plans
might be adapted to new information. Changing plans hasn’t to be a one time per
day activity, it could happen at any time. The Nexus Sprint Review is used alike to the
Scrum Review, but replaces the individual team Sprint Review in favor of the integrated
Increment of all Scrum Teams. The Nexus Sprint Retrospective is used in addition to the
Team Sprint Retrospectives to improve the Nexus. It concludes the Sprint.
The Nexus handles the Artifacts like in Scrum but now with another scale. The
Product Backlog might now contain bigger items, but is still the single source of truth. The
commitment for the Product Backlog is still the Product Goal. The Nexus Sprint Backlog
contains all PBIs and Sprint Goals from all Scrum Teams. It shows the dependencies
and gets constantly updated. The commitment of the Nexus Sprint Backlog is the Nexus
Sprint Goal, which is a single objective for the whole Nexus. Last but not least we have
the Integrated Increment with its commitment the Definition of Done.
98
9.2. Scaled Agile Framework (SAFe)
Deployment (Continuous Deployment (CD)). By applying DevOps practices the gap be-
tween development and operations gets closed and Release on Demand will be possible.
If the product gets too big to be delivered by a single ART, the Core Competency
of “Enterprise Solution Delivery” comes into play. A Solution Train7 now coordinates
multiple ARTs and suppliers and will deliver large, complex solutions. The Solution
Management has the backlog authority for the solution. The Solution Architect coordi-
nates the architecture across ARTs and the Solution Train Engineer (STE) is the coach of
Solution Train and will facilitate the Solution Train events.
To connect strategy and execution Lean Portfolio Management(LPM) is used. LPM
provides Strategic Themes and a Portfolio Vision to align solution development with the
enterprise strategy. LPM helps to create and fund value streams for product delivery.
Organizational Agility will enable the organization to create agility beyond develop-
ment (Business Agility) and helps to create lean-agile thinking people.
Relentless improvement will be supported by the Core Competency of Continuous
Learning Culture.
All this is build upon Lean-Agile Leadership who have to embody, teach and exhibit a
mindset, values, and principles of lean and agile.
“Delivering the ’best value and quality for people and society in the shortest sustainable
lead time’ requires a fundamental understanding of the economics of building systems.
Everyday decisions must be made in a proper economic context. This includes the
strategy for incremental value delivery and the broader economic framework for each
value stream. This framework highlights the trade-offs between risk, Cost of Delay (CoD),
manufacturing, operational, and development costs. In addition, every development
value stream must operate within the context of an approved budget, and be compliant
to the guardrails which support decentralized decision-making.” ©Scaled Agile, Inc.
99
9. Scaling Frameworks
“Deming observed that addressing the challenges in the workplace and the marketplace
requires an understanding of the systems within which workers and users operate. Such
systems are complex, and they consist of many interrelated components. But optimizing
a component does not optimize the system. To improve, everyone must understand
the larger aim of the system. In SAFe, systems thinking is applied to the system under
development, as well as to the organization that builds the system.” ©Scaled Agile, Inc.
“Traditional design and life cycle practices encourage choosing a single design-and-
requirements option early in the development process. Unfortunately, if that starting
point proves to be the wrong choice, then future adjustments take too long and can lead
to a suboptimal design. A better approach is to maintain multiple requirements and
design options for a longer period in the development cycle. Empirical data is then used
to narrow the focus, resulting in a design that creates optimum economic outcomes.”
©Scaled Agile, Inc.
“Developing solutions incrementally in a series of short iterations allows for faster cus-
tomer feedback and mitigates risk. Subsequent increments build on the previous ones.
Since the ‘system always runs’, some increments may serve as prototypes for market
testing and validation; others become Minimum Viable Products (MVPs). Still others
extend the system to with new and valuable functionality. In addition, these early, fast
feedback points help determine when to ‘pivot’, where necessary to an alternate course
of action.” ©Scaled Agile, Inc.
There was in fact no correlation between exiting phase gates on time and
project success . . . the data suggested the inverse might be true.—Dantar P.
Oosterwal
100
9.2. Scaled Agile Framework (SAFe)
“Business owners, developers, and customers have a shared responsibility to ensure that
investment in new solutions will deliver economic benefit. The sequential, phase-gate
development model was designed to meet this challenge, but experience shows that it
does not mitigate risk as intended. In Lean-Agile development, integration points provide
objective milestones at which to evaluate the solution throughout the development life
cycle. This regular evaluation provides the financial, technical, and fitness-for-purpose
governance needed to assure that a continuing investment will produce a commensurate
return.” ©Scaled Agile, Inc.
Visualize and limit WIP, reduce batch sizes, and manage queue lengths
“Lean enterprises strive to achieve a state of continuous flow, where new system ca-
pabilities move quickly and visibly from concept to cash. Keys to implementing flow
are:
1. Visualize and limit the amount of WIP. This increases throughput and limits
demand to actual capacity.
2. Reduce the batch sizes of work to facilitate fast and more reliableReading to page
121 flow.
3. Manage queue lengths to reduce the wait times for new functionality.”
It appears that the performance of the task provides its own intrinsic reward
. . . this drive . . . may be as basic as the others . . . —Daniel Pink
101
9. Scaling Frameworks
achieve the larger aim of the system. Providing autonomy and purpose, minimizing
constraints, creating an environment of mutual influence, and better understanding the
role of compensation are keys to higher levels of employee engagement. This approach
yields better outcomes for individuals, customers, and the enterprise.” ©Scaled Agile,
Inc.
Decentralize decision-making
Knowledge workers themselves are best placed to make decisions about how
to perform their work.—Peter F. Drucker
“Many enterprises today are organized around principles developed during the last
century. In the name of intended efficiency, most are organized around functional
expertise. But in the digital age, the only sustainable competitive advantage is the speed
with which an organization can respond to the needs of its customers with new and
innovative solutions. These solutions require cooperation amongst all the functional
areas, with their incumbent dependencies, hand-offs, waste and delays. Instead, Business
Agility demands that enterprises organize around value to deliver more quickly. And
when market and customer demands change, the enterprise must quickly and seamlessly
reorganize around that new value flow.” ©Scaled Agile, Inc.
A 2-day class training “Leading SAFe”9 will provide a deeper insights into SAFe.
9
See Learn4U for training’s dates
102
9.3. LeSS
9.3. LeSS
[?, ?]
LeSS provides two different large–scale Scrum frameworks. Most of the scaling el-
ements of LeSS are focused on directing the attention of all the teams onto the whole
103
9. Scaling Frameworks
product instead of ”my part”. Global and “end–to–end” focus are perhaps the dominant
problems to be solve in scaling. The two frameworks, which are basically single–team
Scrum scaled up are:
9.4. Bibliography
[HMO15] Jez Humble, Joanne Molesky, and Barry O’Reilly. Lean Enterprise — How
High Performance Organizations Innovate at Scale. O’Reilly, 2015.
[KL20] Richard Knaster and Dean Leffingwell. SAFe® 5.0 Distilled. Addison-Wesley,
2020.
[Scr] Scrum.org. Ken Schwaber explains: What is Scaled Scrum? last visited:
2021-03-08.
Additional Reading
[1] Ken Schwaber. 2021 Nexus™ Guide. https://www.scrum.org/node/4709 (Last
visited: 2023-02-16)
104
Part III.
User Stories
106
10
Do the simplest thing that could possibly work.
Kent Beck
User Stories
Breaking news: Imagine you are a news reporter and you are asked to
research to research what are typical problems in creating and editing
requirements? Of course, you explain the term requirement as well. Will
you make the news in prime time?
Notes:
As we have seen, agile development is based on feedback, learning, and collaboration. Reading to Page
Requirements such as "The email notification must include the dollar amount, the date, the 108
name of the payee, and an identification number" lead to information loss. They do not name
the customer’s problem or provide context, and thus do not open up solution space for
development.
The user story [Bec04] deals with this problem, a lot of different aspects, and interests
e.g.,1
• Project managers want to track progress
• Programmers want to implement the system
• Product managers want flexibility
• Testers want to measure
• Users want an efficient system
Ron Jeffries2 names three critical aspects of a user story [Jef01]:
1
taken from [Coh04](p. xv)
2
Ron Jeffries cofounded Extreme Programming (XP) together with Kent Beck and Ward Cunningham.
107
10. User Stories
• “The conversation is largely verbal, but can be supplemented with documents. The
best supplements are examples; the best examples are executable, We call these
examples Confirmation.”3
An example of an initial user story is: “A user can post her resume to the website.” but
not “We use Haskell to create the software.”
What is meant by conversation and confirmation? XP came up with the idea of sketch
the idea of the customer in a short sentence on a card. This card is the reminder to have a
conversation about what is behind that sketch. The developer could simply ask the user
what they really need since XP was created for a small group of users. The developer
built what they understood and showed it to the user with a request for confirmation.
There are some disadvantages of user stories when we are working in large projects or
on large topics that require a lot of interactions:
• Lack of context— since a user story contains a very short description5 we might not
understand the context in which it is embedded. And here comes the rule, a user
story “has user value” but “there is nothing in the idea of a user story about how
much value to the user it contains.” [Coc06] Listing the value gives us an idea of
what the customer might expect. We can create additional confirmation if we are
doing the right thing by listing acceptance tests/criteria or user acceptance tests on
the back of the card.
• Lack of completeness— “the developers ask questions, these answers generate more
user stories, often more than were anticipated” [Coc06]. We address that by accept-
ing this incompleteness. There will be always more ideas than time for developing
them.The PO must have a clear idea of what the product is about and in most cases
say "no".6
Another way to mitigate these disadvantages is to create use cases instead of user stories
and then derive the user stories for the next Sprint from the use cases. [Coc00]
3
From: Essential XP: Card, Conversation, Confirmation
4
In Scrum, there is the Product Goal (4.6 on page 74) and the Sprint Goal (4.6 on page 75).
5
“The shortest user story I have heard of is the one word ‘Kaboom’ on naval artillery project, meaning
‘Take a shot and tell me where it hit’” [Coc06]
6
See blog: A thousand No’s (http://blackswanfarming.com/why-doesnt-apple-make-a-printer) and
video: Agile Product Ownership in a Nutshell - Henrik Kniberg [16:00] (https://youtu.be/502ILHjX9EE)
108
10.1. Writing Stories
How to start writing user stories? Bill Wake ([Wak]) suggests using an acronym Reading to Page
113
109
10. User Stories
I ndependent
N egotiable
E stimatable
S mall
T estable
Independent
When user stories are interdependent, we lose the ability to sequence them in a way that
optimizes the value of the product. Independent stories would look like this:
“A company can pay for a job posting “A company can pay for a job posting
with Visa card.” with MasterCard.”
Negotiable
Stories are not written contracts or specifications. They are short descriptions of customer
desires and expected value. (see10 on page 107)
110
10.1. Writing Stories
Estimable
The developers have to be able to estimate the story (see also 11 on page 117).
“There are three common reasons why a story may not be estimable:
The first point can be removed by discussing the story with the customer or PO.
The second point can be addressed by running a little experiment, called a spike
(fromXP8 ) to learn about the technology. The “real” story goes on a second card.
The third point can be handled by naming the story “epic” (see also 10.1).
7
to move to the customer-centricity end
8
http://www.extremeprogramming.org/rules/spike.html
111
10. User Stories
Small
Size is important for the planning. Large–format stories can be divided into two cate-
gories: compound stories and complex stories. “A composite story is an epic that consists
of several shorter stories.” [Coh04] Therefore the epic can be broken down while dis-
cussing the expected outcome/value with the customer/user. Unlike the Compound
Story, the Complex Story is a user story that is extensive in nature and cannot be easily
broken down into a series of individual stories. [Coh04] Usually it is a convenient to
split this type of story into a research story (aka. spike8 ) and a development story. It is
important that the spike is time-boxed, which is the maximum time for learning. This
spike will be estimated (just use the time-box information for that).
Testable
“If the story cannot be tested, how can the developer know when they have finished
coding?” Untestable stories can be a sign of non-functional requirements.
Remember to automate tests. Do not break already working parts during the incre-
mental development of the product.
A worse example of a test is: “A user never has to wait long for a screen to appear.”
because the words “never” and “wait long” cannot be measured and therefore can not
be automated.. Better wording: “New screens appear within two seconds in 95% of the
time.” [Coh04]
Using invest may not give you a good phased user story because it should be simple
and easy to understand. Better use simple sentences and enrich them with the ideas of
invest : subject, verb, object.
Ambiguous terms do not belong in a user story. Therefore, the user story should
focus on the essentials. Rachel Davies, recommends formulating the user story along
the following lines, like this [DS09]: “As [role], I want [function] to [benefit].” or “As
[who], I want [what] to [why].”
The placeholder can be filled by answering the following questions:
• Who is requesting something? (=role)
The requester (a persona9 .) is usually the future user of the system or the benefi-
ciary of the solution being developed.
• What does the requester want? (=function)
The requester wants something specific to happen. The clearer and more precise
the request is in the user story, the more helpful the user story is to the development
team in creating the requirements or the task to be performed.
• Why is this important to the business case? (=benefit)
The requirement is intended to achieve a goal. The requester expects a benefit from
it. Describing the reason for the requirement gives the development team with
more information to execute it correctly.
9
User and customer personas can be found at https://ux-hub.healthineers.siemens.com/
112
10.2. Where do the Stories Come From?
• User interviews
• Questionnaires
• Observation
10
See [Coh04] pp. 76–83.
11
See [Coh04] pp. 43–54.
113
10. User Stories
Another possible starting point for a team discussion might be the creation a story map12 .
Be aware of the pitfall while using electronic tools: In Azure DevOps, you can put a
lot of descriptions and other information in the template, but the purpose of a user story
is to be a reminder to discuss the feature. It does not replace the conversation with the
customer or its representative (PO). Documentation is not communication.
Practice [Timebox: 20 min]
We now check the available stories. There is a section on the Concept-
board: https://siemens.conceptboard.com/board/5qto-087y-36t1-gkio-
h046 for this exercise.Please do the exercise in your breakout teams.
10.3. Bibliography
[Bec04] Kent Beck. Extreme Programming Explained — Embrace Change. Addison-
Wesley, 2004.
[Coh04] Mike Cohn. User Stories Applied: For Agile Software Development. Addison-
Wesley Professional, 2004.
12
Video: Story Mapping explained[12:00] and video: Jeff Patton - User Story Mapping: Discover The
Whole Story[50:00]
114
10.3. Bibliography
[Cor08] Ladas Corey. Scrumban and other essays on Kanban System for Lean Software
development. Modus Cooperandi Press, 2008.
[DS09] Rachel Davies and Liz Sedley. Agile Coaching. The Pragmatic Programmers,
2009.
[KS] Henrik Kniberg and Mattias Skarin. Kanban and Scrum - Making the Most
of Both. last visited: 2021-02-09.
[MJ18a] Don McGreal and Ralph Jocham. The Professional Product Owner. Addison-
Wesley, 2018.
[PE14] Jeff Patton and Peter Economy. User Story Mapping: Discover the Whole Story,
Build the Right Product. O’Reilly and Associates, 2014.
[SC+ 19] Jeff Sutherland, James O. Coplien, et al. A Scrum Book. Pragmatic Bookshelf,
2019.
[Sut14] Jeff Sutherland. Scrum — The Art of Doing Twice the Work in Half the Time.
Penguin Random House, 2014.
[Wak] William C. Wake. INVEST in Good Stories, and SMART Tasks. last visited:
2021-02-09.
[Wat13] Geoff Watts. Scrum Mastery - From Good to Great Servant Leadership. Inspect
& Adapt Ltd, 2013.
Additional Readings
[1] Stephanie Ockerman and Simon Reindl. Mastering Professional Scrum. Addison-
Wesley. 2020
[2] Ron Jeffries. Essential XP: Card, Conversation, Confirmation13 . 2001 (Last visited:
2023-02-16)
13
https://ronjeffries.com/xprog/articles/expcardconversationconfirmation/
115
10. User Stories
[3] Mike Cohn. Why the Three-Part User Story Template Works So Well14 . 2018 (Last
visited: 2023-02-16)
14
https://www.mountaingoatsoftware.com/blog/why-the-three-part-user-story-template-works-so-
well
15
https://agileforall.com/wp-content/uploads/2009/10/Story-Splitting-Cheat-Sheet.pdf
116
11
... software people are terrible at estimating,
because humans are terrible at estimating.
Lets not just try harder. Lets find a better way.
Ron Jeffries
Story Handling
D Story Points.
Mike Cohn [Coh04] describes the best approach for estimating user stories as: Reading to page
119
• “allows us to change our mind whenever we have new information about a story
• provides useful information about our progress and the work remaining
All of this can be fulfilled with Story Points. The team defines the meaning of a Story
Point. It could be an ideal day of work1 , an ideal week of work or a measure of complexity
or the unknown. It is a dimensionless unit and remedies a human deficiency. Everybody
in the team has to have the same understanding what’s behind a Story Point.
The Scrum Team owns the estimate, and it helps to plan (long and short term). Ad-
ditionally, the Scrum Team will do the estimates and no one else. The estimate itself
could be a qualified guess. Another approach is that all estimates are created by having
a reference story. Since humans are not good at estimating absolutely, they are better at
comparing to existing data points.
1
A day without interruptions, like meetings, emails, phone calls, etc.
117
11. Story Handling
Planning Poker The idea behind Planning Poker6 is to get all perspectives of all team
members into the size. The critical part is that we first estimate and then discuss the
differences in the estimates. Here is how we do Planning Poker:
4. On the signal of the team coach (Scrum Master) cards gets turned
5. Discuss differences (highest and lowest card will present their reasons)
6. Re-estimate.
There are some rules in case of differences, if there are two or more units between
estimates, we re-estimate. If there is one unit in between we will go with the average of
all cards and round up to the next unit [Sut14].
Magic Estimation The magic estimation is another method for estimating. In this case
we put the cards in order using the same measure we would use in planning poker (how
much is unknown, complexity, etc.).
One card is placed on the floor and the next card is placed in the column below or above
that card, depending on how the person placing the card estimates. If a certain number
of cards have already been placed on the floor, someone may think that a particular card
no longer fits in the current order and place it in a different position in that row. The
Team Facilitator (Scrum Master) counts all the moves and has the moved cards discussed
after all the cards have been put in an order acceptable to all.
The Team Facilitator now opens the discussion for the cards that have been moved the
most. The team discusses the card with the highest count first and then all other cards in
descending order. All cards that have not been moved are not discussed, since the team
members have already agreed on the order before using the method.
2
These numbers are from the Fibonacci series (1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 134, . . . ). But we could use
the powers of 2 (1, 2, 4, 8, 16, 32, . . . ) and then put a 4 or 8 on it.
3
This reference story might get replaced in the future, but for now it is the best we could get.
4
See video: Agile Estimating and Planning: Planning Poker [5:00] https://youtu.be/gE7srp2BzoM
5
[Dua16] and video: Vasco Duarte explains NoEstimates https://youtu.be/MhbT7EvYN0c[48:00]
6
James Greening. Planning Poker or How to avoid analysis paralysis while release planning
https://wingman-sw.com/papers/PlanningPoker-v1.1.pdf. 2002 and made popular in [Coh05]
118
11.1. Story Estimation
Then the planning poker cards can be used to subdivide the cards and determine the
estimation. The team facilitator asks for the boundaries of the individual value areas.
Triangulation If you have already estimated stories of different sizes you can easily
sort in new stories by using triangulation: “The story is bigger than . . . but smaller than
...”
No Estimates is an advanced method that might be used with mature teams. The
important part here is the story splitting (which we will see in the next section). All
stories have to be at an identical size, and we only count the number of stories we put into
our iteration (sprint) plan. Only the stories have a relevance for us as a team. [Dua16]
Release Planning All we need to know for release planning are the estimates of
the stories in the Product Backlog and our processing speed (velocity). After the first
iteration7 , we see how many stories we were able to complete and can now add up the
story points of those completed stories. This number gives us an idea of the team velocity.
Using this velocity, we can project the number of iterations we will need to complete the
current content of the backlog.
In our first iteration, we completed 5 stories with a total of 35 story points. There is a total of
350 story points in the backlog. So we will need about 10 iterations to complete the content of the
backlog. To determine the number of story points in the backlog, we will perform a quick estimate
(e.g., Magic Estimation) to get an initial idea. Since the backlog is never finished,8 and we are
always working on the most important things, we may finish earlier than planned. The value for
the customer/user might be available after 12 , 32 , . . . of the current backlog content is done.
If the backlog changes, we have to recalculate our forecast.
The release planning will give the team the opportunity to decide, whether they would
like to use the scope or the time as measure for the project.
There are a lot more estimation techniques available, e.g., T-Shirt Sizing9 , bucketing,
etc. but all follow the idea of relative estimation.
Practice [Timebox: 20 min]
As the Scrum Master I would be able to use you different methods
to estimate, so that I am able to choose the appropriate one for the
current estimation round. In this exercise we will do Planning Poker
as well as Magic Estimation. After we clarified the method please
go to your break-out rooms. There is a section on the Conceptboard:
https://siemens.conceptboard.com/board/5qto-087y-36t1-gkio-h046 for
this exercise.In addition, we will create a release plan for our stories. We
do this exercise in the big room, all together.
7
In Scrum; the first Sprint.
8
Otherwise, the product development is completed
9
A Deep Dive Into T-Shirt Sizing
119
11. Story Handling
Reading to page The Product Owner has a vision of a product and will create initially story of any size.
121 Typical the story are complex or compound stories10 .
When we start talking about the story we might find out that the compound story
can be split in many stories that will be valuable for the user/customer. We will do that
accordingly but avoiding splitting the story in too small stories to reduce the overhead of
handling11 . If we run into this problem, we might want to combine the stories again, e.g.,
by looking for create, update and delete use cases.
On the other hand, they may be complex stories that can’t be easily broken down into
individual stories. In most cases, there is a big unknown around the story. In this case, it
10
[Coh04]
11
Transaction cost [Rei09].
120
11.3. Bibliography
• Simple/Complex
• Variations in Data
• Defer Performance
11.3. Bibliography
[Coh04] Mike Cohn. User Stories Applied: For Agile Software Development. Addison-
Wesley Professional, 2004.
[Coh05] Mike Cohn. Agile Estimating and Planning. Prentice Hall, 2005.
12
The full pattern list can be found in Story Splitting Cheat Sheethttps://agileforall.com/wp-
content/uploads/2009/10/Story-Splitting-Cheat-Sheet.pdf.
121
11. Story Handling
[Hum] Humanizing Work, LLC. Story Splitting Cheat Sheet. last visited: 2021-02-
09.
[SC+ 19] Jeff Sutherland, James O. Coplien, et al. A Scrum Book. Pragmatic Bookshelf,
2019.
[Sut14] Jeff Sutherland. Scrum — The Art of Doing Twice the Work in Half the Time.
Penguin Random House, 2014.
122
Part IV.
Agile@Siemens Healthineers
• Create principles and practices for your domain. For the agile software develop-
ment you will find the principles in the Manifesto of Agile Software Development
1
Another framework are the fligthlevels described in [Leo18].
124
12.2. Agile Working at ART Level
and for agile hardware development you can use them as well and adapt them to
the hardware domain. Practices (eXtreme programming practices or MBSE2 ) are
also domain specific. I am pretty sure that the teams will already use many agile
practices even though they do not name it that way.
• Use the methods as described, if they fail you found a symptom, look for the root
cause
• Ask: What are the reasons for ..., What have you tried to ...,
2
Model-Based-System-Engineering
125
12. Agile@Siemens Healthineers
Notes:
126
12.3. Bibliography
12.3. Bibliography
[Leo18] Klaus Leopold. Rethinking Agile: Why Agile Teams Have Nothing To Do With
Business Agility. LEANability PRESS, 2018.
127
Part V.
Appendix
129
A
The main purpose of education isn’t just to
receive a certification that leads to a career,
but to become a well-rounded person in so
many aspects of life.
Edmond Mbiaka
Open Assessment
In preparation of the certification you can take as often as you like the open assessment.
The open assessment will take 15 questions from the pool of the certification questions
and gives you 30 min to answer the questions. A good practice time is having all questions
answered in about 23 of the time, since you will have 60 min for 80 questions in the real
certification test.
Now we would run an open assessment and please note that it is not allowed to take
pictures of the questions. You may want to take a note on a question you are insecure to
ask it later.
As additional preparation books like [?] might be useful.
1
From: https://www.scrum.org/professional-scrum-product-owner-certifications
130
A.3. Bibliography
A.3. Bibliography
Books
Additional Reading
[1] Moritz Knueppel. The Definite Guide to PSM I and PSPO I. Kindle
131
B
In a bureaucracy, serving the internal systems
and processes takes precedence over serving
customers In Agile organizations, everyone in
the organization has a clear line of sight to the
ultimate customer or user and can see how
work is adding value to that customer or user–
Manifestos
or not
Stephen Denning
132
B.1. Manifesto of Agile Software Development
133
B. Manifestos
Principles
While we did not vote on the principles during Sprint Zero,
we did produce the following candidates. They
elaborate on the values.
#1 Our highest priority is to satisfy the customer through early and contin-
uous delivery of marketing that solves problems
#2 We welcome and plan for change. We believe that our ability to quickly
respond to change is a source of competitive advantage
#3 Deliver marketing programs frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale
#4 Great marketing requires close alignment with the business people, sales
and development
#5 Build marketing programs around motivated individuals. Give them
the environment and support they need, and trust them to get the job
done
#6 Learning, through the build-measure-learn feedback loop, is the primary
measure of progress
#7 Sustainable marketing requires you to keep a constant pace and pipeline
Don’t be afraid to fail; just don’t fail the same way twice
#9 Continuous attention to marketing fundamentals and good design en-
hances agility
#10 Simplicity is essentially
1
https://agilemarketingmanifesto.org
134
B.3. The Manifesto of Agile Hardware Development
• The use of few materials and which are compatible with the fastest tools available
to us.
As a first step, the project should be modularized. Each module should be designed
independently of all others, this reduces the risk for the overall project. Teams can thus
develop independently of each other.
The interfaces and connections must ensure the independence of the modules. The
overall design must already address this. All modules are continuously integrated to
always have a look at the overall system. This integration should be highly automated.
Improvement of the product is ensured by continuous testing of the individual mod-
ules as well as the overall system. Joe Justice suggests using the method of test data
development and data-driven development, and using the Internet of Things (IOT) as
much as possible to analyze the projects.
The teams are constantly working to improve communication and collaborative work.
As also called for in the Agile Software Development Manifesto, at the end of each
sprint there must be a potentially deliverable product, which can be a working physical
or virtual prototype. This must be able to be demonstrated to (potential) customers
and tested by them. For example, augmented reality can facilitate this prototyping and
iteration scheme, reducing costs.
All teams involved in this are Scrum teams. Joe even worked with rolling POs on the
teams.
• Our priority is to create value for the client through valuable insights and recom-
mendations
2
https://www.scruminc.com/scrum-in-hardware-guide/
3
Taken from: The 2008 Agile Manifesto for Hardware
4
Taken from https://resources.scrumalliance.org/Article/agile-in-sales
135
B. Manifestos
• Sales teams deliver progression around the buying cycle frequently (weeks rather
than months)
• Clients and salespeople must work together, if possible daily, through the sale
• Motivated sales teams are given the environment and support they need and
trusted to act
• Agile selling promotes sustainability, with teams able to maintain a constant pace
indefinitely
• The best understanding of needs and positioning of solutions emerges from self-
organizing teams
• The team reflects regularly on how to become more effective, and adjusts accord-
ingly
B.5. Bibliography
[B+ ] Kent Beck et al. Manifesto for Agile Software Development. last visited:
2021-02-09.
136
C
Given the choice between an extremely skilled
loner and a competent-but-social programmer,
XP teams consistently choose the more social
candidate. The best interviewing technique is
to have the candidate work with the team for a
day. Pair programming provides an excellent
Team Development
test of technical and social skills.
Kent Beck
How to grow a team? There are many ideas out there, but there is one that resonates
best with me. That is the idea of communication paths, which are directly reflected in
the structure of our product.1
An agile team needs to be small and focused on delivering end-to-end functionality
that is visible to the user. The team must be composed of the right people and be careful
not to overload itself by dividing it between different topics.
We will often take over an existing team2 as Team Facilitator or Scrum Master. What
will first check is the size of the team (How many pizzas do I have to order?)? If we have
1
Conway’s Law (1968): Any organization that designs a system (defined broadly) will produce a design
whose structure is a copy of the organization’s communication structure. — Melvin E. Conway.
2
Growing team from scratch might happen only in a start-up environment.
137
C. Team Development
to order more than two pizzas we might want to split the team, so that the size of the
team will fit to our recommendation.
A good idea would be to form feature teams, teams that can work on any feature/user
story in our backlog, i.e. we have a cross-functional team. Secondly, we make sure that
the team members have all the skills needed to do all the necessary steps to build the
product, from analysis, implementation and testing to deployment in production. Does
that seem impossible for products at Siemens Healthineers? We will have a section on
scaling where we will talk about a team of teams.
There might be cases where we will use component teams, but this will be rare cases.
Team topologies are discussed in more detail in [SP19]. Nevertheless, there are some
occasional benefits (taken from [Coh09] (p. 186)) for having a component team:
• The component team will build something that will be used by multiple feature
teams.
• Build a shared component — feature teams might build different solutions for one
common problem.
The decision how the team is structured will be done by the team according to the work
coming from the backlog. Nevertheless, since the team is working on technical decisions
they will need guidance from the team coach (Scrum Master) how to design its structure.
[Coh09]
The focus for the team structure should clearly be on getting the right people on the
team, i.e.,
138
C.2. Development Stages of a Team
In the first stage orientation to the task the people in the group will identify the task and
figure out the way to finish the task by using the group experiences.
Next stage intragroup conflict is marked by hostility against everybody in and outside
the group and resistance towards group formation.
In the third stage development or group cohesion the group members start to accept each
other and their individual characteristics. The group is now becoming an entity and
creates norms to secure the existence of this group. Harmony is very important and
conflicts are mostly avoided.
The last stage in Tuckman’s model is functional role-relatedness, which shows that the
group formed in stage three now transform itself into a problem-solving instrument.
The members are now clearly focused on the objects since the relationship between each
member is already established. Tuckman call this team a “sounding board”.
The stage five is added to start the circle of team founding again. It is more or less a
reset to stage one.
There is a little drawback with the model, it is broadly used to tell about team growing,
but it was never approved that teams are going through all these stages3 and his test
objects were group-therapy participants who were seeking help with their personal
problems.
In Phil Jackson and Dave Logan’s books ([JD14], [LKF11]) describe how to form a
team or tribal.
Here are some of the major aspects by Phil Jackson:
3
By the way: Tuckman himself wrote that this is a proposed sequence
139
C. Team Development
140
C.4. Role of the Management
the” Agile “Team” [SC+ 19] (p. 38) is currently the main approach. “Management can
play a key role in innovation: of thinking in directions that product management (PO)
might threaten to its own existence.” [SC+ 19] (pp. 38–39)
There is a list of things management can do in an agile organization:
Manager
• will work on the root causes instead letting the team working on the symptoms
Manager have skills that are necessary to grow and develop an organization, e.g., by
initiating a policy to remove product direction decisions from a sales and marketing
organization that has become to powerful, and shift the responsibility to the PO. Topics
that might be traditionally Team Facilitator (Scrum Master) responsibilities but effecting
the whole organization can be implemented effective because of the position and power.
When we look at the result of the Project Oxygen at Google [Gar13], we see that a
good manager
1. is a good coach
3. expresses interest in and concern for team members’ success and personal well-
being
8. has key technical skills that help him or her advice the team.
Eric Ries [Rie17] sees it in that way, entrepreneurial success is often tied to the myth of
“perseverance, creative genius, and hand work,” whereas in reality “it’s the boring stuff
that matters the most . . . Entrepreneurship is a kind of management.”
Finally, management should respect the new responsibilities of the Product Owner
and Team Facilitator by using their power to support organizational development and
help the organization and its products flourish by acting in trust and openness.
141
C. Team Development
C.5. Bibliography
[App11] Jurgen Appelo. Management 3.0 — Leading Agile Developers, Developing Agile
Leaders. Addison-Wesley, 2011.
[Coh09] Mike Cohn. Succeeding with Agile: Software Development Using Scrum. Pearson
Education, 2009.
[Deu04] Alan Deutschmann. Inside the Mind of Jeff Bezos. Fast Company, 2004. last
visited: 2021-03-02.
[Gar13] David A. Garvin. How Google Sold Its Engineers on Management. Harvard
Business Review, 2013. last visited: 2021-03-09.
[Hac02] J. Richard Hackman. Leading Teams: Setting the Stage for Great Performances.
Harvard Business Review Press, 2002.
[Ham03] Keith H. Hammonds. How Google Grows and Grows and Grows. Fast
Company, 2003. last visited: 2021-03-09.
[JD14] Phil Jackson and Hugh Delehanty. Eleven Rings: The Soul of Success. Penguin
Books, 2014.
[LKF11] Dave Logan, John King, and Halee Fischer-Wright. Tribal Leadership: Lever-
aging Natural Groups to Build a Thriving Organization. Harper Business, 2011.
[Rie17] Eric Ries. The Lean Startup: How Today’s Entrepreneurs Use Continuous Inno-
vation to Create Radically Successful Businesses. Currency, 2017.
[SC+ 19] Jeff Sutherland, James O. Coplien, et al. A Scrum Book. Pragmatic Bookshelf,
2019.
[Sch16] Roger M. Schwarz. The Skilled Facilitator: A Comprehensive Resource for Con-
sultants, Facilitators, Coaches, and Trainers. Jossey-Bass, 2016.
[SP19] Matthew Skelton and Manuel Pais. Team Topologies: Organizing Business and
Technology Teams for Fast Flow. IT Revolution Press, 2019.
142
C.5. Bibliography
143
D
We start from the presumption that our people
are talented and want to contribute. We accept
that, without meaning to, our company is stifling
that talent in myriad unseen ways. Finally, we
try to identify those impediments and fix them.
Ed Catmul - President of Pixar Animation
https://www.scrum.org/resources/blog/what-servant-leadership
2. Working agreement at the beginning will help. E.g., mobile/ electronics usage,
punctuality, participant expectations, etc. Listing the Scrum values, especially if
you are going to deal with conflict resolution may help the discussion.
3. If the event/ meeting is not interactive, you may want to spend some time take
some time to find the Root Cause.
144
D.4. How Agile is a Software Team?
4. Create a safe environment for people to speak by ensuring that people focus on
task at hand rather than pointing fingers. Immediately interject if there are any
personal attacks.
7. As a facilitator, you need to read the mood in the room to take breaks at regular
intervals to keep the energy level high for productive discussion.
8. Be neutral in your stance and do not take sides (beware of your implicit bias during
heated discussions
Liberating Structures
Liberating Structures1 inject tiny shifts in the protocols of how we meet, plan, decide and
relate to each other that put in the hands of everyone the facilitative power once reserved
for experts only.
• can introduce you to their stakeholders, who actively participate on the project.
My experience is that if the team can’t immediately fulfill the first two criteria,
then there’s a 95% chance that they are not agile. — Scott Amber
1
http://www.liberatingstructures.com/ls
2
https://www.drdobbs.com/the-agile-edge-how-agile-are-you/184415445
145
D. Infra- and Organizational Structure
• Share experiences.
146
D.6. A Great Product Owner in a Scrum Team
• Is empowered
• Shares experiences
• Is knowledgeable
• Knows the 5 levels of Agile planning (vision, product road map, release plans,
Sprint Planning, Daily Scrum)
• Is available
• Acts as a “Mini-CEO”
• Dares to be disruptive
147
D. Infra- and Organizational Structure
• Encourages ownership
• Values rhythm
• Observes
• Shares experiences
• Prevent impediments
• Isn’t noticed
• Leads by example
• Is a born facilitator
https://www.scrum.org/resources/blog/28-characteristics-great-scrum-master
148
D.9. Bibliography
D.9. Bibliography
Videos
[1] Greatness, David Marquet: https://youtu.be/OqmdLcyES Q
149
E
Frameworks should be extracted from a collec-
tion of successful implementations, not built on
speculation.
Mary Poppendieck
Agile Frameworks
E.1. SCRUM
E.1.1. Definition
Scrum is a process framework used to manage product development and other knowledge
work. Scrum is empirical in that it provides a means for teams to establish a hypothesis
of how they think something works, try it out, reflect on the experience, and make
the appropriate adjustments. That is, when the framework is used properly. Scrum is
structured in a way that allows teams to incorporate practices from other frameworks
where they make sense for the team’s context1 .
1. Pick a Product Owner. This person is the one with the vision of what you are
going to do, make, or accomplish. They take into account risks and rewards, what
is possible, what can be done, and what they are passionate about.
2. Pick a Team. Who will be the people actually doing the work? This team needs to
have all the skills needed to take the Product Owner’s vision and make it reality.
Teams should be small, 3 to 9 people is the rule of thumb.
3. Pick a Scrum Master. This is the person who will coach the rest of the team through
the Scrum framework, and help the team eliminate anything that is slowing them
down.
4. Create and prioritize a Product Backlog. This is a list at a high level of everything
that needs to be built or done to make that vision reality. This backlog exists and
evolves over the lifetime of the product; it is the product road map. At any point,
the Product Backlog is the single, definitive view of “everything that could be done
by the team ever, in order of priority.” Only a single Product Backlog exists; this
means the Product Owner is required to make prioritization decisions across the
entire spectrum. The Product Owner should consult with all stakeholders and the
1
Taken from https://www.agilealliance.org/glossary/scrum/
150
E.1. SCRUM
team to make sure they are representing both what people want and what can be
built.
5. Refine and Estimate the Product Backlog. It is crucial that the people who are
actually going to complete items in the Product Backlog estimate how much effort
they will take. The team should look at each Backlog item, and see if it is actually
doable. Is there enough information to complete the item? Is it small enough
to estimate? Does a Definition of Done exist, and does everyone agree on what
standards must be met to call something “done”? Does it create visible value? Each
item must be able to be shown, to be demonstrated, hopefully to be potentially
shippable. Do not estimate the Backlog in hours, because people are absolutely
terrible at that. Estimate by relative size: Small, Medium, or Large. Or even better
use the Fibonacci sequence and estimate the point value for each item: 1, 2, 3, 5, 8,
13, 21, etc.
6. Sprint Planning. This is the first of the Scrum meetings. The team the Scrum
Master, and the Product Owner sit down to plan the Sprint. Sprints are always
a fixed length of time that is less than a month. Most people now run one- or
two-week Sprints. The team looks at the top of the Backlog and forecasts how
much of it they can complete in this Sprint. If the team has been going for a few
Sprints, they should take in the number of points they did in the last Sprint. That
number is known as the team’s Velocity. The Scrum Master and the team should
be trying to increase that number every Sprint. This is another chance for the team
and the Product Owner to make sure that everyone understands exactly how these
items are going to fulfill the vision. Also, during this meeting everyone should
agree on a Sprint Goal, what everyone wants to accomplish with the Sprint.
One of the pillars of Scrum is that once the team has committed to what they think
they can finish in one Sprint, that’s it. It cannot be changed, it cannot be added to.
The team must be able to work autonomously throughout the Sprint to complete
what they forecast they could.
7. Make Work Visible. The most common way to-do this in Scrum is to create a
Scrum Board with three columns: To Do, Doing, Done. Sticky notes represent the
items to be completed, and the team moves them across the Scrum board as they
completed, one by one.
Another way to make work visible is to create a Burndown Chart. On one axis is
the number of points the team has taken into the Sprint, on the other is the number
of days. Every day the Scrum Master tallies up the number of points completed
and graphs them on the Burndown chart. Ideally there will be a steep downward
slope leading to zero points left on the last day of the Sprint.
8. Daily Stand-up or Daily Scrum. This is the heartbeat of Scrum. Each day, at the
same time, for no more than fifteen minutes, the team and the Scrum Master meet
and answer these questions:
151
E. Agile Frameworks
• What did you do yesterday to help the team finish the Sprint?
• What will you do today to help the team finish the Sprint?
• Is there any obstacle blocking you or the team from achieving the Sprint Goal?
That’s it. That’s the whole meeting. If it takes longer than fifteen minutes, you’re
doing it wrong. This helps the whole team to know exactly where everything is in
the Sprint and whether all tasks are completed on time. Are there opportunities
to help other team members overcome obstacles? There’s no assigning of tasks
from above—the team is autonomous; they do that. There’s no detailed reporting
to management. The Scrum Master is responsible for making the obstacles to the
team’s progress, or impediments, go away.
9. Sprint Review or Sprint Demo. This is the meeting where the team shows what
they have accomplished during the Sprint. Anyone can come, not only the Product
Owner, the Scrum Master, and the team, but stakeholders, management, customers,
whoever. This is an open meeting where the team demonstrates what they were
able to move to Done during the Sprint.
The team should only demo what meets the Definition of Done. What is totally
and completely finished and can be delivered without any more work. It may not
be a completed product, but it should be a completed feature of one.
10. Sprint Retrospective. After the team has shown what they’ve accomplished dur-
ing the last Sprint—that thing that is “done” and can potentially be shipped to
customers for feedback—they sit down and think abaout what went right, what
could have gone better, and what can be made better in the next Sprint. What is
the improvement in the process that they, as a team, can implement right away?
To be effective, this meeting requires a certain amount of emotional maturity and
an atmosphere of trust. They key thing to remember is that you’re not seeking
someone to blame; you’re looking at the process. Why did that happen that way?
Why did we miss that? What could make us faster? It is crucial that people as a
team take responsibility for their process and outcomes., and seek solutions as a
team. At the same time, people have to have the fortitude to bring up the issues that
are really bothering them in a way that is solution oriented rather than accusatory.
And the rest of the team has to have the maturity to hear the feedback, take it in,
and look for a solution rather than getting defensive.
By the end of the meeting the team and the Scrum Master should agree on one
process improvement that they will implement in the next Sprint. That process
improvement, sometimes called the kaizen, should be put into the next Sprint’s
backlog, with acceptance tests. That way the team can easily see if they actually
implemented the improvement, and what effect it had on velocity.
11. Immediately start the next Sprint cycle, taking the Team’s experience with impedi-
ments and process improvements into account.
152
E.2. Nexus Framework
E.3. LeSS
[LV08, LV10]
LeSS provides two different large-scale Scrum frameworks. Most of the scaling ele-
ments of LeSS are focused on directing the attention of all the teams onto the whole
product instead of ”my part”. Global and “end-to-end” focus are perhaps the dominant
problems to be solve in scaling. The two frameworks, which are basically single-team
Scrum scaled up are:
2
https://www.scrum.org/resources/online-nexus-guide
153
E. Agile Frameworks
E.4. SAFe
[KL20, Lef11]
“SAFe® for Lean Enterprises is a knowledge base of proven, integrated principles,
practices, and competencies for achieving business agility using Lean, Agile, and DevOps.
The latest version, SAFe 5, is built around the Seven Core Competencies of the Lean
Enterprise that are critical to achieving and sustaining a competitive advantage in an
increasingly digital age:
Team and Technical Agility Driving team Agile behaviors as well as sound technical
practices including Built-in Quality, Behavior-Driven Development (BDD), Agile testing,
Test-Driven Development (TDD), and more
Enterprise Solution Delivery Building and sustaining the world’s largest software
applications, networks, and hyper-physical solutions
Lean Portfolio Management Executing portfolio vision and strategy formulation, char-
tering portfolios, creating the Vision, Lean budgets and Guardrails, as well as portfolio
prioritization, and road-mapping
Organizational Agility Aligning strategy and execution by applying Lean and systems
thinking approaches to strategy and investment funding, Agile portfolio operations, and
governance
3
https://scaledagileframework.com
154
E.5. Other Frameworks
E.6. Bibliography
[Bit17] Kurt Bittner. The Nexus Framework for Scaling Scrum: Continuously Delivering
an Integrated Product with Multiple Scrum Teams. Addison-Wesley Profes-
sional, 2017.
[KL20] Richard Knaster and Dean Leffingwell. SAFe® 5.0 Distilled. Addison-Wesley,
2020.
[LV08] Craig Larman and Bas Vodde. Scaling Lean & Agile Development: Thinking
and Organizational Tools for Large-Scale Scrum. Addison-Wesley Professional,
2008.
[LV10] Craig Larman and Bas Vodde. Practices for Scaling Lean & Agile Development:
Large, Multisite, and Offshore Product Development with Large-Scale Scrum.
Addison-Wesley Professional, 2010.
[Sut14] Jeff Sutherland. Scrum — The Art of Doing Twice the Work in Half the Time.
Penguin Random House, 2014.
155
F
To be uncertain is to be uncomfortable, but to
be certain is to be ridiculous.
Chinese proverb
Estimation Methods
Rationale
The reason to use planning poker is to avoid the influence of the other participants. If a
number is spoken, it can sound like a suggestion and influence the other participants’
sizing. Planning poker should force people to think independently and propose their
numbers simultaneously. This is accomplished by requiring that all participants show
their cards at the same time.
Equipment
Planning poker is based on a list of features to be delivered, several copies of a deck of
cards and optionally, an egg timer that can be used to limit time spent in discussion of
each item.
The feature list, often a list of user stories, describes some software that needs to be
developed.
1
Take from https://en.wikipedia.org/wiki/Planning poker
2
https://wingman-sw.com/articles/planning-poker
3
http://tsdr.uspto.gov/#caseNumber=3473287&caseType=US REGISTRATION NO&searchType=statusSearch
4
https://www.mountaingoatsoftware.com/tools/planning-poker
156
F.1. Planning Poker
The cards in the deck have numbers on them. A typical deck has cards showing the
Fibonacci sequence including a zero: 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, etc. ; other decks use
similar progressions with a fixed ratio between each value such as 1, 2, 4, 8, etc.
The reason for using the Fibonacci sequence instead of simply doubling each subse-
quent value is because estimating a task as exactly double the effort as another task is
misleadingly precise. A task that is about twice as much effort as a 5, has to be evaluated
as either a bit less than double (8) or a bit more than double (13).
Several commercially available decks use the sequence: 0, 12 , 1, 2, 3, 5, 8, 13, 20, 40, 100,
and optionally ”?” (unsure), an infinity symbol (this task cannot be completed), and a
coffee cup (I need a break, and I will make the rest of the team coffee). The reason for not
exactly following the Fibonacci sequence after 13 is because someone once said to Mike
Cohn ”You must be very certain to have estimated that task as 21 instead of 20.” Using
numbers with only a single digit of precision (except for 13) indicates the uncertainty in
the estimation. [...]
When teams are not in the same geographical locations, collaborative software over
the internet can be used as replacement for physical cards. Several web applications and
mobile applications exist for the purpose, including open source software5 with a gratis
demo server available for everyone to use6 .
Procedure
At the estimation meeting, each estimator is given one deck of the cards. All decks have
identical sets of cards in them.
The meeting proceeds as follows:
A Moderator, who will not play, chairs the meeting.
1. The Product Owner provides a short overview of one user story to be estimated. The
team is given an opportunity to ask questions and discuss clarifying assumptions
and risks. A summary of the discussion is recorded, e.g. by the Moderator.
2. Each individual lays a card face down representing their estimate for the story.
Units used vary - they can be days duration, ideal days or story points. During
discussion, numbers must not be mentioned at all in relation to feature size to avoid
anchoring.
4. People with high estimates and low estimates are given a soap box to offer their
justification for their estimate and then discussion continues.
5. Repeat the estimation process until a consensus is reached. The developer who was
likely to own the deliverable has a large portion of the ”consensus vote”, although
the Moderator can negotiate the consensus.
5
https://dalibornasevic.com/posts/75-playing-planning-poker-with-firepoker
6
https://firepoker.io/
157
F. Estimation Methods
To ensure that discussion is structured; the Moderator or the Product Owner may at any
point turn over the egg timer and when it runs out all discussion must cease and another
round of poker is played. The structure in the conversation is re-introduced by the soap
boxes.
The cards are numbered as they are to account for the fact that the longer an estimate
is, the more uncertainty it contains. Thus, if a developer wants to play a 6 he is forced to
reconsider and either work through that some perceived uncertainty does not exist and
play a 5, or accept a conservative estimate accounting for the uncertainty and play an 8.
Tip: To speed up the procedure, it can be agreed that at a distance of one unit, the
average of all cards is formed, e.g. the cards show 3 times an 8 and 5 times a 5, average
would be: 6.125, thus one would enter a 6 as estimation.
Summary
Magic Estimation is an estimation technique that is quick. It is especially useful to quickly
estimate many items.
The benefits of Magic Estimation are the speed (due to only non-verbal communication)
and the subjectivity with which each team member can look at the process. Magic
Estimation provides the Product Owner with a good overview of the degree of complexity
of the Product Backlog entries and which still need to be broken down, so that they can
be delivered in a Sprint.
Description
The Setup
Initially, the moderator (e.g. the Scrum Master) places all Planning Poker cards on a
large table. All items that need to be estimated are placed on the table also.
First Step
In the first step, everyone places the item to be estimated next to the number he thinks it
belongs to. E.g. someone places a User Story next to the Planning Poker card ”8”, because
he estimates that the story has a complexity of ”8”. If someone estimates differently, he
moves the item to another Planning Poker card. Some items will stay where they initially
have been placed. Some items will move around between estimates. The moderator
keeps track of these items to discuss them in the second step. During the first step no
one is allowed to speak.
7
Taken from https://www.wibas.com/scrum/magic-estimation/en
158
F.3. Bibliography
Second Step
In the second step the moderator goes through the cards that have moved back and forth
between estimates. He asks the two people with the highest and the lowest estimate
to explain their reasoning. Planning Poker can be used to estimate these items more
precisely. There is no text description available, yet
Affinity Estimating
Affinity Estimating is variant of magic estimation. We start by reading out each User
Story to the entire team. The moderator then asks to arrange the stories horizontally on
a wall in order of size, without talking. The team places the largest stories on the left
and the smallest stories on the right. This only takes a few minutes. The moderator then
gives a final opportunity to make adjustments to the ordering, again without talking.
The moderator then places the Planning Poker numbers above the list of stories. He
asks the team to group the user stories around the nearest number.
F.3. Bibliography
[Coh05] Mike Cohn. Agile Estimating and Planning. Prentice Hall, 2005.
159
G
When agile becomes a buzzword, then people
look for simplistic measures to judge agility.
Kent Beck
Measurement
G.1. Evidence-Based-Management
For the measurement in Scrum the Evidence-Based-Management1 (EBM) is the preferred
method.
First we have to understand what value really is. How do we measure value? In most
of the organizations activities and output get measured, e.g. the number of Story Points
per Sprint is output. How often do we do a retrospective, oh we had already hit the 100,
but nothing changed, since we are measured an activity.
Another example, working over-hours (activity) and thereby delivering more features
(output) will not result in higher customer satisfaction (outcome).
The approach of EBM, beside having hypothesis and running experiments, is to focus
on four Key Value Areas (KVA), unrealized value (the goal of the organization), current
value (the current state relative to the organization’s goals), time-to-market (the re-
sponsiveness in delivering value) and ability-to-innovate (the effectiveness of delivering
value).
Examples
1
scrum.org. Evidence-Based Management Guide. scrum.org. 2020:
https://www.scrum.org/resources/evidence-based-management
160
G.1. Evidence-Based-Management
Current Value
Revenue per Employee The ratio (gross revenue / # of
employees) is a key competitive
indicator within an industry. This varies
significantly by industry.
Customer Usage Index Measurement of usage, by feature, to
help infer the degree to which
customers find the product useful and
whether actual usage meets
expectations on how long users should
be taking with a feature.
Unrealized Value
Customer or User The difference between a customer or
user’s desired
Satisfaction Gap experience and their current experience.
Time-to-Market
Time to Restore The amount of time between the start of
a service outage and the
Service restoration of full availability of the
service (see DORA Report).
DORA Report2
2
https://www.devops-research.com/research.html#reports
161
G. Measurement
The Sprint burn-down (figure G.2.1) is an indicator of progress towards the Sprint Goal
(see 4.6). A cone can also be drawn to indicate the upper and lower limits at which
actions must be initiated. In the best case, the actual line is along the ideal line.
The sprint burn-down should never be given to anyone outside the team without
context and further information.
162
G.2. Team Dashboard
Velocity Diagram
A team’s velocity (figure G.2.2) is the amount of value it can deliver in each sprint.
Whether your team is using story points, issue count, or hours to estimate their stories,
the chart will show how well you’re keeping up with your commitments. Over time,
you’ll be able to predict the amount of work you can realistically commit to and get done
in future Sprints (iterations) (see 4.5), making sure you’re not running around in panic.
163
G. Measurement
A Cumulative Flow Diagram (figure G.2.3) is an area chart that shows the various statuses
of work items for an application, version, or sprint. The horizontal x-axis indicates time,
and the vertical y-axis indicates cards (issues, amount of user stories, etc.). Each colored
area of the chart equates to a workflow status (i.e., a column on the team’s board).
It can be useful for identifying bottlenecks. If the chart contains an area that is widening
vertically over time, the column that equates to the widening area will generally be a
bottleneck.
164
G.3. Project Dashboard
Figure G.3.1.: Cumulative Flow Diagram with WIP and cycle time
A Cumulative Flow Diagram (figure G.3.1) is an area chart that shows the various statuses
of work items for an application, version, or sprint. The horizontal x-axis indicates time,
and the vertical y-axis indicates cards (issues, amount of user stories, etc.). Each colored
area of the chart equates to a workflow status (i.e., a column on the team’s board).
It can be useful for identifying bottlenecks. If the chart contains an area that is widening
vertically over time, the column that equates to the widening area will generally be a
bottleneck.
In addition one can read the cycle time and the WIP.
165
G. Measurement
Additional
Reading
G.4. Bibliography
[Vac15] Daniel S. Vacanti. Actionable Agile Metrics for Predictability: An Introduction.
Daniel S. Vacanti, Inc., 2015.
166
H
In a three-year period, we had 78 projects, and
77 of them were delivered on time, on budget,
and in scope. Then I surveyed the customers
and found out that none of them was happy!
Mary Poppendieck
Partially Done Work As long as your work is not integrated into the product you do
not know if this will actually work.
Extra Processes How often do you ask; “is this paperwork really neces-
sary?”—Paperwork distracts from the real value creation and should therefore be
kept to a minimum, especially paperwork should not describe anything other than what
the product actually does.
Extra Features Every additional code adds complexity to the product and has to be
tested, maintained, documented, etc. An extra feature might become obsolete or never
used at all.
Task Switching Switching between projects eats up valuable development time. The
developer has to think about the current status of the code in the project and get back
167
H. Lean Software Development
into the flow of development. Stop working in parallel and start working serially, then
the projects will be finished faster.
Waiting There are delays in starting the project, in documentation, in reviews and
approvals, in testing, etc. These delays make the customers wait until their problem is
solved and they can then add value on their side.
Motion How much time does a developer need to spend to get an answer to a question
that arises during development time? Development is a mental task and therefore
concentration on the problem is required. Concentration is lost every time the developer
has to walk down the hall to get a question answered.
Defects How much time do you need to find defects in your product? Minutes, hours,
days, weeks? The longer the bigger the issue. Finding defects late in development will
raise the costs of fixing it.
Tools
• Seeing Waste
• Value Stream Mapping
Development Production
Design the Recipe Prepare the dish
Quality is fitness for use Quality is conformance to requirements
Variable results are good Variable results are bad
Iterations generate value Iterations generate waste (called rework)
Table H.2.: Development vs. Production
Quality is fitness for use If the customers can solve their problems in a easy-to-use
and cost-effective manner we delivered quality to them.
Variable results are good Software development is not intended to produce repeatable
results every time, every time the result is different since we try to solve individual
problems of the customers.
Iterations generate value Doing mistake once is not a big issue as long as we learn
from it. The customers might not be able to phrase their expectations in words we
understand and we might interpret the expectations differently. That not a problem,
that learning. In the end we know what the customers need. A failure rate is needed to
generate new information.[Rei97]
168
H.1. Lean Principles
Tools
• Feedback
• Iterations
• Synchronization
• Set-based Development
Tools
• Options Thinking
• Making Decisions
Tools
• Pull Systems
• Queuing Theory
• Cost of Delay[Rei98]—get a good estimate from marketing about what the delay
will do to sales volumes and market shares. The model shows then what will
happen to revenue and profit.
169
H. Lean Software Development
Tools
• Self-Determination
• Leadership
Managers Leaders
Cope with Complexity Cope with Change
Plan and Budget Set Direction
Organize and Staff Align People
Track and Control Enable Motivation
Table H.3.: Managers vs. Leaders
• Expertise
Tools
• Refactoring
• Testing
1
Nevertheless he cheated, his strategy worked.
170
H.2. Bibliography
Tools
• Contracts—Trust
“One party’s confidence that the other party . . . will fulfill its promises and
will not exploit its vulnerabilities.”—Jeffrey Dyer[4]
H.2. Bibliography
[PP03] Mary Poppendieck and Tom Poppendieck. Lean Software Development: An
Agile Toolkit. Addison-Wesley Professional, 2003.
[PP07] Mary Poppendieck and Tom Poppendieck. Implementing Lean Software De-
velopment: From Concept to Cash. Addison-Wesley Professional, 2007.
[PP10] Mary Poppendieck and Tom Poppendieck. Leading Lean Software Develop-
ment: Results are not the Point. Addison-Wesley Professional, 2010.
[PP13] Mary Poppendieck and Tom Poppendieck. The Lean Mindset: Ask the Right
Questions. Addison-Wesley Professional, 2013.
[Rei97] Donald Reinertsen. Managing the Design Factory. Free Press, 1997.
[Rei98] Donald Reinertsen. Developing Products in Half the Time. Van Nostrand
Reinhold, 1998.
Additional Reading
[1] The Product Development Performance: Strategy, Organization, and Management
in the World Auto Industry; Kim B. Clark and Takahiro Fujimoto, HBS Press,
1991
171
I
All men dream: but not equally. Those who
dream by night in the dusty resses of their mind
wake up in the day to find that it was vanity: but
dreamers of the day are dangerous men, for
they act their dreams with open eyes, to make
it possible.
Additional Material
T. E. Lawrence, Seven Pillars of Wisdom
You don’t transition your project to agile projects; you have to transform your
people to think in agile ways. —Eric Olafson
Agile is delivering value to customers faster and minimizing bureaucracy.
—Alistair Cockburn
172
I.3. Videos
I.3. Videos
You found a good explaining video? Drop me a note.
Nordstrom Innovation Lab https://youtu.be/2NFH3VC6LNs
Der Upstalsboom Weg https://youtu.be/culjElgNTmw
The Art of Innovation https://youtu.be/Mtjatz9r-Vc
’The Leader’s Guide to Radical Management’ by https://youtu.be/802PdPeS4ic
Steve Denning
Little’s Law https://youtu.be/lHQZcMRr2n0
I.4. Bibliography
[App11] Jurgen Appelo. Management 3.0 — Leading Agile Developers, Developing Agile
Leaders. Addison-Wesley, 2011.
[App14] Jurgen Appelo. #Workout: Games, Tools & Practices to Engage People, Improve
Work, and Delight Clients (Management 3.0). self, 2014.
[BD12] Steve Blank and Bob Dorf. The Startup Owner’s Manual: The Step-by-Step
Guide for Building a Great Company. Baker and Taylor, 2012.
[BO17] David J. Bland and Alexander Osterwalder. Testing Business Ideas: A Field
Guide for Rapid Experimentation. Wiley, 2017.
[Dem00] W. Edwards Deming. Out of the Crisis. The MIT Press, 2000.
[HMO15] Jez Humble, Joanne Molesky, and Barry O’Reilly. Lean Enterprise — How
High Performance Organizations Innovate at Scale. O’Reilly, 2015.
[KBS18] Gene Kim, Kevin Behr, and George Spafford. The Phoenix Project: A Novel
About IT, DevOps, and Helping Your Business Win. IT Revolution Press, 2018.
[KHDW16] Gene Kim, Jez Humble, Patrick Debois, and John Willes. The DevOps Hand-
book — How to create world-class agility, reliability, & security in technology
organizations. IT Revolution Press, 2016.
[Kim19] Gene Kim. The Unicorn Project: A Novel about Developers, Digital Disruption,
and Thriving in the Age of Data. IT Revolution Press, 2019.
[KL16] Robert Kegan and Lisa Laskow Lahey. Everyone Culture: Becoming a Deliber-
ately Developmental Organization. Harvard Business Review Press, 2016.
173
I. Additional Material
[Leo18] Klaus Leopold. Rethinking Agile: Why Agile Teams Have Nothing To Do With
Business Agility. LEANability PRESS, 2018.
[MCSF15] Stanley Gen. McChrystal, Tantum Collins, David Silverman, and Chris
Fussel. Team of Teams: New Rules of Engagement for a Complex World. Portfolio,
2015.
[OPB+ 14] Alexander Osterwalder, Yves Pigneur, Gregory Bernarda, Alan Smith, and
Trish Papadakos. Value Proposition Design: How to Create Products and Services
Customers Want. Wiley, 2014.
[OPSE20] Alexander Osterwalder, Yves Pigneur, Alan Smith, and Frederic Etiemble.
The Invincible Company: How to Constantly Reinvent Your Organization with
Inspiration From the World’s Best Business Models. Wiley, 2020.
[Sen06] Peter M. Senge. The Fifth Discipline: The Art & Practice of The Learning
Organization. Currency, 2006.
[WM15] Geoff Watts and Kim Morgan. The Coach’s Casebook: Mastering The Twelve
Traits That Trap Us. Inspect & Adapt Ltd, 2015.
174
Nomenclature
MMP The product with the smallest feature set that still addresses the user needs and
creates the right user experience.
175
Glossary
176
Glossary
CD Continuous Deployment.
CI Continuous Integration.
CoD Cost of Delay.
consistency Firmness of constitution or character: persistency.
CoP Community of Practice.
Cost of Delay Cost of delay is the difference in the value of doing
something sooner vs. doing it later. The cost of delay
of a new product development project is the amount
of additional profit you would make by launching a
product at an earlier time ’X’ vs. launching at a later
time ’Y’. It is the total profit-dollars lost per unit of
time of delay, e.g., the total amount of dollars lost, per
month, per week, or per day of delay..
cross-functional team member Cross-functional teams consist of people, which have
all the skills necessary to create a product. In soft-
ware development they typicaly consists of design-
ers, developers, testers, and further necessary roles.
The team will deliver on regular cadence. They are
crusual for the success of Agile Development, since
they can provide value in the shortest possible time,
with higher quality, and without external dependen-
cies..
Cumulative Flow Diagram A cumulative flow diagram is a tool used in queuing
theory. It is an area graph that depicts the quantity of
work in a given state, showing arrivals, time in queue,
quantity in queue, and departure..
cycle time Latency between start of work and the completion.
(see also lead time).
177
Glossary
Daily Stand–up Each day at the same time, the team meets so as to
bring everyone up to date on the information that
is vital for coordination: each team members briefly
describes any “completed” contributions and any ob-
stacles that stand in their way. The meeting is nor-
mally held in front of the task board. This meeting
is normally timeboxed to a maximum duration of 15
minutes, though this may need adjusting for larger
teams. To keep the meeting short, any topic that starts
a discussion is cut short, added to a “parking lot” list,
and discussed in greater depth after the meeting, be-
tween the people affected by the issue..
Definition of Done The team agrees on, and displays prominently some-
where in the team room, a list of criteria which must
be met before a product increment “often a user story”
is considered “done”. Failure to meet these criteria
at the end of a sprint normally implies that the work
should not be counted toward that sprint’s velocity..
DevOps DevOps is a set of practices that combines software
development (Dev) and IT operations (Ops). It aims
to shorten the systems development life cycle and
provide CI with high software quality. DevOps is
complementary with Agile software development;
several DevOps aspects came from the Agile method-
ology.
DoD Definition of Done.
178
Glossary
lead time A lead time is the latency between the initiation and
completion of a process..
1
https://healthineers.sharepoint.com/sites/HealthineersPerformanceSystem
179
Glossary
180
Glossary
task board In its most basic form, a task board can be drawn on a
whiteboard or even a section of wall. Using electrical
tape or a dry erase pen, the board is divided into three
columns labeled “To Do”, “In Progress” and “Done”.
Sticky notes or index cards, one for each task the team
is working on, are placed in the columns reflecting
the current status of the tasks..
TDD Test-driven development (TDD) is a software devel-
opment process relying on software requirements
being converted to test cases before software is fully
developed, and tracking all software development by
repeatedly testing the software against all test cases.
This is opposed to software being developed first and
test cases created later. American software engineer
Kent Beck, who is credited with having developed or
“rediscovered” the technique, stated in 2003 that TDD
encourages simple designs and inspires confidence.
Test-driven development is related to the test-first pro-
gramming concepts of extreme programming, begun
in 1999, but more recently has created more general
interest in its own right. Programmers also apply
the concept to improving and debugging legacy code
developed with older techniques (Wikipedia) .
181
Glossary
WIP Work-in-Progress.
XP eXtreme Programming.
182
Index
183
INDEX
184
INDEX
185
INDEX
186