Upload
agileminds
View
726
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Promise is debt
Trouble in (agile) paradise
Marc Evers - [email protected] Willem van den Ende - [email protected] 2008-2010 QWAN
Lean & Kanban Europe 2010, 24 September 2010
Overview
About us Benefits Our problem Systems Thinking
in six simple steps Summary Q&A
[email protected] [email protected] [email protected]
www.qwan.it
Key points
Most problems are systemic
Look at whole & parts
Tackle root causes, instead of fire fighting
Prevent local optimization
Our problem
We taught everybody agile but....We taught everybody agile but....
customers are unhappycustomers are unhappy
developers are preparing their resumesdevelopers are preparing their resumes
What happened?What happened?What can we do now?What can we do now?
How can we prevent this the next time?How can we prevent this the next time?
We need to look at
the whole system
Diagram of Effects 6 Steps
1. tell the story ask questions, determine scope and focus question
2. collect variables observable or measurable behaviour over time
3. determine cause effect relations
4. look for loops reinforcing, stabilizing
5. simplify 7 2 variables - remove unrelated variables split up the diagram
6. identify possible interventions
Step 1 Tell the Story
Perceived SituationPerceived Situation
Telling already gives inspirationTelling already gives inspiration
Try not to jump to solutions nowTry not to jump to solutions now
Story - Adding a customer
Who has 1 customer?Who has 1 customer?
Who serves multiple customers?Who serves multiple customers?
Who has to share developers with other Who has to share developers with other customers?customers?
Manager in the middle
3 customers, 4 developers, 1 manager3 customers, 4 developers, 1 manager
'special features' for each customer'special features' for each customer
The road to hell is paved with good intentions
Let's promise one 'special feature'Let's promise one 'special feature'
to show what we can doto show what we can do
Step 2 Collect Variables
Simple names work bestWe use # to indicate numbers
Brainstorm: don't worry about relevance or relations
Our variables
Features promised
Customer satisfaction
Plannedfeatures
Customerexpectations
BA BA
BA
Step 3 Determine Cause Effect Relations
Delay
'Positive' Effect 'Negative' Effect
Features promised
Customer satisfaction
Plannedfeatures
Customerexpectations
Tell some more...
Developers work harder, but cut corners
More defects
Customers :(
Manager promises a bit more...
Featurespromised
Customer satisfaction
Customerexpectations
Plannedfeatures
Workload
DefectsPressure
todeliver
Corners cut
Designdebt
Step ... Oh yes, that reminds me
Design debt makes each new feature more xpnsiv
velocity
goes
down
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Step 4 Identify LoopsStep 4 Identify Loops
This gives focus for interventionsThis gives focus for interventions
Even number of 'negative' effects: SnowballEven number of 'negative' effects: SnowballOdd: StabilizingOdd: Stabilizing
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Where are the loops?
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Step 5 - Simplify
Remove Variables and Relations
What causes this?
Customers don't have a choice well, that's what they think afraid to speak up and put up with it the product is really not that important
Developers try to make the best of it pride in craftsmanship over early escalation
Managers want to score escalation / early transparency equals losing face
However
Sooner or later, the system will collapse
People burn outDevelopers leaveCustomers give up
Step 6 - Identify possible interventions
BA
Add Management Decision
Remove Variable
Defects
Add Variable
?
What would you do to recover from this What would you do to recover from this situation?situation?
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Use a 'gate'
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Developers say 'no'
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
Don't overpromise
Recover
Probability that promises will be
fulfilled
Designdebt
Corners cut
Pressureto deliver
Defects
WorkloadCustomer satisfaction
Features promised
Customerexpectations
Plannedfeatures
Time needed for defectsand new features
CodeReview
Higher level interventions (1)
Work on a clear product vision product boxes release early
Shield team from customer interruptions no let's just do this customer proxy / product owner / product manager
Use more 'places to intervene in a system' but not too many
Change mental models what is development now? change the cultural pattern
Higher level interventions (2)
Creating a diagram of effects
1. tell the story ask questions, determine scope and focus question
2. collect variables observable or measurable behaviour over time
3. determine cause effect relations
4. look for loops reinforcing, stabilizing
5. simplify 7 2 variables - remove unrelated variables split up the diagram
6. identify possible interventions
Systems thinking in practice
Pitfall: it's only the perception of the group that makes the diagram
Involvement leads to buy-in for interventions
Diagram helps to explain it to others
It's all about storytelling
The diagram is a nice by-product
Don't obsess over your models
It's not just a ... problemIt's not just a ... problem
difficult issues are technical, difficult issues are technical, organizational and managerial organizational and managerial
all at onceall at oncelinear cause-effect linear cause-effect
thinking is not enoughthinking is not enough
root causes are usually root causes are usually systemicsystemic
blaming someone else blaming someone else does not solve itdoes not solve it
We need to look at
the whole system
Seriously
Background
Gerald M. Weinberg, Quality Software Management Vol. 1-4
Peter M. Senge, The Fifth Discipline (1993)
Linda Booth Sweeney & Dennis Meadows, Systems Thinking Playbook (1995)
Poppendieck, Implementing Lean Software Development (2006)
Kent Beck, eXtreme Programming Explained (1999)
Donella H. Meadows, Places to Intervene in a System (1997)
www.developerdotstar.com/mag/articles/places_intervene_system.html
Marc Evers & Willem van den Ende, Promise is Debt (2008)
www.systemsthinking.net/publications/promise_is_debt_6-2-2008.pdf
Credits
wicked weather by alexdecarvalho - flickr.com/photos/adc/423172478/
Point! by Lisamarie Babik - flickr.com/photos/78453620@N00/1448178195
Earth, courtesy Apollo 17, and probably the most reproduced image of all time by
woodleywonderworks - flickr.com/photos/wwworks/2222548359/in/photostream/
Our Milky Way Galaxy.. by Sir Mervs - flickr.com/photos/14150482@N02/2544902240
WHAT ARE YOU LOOKING AT? by nolifebeforecoffee - flickr.com/photos/55279617@N00/124659356
Artistic Wormhole by Steve Jurvetson - flickr.com/photos/44124348109@N01/2490285058
Measuring time aussiegall - flickr.com/photos/aussiegall/286709039/
New Year's Resolution: 36/365 by Sasha Wolff flickr.com/photos/27786290@N05/3171917389
dog on treadmill by Anne Norman flickr.com/photos/29278394@N00/23844169
Free Loopy Colorful Background Wallpaper Creative Commons by D. Sharon Pruitt
flickr.com/photos/40645538@N00/447277429
Baker Hotel (half of it!) by Justin Cozart - flickr.com/photos/40011478@N00/2296478479
Which way? by Kevin Dooley flickr.com/photos/12836528@N00/2445707568
Flickr images were collected using QWAN Labs PhotoSuggest - labs.qwan.it/photosuggest
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40