Upload
codecentric-ag
View
1.201
Download
1
Tags:
Embed Size (px)
DESCRIPTION
A presentation by Ken Schwaber (@kwschaber) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.
Citation preview
Copyright 1993-2010, ADM, All Rights Reserved v1.4
1
State of Scrum
Copyright 1993-2010, ADM, All Rights Reserved v1.4
2ROI of Software Products
Traditional software accounting only takes the cost of
development into account.
A more balanced method would take the long term costs
and value of the product into account.
We should also take into account the impact of short
term decisions on long term ROI
Copyright 1993-2010, ADM, All Rights Reserved v1.4
3
Product ROI over the life of a product is dependent on the variables:
1. Presence of valuable functionality for customers to use;
2. Absence of low value functionality that must be maintained
and sustained regardless;
3. Quality code base to predictably maintain and sustain;
4. Quality code base to enhance without undue effort or risk;
5. Ability to catch defects early and no later than at release;
6. Predictability of schedules;
7. Lack of surprises; and,
8. People and resources available to work on it.
Copyright 1993-2010, ADM, All Rights Reserved v1.4
1. I can readily understand the software and where and how things
happen;
2. When I change or add to part of the software, there are no unintended
or poorly designed dependencies;
3. I can read the code without looking for tricks or poorly defined and
labelled variables or data;
4. I don!t need the person(s) that wrote the code to explain it to me;
5. There are a full set of (automated) tests to check that the function
works as expected;
6. When I change something and add to the tests, I can check that the
entire change and product continues to work;
7. How things work and hang together is tranparent; and,
8. Standard, well-known design principles have been adhered to.
4Quality from a Developer Point of View
Copyright 1993-2010, ADM, All Rights Reserved v1.4
5Green Field Software - A Great Starting Point
Time
ProductBacklog(work)
Velocity (done work over time)
Copyright 1993-2010, ADM, All Rights Reserved v1.4
The Assignment:
• What work would you have to do to
turn the requirements into a “done”
increment?
• If you were developing a “done”,
potentially shippable increment,
what would your definition of “done”
be? Would it include, for example,
refactoring? What else?
The Situation:
• You are a developer at xyz.co, building
advanced life-critical products.
• Your Scrum team is one of seven teams
working on a new release of one of the
products.
• Your team is going to select requirements
(product backlog) to turn into something that
is done (no more work remains, potentially
shippable) within a two-week iteration.
• Each team has all the skills to fully develop
the requirements into a “done increment.”
6Exercise : Five Minutes with Three People Near You
Copyright 1993-2010, ADM, All Rights Reserved v1.4
Did your definition of “done” include the following?
If not, why not?
• Performance testing
• Stability testing
• Refactoring
• Immunological response testing
• Integration with the work of the other six teams
• Integration testing with the work of the other six teams so the
increment is the totality of all seven teams
• Release notes
• Internationalization to the six cultures where the product will be sold
• User acceptance testing
• Regression testing
• Code reviews
Next Exercise : Five Minutes with Three People Near You
7
Copyright 1993-2010, ADM, All Rights Reserved v1.4
8
Planning P D SDevelopment Stabilization
Scrum Project with complete, itegrated “done”
Scrum project with incomplete or variable “done”
P PPP P DD D DD S
S
P
Stabilization is when you do all the “undone” work
PPP PD D DDP
Undone Undone Undone Undone
Copyright 1993-2010, ADM, All Rights Reserved v1.4
9
RCPP PD DD
Plan... 9 Sprints, 3 release candidates and then release.
800 person development organization.
RCPP PD DD RCPP PD DD Release
Actual ... the release candidates were presentation of partially working
functionality from the code branch for each team. A five+ month stabilization
was required prior to release.
“Inadequate performance” was a bug logged in the first Sprint.
RCPP PD DD RCPP PD DD RCPP PD DD ReleaseStabilization
Copyright 1993-2010, ADM, All Rights Reserved v1.4
10
• 120 people, 18 Scrum teams
• Release 1 : Each team produced “done” increments each Sprint, but they
were not integrated or integration tested until “code complete.”
• Release 2: All teams produced an increment of integrated, integration tested
code every Sprint.
Time
Defects
in Release
Release 1
Planned Release
Date
Release 2
Copyright 1993-2010, ADM, All Rights Reserved v1.4
11Consequences of low value software to developers
Core Functionality
Most significant new functionality builds on it;
Also called infrastructure and legacy software;
Is fragile, doesn!t have complete test harnesses, and few people still know how to or are willing to touch it; and,
Requires more time to work on; velocity working on it is less than new work.
Time
ProductBacklog New
Functionality
Core Functionality
Copyright 1993-2010, ADM, All Rights Reserved v1.4
12
Where does core functionality come from? Is it
bought from a malicious competitor?
Time
Product Backlog
Done Velocity = 18
Undone Velocity = 36
Release 1
Time
Product Backlog
Done Velocity = 14
Undone Velocity = 30
Release 2
Copyright 1993-2010, ADM, All Rights Reserved v1.4
13
Or, do we built it ourselves??
Time
Product Backlog
Done Velocity = 8
Undone Velocity = 22
Release 3
65 7
Release 8
Copyright 1993-2010, ADM, All Rights Reserved v1.4
14
What are the smells a
dying piece of software?
What are the
consequences to the
organization?
Velocity in Core
0
500
1000
1500
2000
1 2 3 4 5 6
New Requirements Capability
Req
uir
em
en
ts
Year
Copyright 1993-2010, ADM, All Rights Reserved v1.4
15Exercise - your CEO comes to your development group. She tells you
it is mandatory to deliver three new pieces of functionality within three
Sprints. Otherwise, competitors will decimate the company.
Planned work consists of:
1. Function 1: 20 units of work, 15 new, 5 core
2. Function 2: 40 units of work, 25 new, 15 core
3. Function 3: 30 units of work, 20 new, 10 core
• Velocity for new functionality is 15 units of work per Sprint per team.
• Velocity for core functionality is 5 units of work per Sprint total.
You need a release with all three functions in three months.
Can do you do? Can you save the company?
Copyright 1993-2010, ADM, All Rights Reserved v1.4
16
Copyright 2010, Scrum.org, All Rights Reserved
The Scrum Framework is lightweight and full of holes
13
Copyright 1993-2010, ADM, All Rights Reserved v1.4
“There's a mess I've heard about with quite a few projects recently. It works out like this:
• They want to use an agile process, and pick Scrum
• They adopt the Scrum practices, and maybe even the principles
• After a while progress is slow because the code base is a mess
What's happened is (people using Scrum) haven't paid enough attention to the internal
quality of their software (…) I've mentioned Scrum because when we see this problem,
Scrum seems to be particularly common as the nominative process the team is following
(…) because Scrum is process that's centered on project management techniques and
deliberately omits any technical practices.
I'm sure that the many Flaccid Scrum projects being run will harm Scrum's reputation, and
probably the broader agile reputation as well.”
– Martin Fowler, January 2009
17
Source: http://martinfowler.com/bliki/FlaccidScrum.html
Martin Fowler Calls Scrum “Flaccid” 14
Copyright 1993-2010, ADM, All Rights Reserved v1.4
18
“BY EARLY 2009, … MORE ORGANIZATIONS WERE USING AGILE PROCESSES THAN WATERFALL PROCESSES … HOWEVER, LESS THAN 50% OF THOSE USING SCRUM WERE DEVELOPING IN INCREMENTAL ITERATIONS, WHICH ARE THE HEARTBEAT OF SCRUM.
…
ONE OF THE BIGGEST CHALLENGES OF USING SCRUM HAS ALWAYS BEEN THE STEEP LEARNING CURVE FOR THE DEVELOPERS ON THE SCRUM TEAM.”
-- JEFF SUTHERLAND, KEN SCHWABER, MARCH 2010
Copyright 1993-2010, ADM, All Rights Reserved v1.4Copyright 1993-2010, ADM, All Rights Reserved v1.3
19
Copyright 1993-2010, ADM, All Rights Reserved v1.3
20
12/10/08 Copyright 2008-2009 ScrumAlliance, All Rights Reserved v1.1
Mother-In-Law
The person who knew that her son/daughter could have married better, and who intends to help you be good enough. You have
just invited her to come live with you.
Copyright 1993-2010, ADM, All Rights Reserved v1.3
21However,
When they use Scrum, they run into ScrumButs.
ScrumButs are reasons why they can!t take full advantage of Scrum to solve the problems and realize the benefits.
A ScrumBut has a particular syntax:
(ScrumBut) (Reason)(Workaround)
An example ScrumBut is:
“We use Scrum, but (The Daily Scrum meetings are too much
overhead) (because the team members don!t need to meet so
often) (so we only have them once a week, unless we need them
more often)”
Copyright 1993-2010, ADM, All Rights Reserved v1.3
22Or, Scrum-Ban (Ban Scrum)
1. Iterations not required ...
continuous flow.
2. Interruptions as needed for
new work.
3. Functional specialization
with functional managers.
4.Managers design and
define work; workers pull and
do work.
5.Optimizes return on
investment, not value.
6. Appropriate for
manufacturing, complicated
scenarios.
7. Fancy version of waterfall.
8. Used when Scrum is too
hard to use.
Who, me?!
23
Copyright 2010, Scrum.org, All Rights Reserved
17
Learn about Scrum
Get your teams hands-on Scrum training
Measure their understanding
Set a bar
Learn about Scrum
Get hands-on Scrum training
Measure your understanding
Pass it on
“But I’m a developer,
not a manager!”
“But I’m a manager,
not a developer!”
Copyright 2010, Scrum.org, All Rights Reserved
What are you going to do about it?24
Improving the Profession of Software DevelopmentThe Purpose of Scrum.org
Maintain Scrum
Create and maintain bodies of
knowledge on which to train and assess people for the betterment of
software development.
O!er Training
Work with experts in various
technologies and fields to create a deliver courses that meet the needs of the
software development profession.
Continuously monitor quality.
Assess Knowledge
O!er rigorous assessments to allow people to evaluate their
abilities so they are able to improve.
25
Copyright 2010, Scrum.org, All Rights Reserved
19
Introducing theProfessional Scrum Developer Program
• An innovate program for developers
" from Adrena, CodeCentric, Microsoft, Zuehlke, Pyxis, and the founders of Scrum
• Including a training course, assessment, and certification
• Visit Scrum.org (http://www.scrum.org)
26
Copyright 1993-2010, ADM, All Rights Reserved v1.4
27
Questions?