Promise is debt - A Systems Thinking perspective on technical debt - Marc Evers & Willem van den...

40
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

description

 

Transcript of Promise is debt - A Systems Thinking perspective on technical debt - Marc Evers & Willem van den...

  • 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