Lean in Agile TestingUsing Kanban and Cumulative Flow to effectively manage Agile TestingYuval Yeretdevelopmenttestingeffortend of cycletimeCopyright noticeThese slides are licensed under Creative Commons.Feel free to use these slides & pictures as you wish, as long as you leave my name and the Agilesparks logo somewhere. /
Throughout a traditional project/release, workload is usually unbalanced, creating severe bottlenecksdevelopmenttestingeffortend of cycletime
Let’s start with a classic burndown/burnup chart
So we want to get to this…
Keys to steady burnupEffectively sized and testable storiesAllow finishing work end to end quicklyFocus on few stories at a time, rather than work on too much at once
How do we Visualize the work status in more depth?TODOWork in Process (WIP)Done
The Cumulative Flow DiagramIntroduced in Lean Product Development by Don Reinertsen and David AndersonVisualize where the Features/Stories are in the workflow across timeTODOWork in Process (WIP)Done
MushonInbarInbarEladMushonEladInbarEladMushonHow to do a CFD
How to do a CFD
What you see on a CFDTotal ScopeWork in Process (WIP)Average Cycle TimeTODOBurnupDone
Elaborating the WIPHeavy load on QATODODevHeavy load on DevTestDone
Discussion – What do you see happening in your teams?Are all stories finished each Sprint?How are the teams achieving that? What happens to those stories that are not finished?How does the open defects count look during the release?
Lets Sprint!This is the Kanban Story Board for a Scrum SprintFirst – lets see how it looks without any focus on Flow
First day - starting many stories at once - each to his own
Day 4after a few days, a story is finally ready for testing...
Day 6What do you think so far?
Day 8
Board at Sprint Review TimeWhat’s this? Why?
Next Sprint – Day 1Starting with LeftoversNote: Harder to plan around those btw...
“Scrumfall” in CFDTotal ScopeWork in Process (WIP)Average Cycle TimeTODOBurnupDone
If we use a WIP Limit...TODOTestDevAverage Cycle TimeWork in Process (WIP)Done
Pop QuizBlocked/Impeded CardWhat does this mean?Full story at http://yuvalyeret.com/2010/08/03/finding-the-right-dev-to-test-ratio-when-working-in-kanban/
Pop QuizEmpty downstream (Bubble)Dev Done almost FullA lot of WIP in TestEmpty Test DoneTest Bottleneck!Full story at http://yuvalyeret.com/2010/08/03/finding-the-right-dev-to-test-ratio-when-working-in-kanban/
Dealing with bottlenecks – tactical levelFix open defects on our Stories3WIP Limit!Can’t start new DEV work!Help us with BlockerTDTTDDHelp us automate tests for this storyHow can I help current stories?
Dealing with bottlenecks – strategic viewAutomate Setups and Test DataHalf of our work is not core test work. Maybe you can take some of it, or help us reduce waste there Improve Dev Done  quality! – less retesting for us3TDCreating more Blue Light - TOCTDHelp us do ATDD so you can develop based on our test expectations, and also offload some automation effort from usTCome pair with us, you’ll probably see things from our perspective and have some ideas how to help!DHow can I help you be more efficient?
What happens if DONE DONE is a lot of work?Examples:Non-functional TestingE2E TestingI18N/L10N/DocumentationTest AutomationAlternativesMake the sprint longer to include them – BADDon’t include them – how to manage them then?
Flowing all the way to DONE DONEDONE DONEREADYDONE
Example Policy - Classes of Service for Downstream InvolvementRed – Must be involved hands onYellow – Advise/Consult, but most work in TeamsGreen – don’t need any involvementWhy? To get best results with available resources
Pop QuizWhat do you think is happening here?Do we have a bottleneck ?
Build Quality In
Jidoka – Stop the lineDon’t let defects accumulate and hurt you laterKeep the open defects count LOW
SummaryLimit work in process:Stop starting, start finishing

Using kanban and cfd to effectively manage agile testing

  • 1.
    Lean in AgileTestingUsing Kanban and Cumulative Flow to effectively manage Agile TestingYuval Yeretdevelopmenttestingeffortend of cycletimeCopyright noticeThese slides are licensed under Creative Commons.Feel free to use these slides & pictures as you wish, as long as you leave my name and the Agilesparks logo somewhere. /
  • 2.
    Throughout a traditionalproject/release, workload is usually unbalanced, creating severe bottlenecksdevelopmenttestingeffortend of cycletime
  • 3.
    Let’s start witha classic burndown/burnup chart
  • 4.
    So we wantto get to this…
  • 5.
    Keys to steadyburnupEffectively sized and testable storiesAllow finishing work end to end quicklyFocus on few stories at a time, rather than work on too much at once
  • 6.
    How do weVisualize the work status in more depth?TODOWork in Process (WIP)Done
  • 7.
    The Cumulative FlowDiagramIntroduced in Lean Product Development by Don Reinertsen and David AndersonVisualize where the Features/Stories are in the workflow across timeTODOWork in Process (WIP)Done
  • 8.
  • 9.
  • 10.
    What you seeon a CFDTotal ScopeWork in Process (WIP)Average Cycle TimeTODOBurnupDone
  • 11.
    Elaborating the WIPHeavyload on QATODODevHeavy load on DevTestDone
  • 12.
    Discussion – Whatdo you see happening in your teams?Are all stories finished each Sprint?How are the teams achieving that? What happens to those stories that are not finished?How does the open defects count look during the release?
  • 13.
    Lets Sprint!This isthe Kanban Story Board for a Scrum SprintFirst – lets see how it looks without any focus on Flow
  • 14.
    First day -starting many stories at once - each to his own
  • 15.
    Day 4after afew days, a story is finally ready for testing...
  • 19.
    Day 6What doyou think so far?
  • 20.
  • 21.
    Board at SprintReview TimeWhat’s this? Why?
  • 22.
    Next Sprint –Day 1Starting with LeftoversNote: Harder to plan around those btw...
  • 23.
    “Scrumfall” in CFDTotalScopeWork in Process (WIP)Average Cycle TimeTODOBurnupDone
  • 24.
    If we usea WIP Limit...TODOTestDevAverage Cycle TimeWork in Process (WIP)Done
  • 25.
    Pop QuizBlocked/Impeded CardWhatdoes this mean?Full story at http://yuvalyeret.com/2010/08/03/finding-the-right-dev-to-test-ratio-when-working-in-kanban/
  • 26.
    Pop QuizEmpty downstream(Bubble)Dev Done almost FullA lot of WIP in TestEmpty Test DoneTest Bottleneck!Full story at http://yuvalyeret.com/2010/08/03/finding-the-right-dev-to-test-ratio-when-working-in-kanban/
  • 27.
    Dealing with bottlenecks– tactical levelFix open defects on our Stories3WIP Limit!Can’t start new DEV work!Help us with BlockerTDTTDDHelp us automate tests for this storyHow can I help current stories?
  • 28.
    Dealing with bottlenecks– strategic viewAutomate Setups and Test DataHalf of our work is not core test work. Maybe you can take some of it, or help us reduce waste there Improve Dev Done quality! – less retesting for us3TDCreating more Blue Light - TOCTDHelp us do ATDD so you can develop based on our test expectations, and also offload some automation effort from usTCome pair with us, you’ll probably see things from our perspective and have some ideas how to help!DHow can I help you be more efficient?
  • 29.
    What happens ifDONE DONE is a lot of work?Examples:Non-functional TestingE2E TestingI18N/L10N/DocumentationTest AutomationAlternativesMake the sprint longer to include them – BADDon’t include them – how to manage them then?
  • 30.
    Flowing all theway to DONE DONEDONE DONEREADYDONE
  • 31.
    Example Policy -Classes of Service for Downstream InvolvementRed – Must be involved hands onYellow – Advise/Consult, but most work in TeamsGreen – don’t need any involvementWhy? To get best results with available resources
  • 32.
    Pop QuizWhat doyou think is happening here?Do we have a bottleneck ?
  • 33.
  • 34.
    Jidoka – Stopthe lineDon’t let defects accumulate and hurt you laterKeep the open defects count LOW
  • 35.
    SummaryLimit work inprocess:Stop starting, start finishing

Editor's Notes

  • #13 Featuer freeze – lost productivityDevelopers to testing – frsutration, inefficientLast Stories not done – finished in next sprint / left as is / thrown awayDefects Backlog increase
  • #20 Bugs fixingStart design next iterationHelp the QA and hate Scrum 
  • #22 Still story open with defects
  • #26 Empty after testing, development in done testing busy  bottleneck in testingThis is a classic bottleneck in an R&D team.Testing are at their work in progress limit, meaning they cannot take on more work. Acceptance has no work in progress, what we call a “bubble”Development are at their limit as well. Nothing from Testing is DONE waiting to be pulled, which explains why Acceptance has a bubble
  • #27 Empty after testing, development in done testing busy  bottleneck in testingThis is a classic bottleneck in an R&D team.Testing are at their work in progress limit, meaning they cannot take on more work. Acceptance has no work in progress, what we call a “bubble”Development are at their limit as well. Nothing from Testing is DONE waiting to be pulled, which explains why Acceptance has a bubble
  • #28 Empty after testing, development in done testing busy  bottleneck in testingThis is a classic bottleneck in an R&D team.Testing are at their work in progress limit, meaning they cannot take on more work. Acceptance has no work in progress, what we call a “bubble”Development are at their limit as well. Nothing from Testing is DONE waiting to be pulled, which explains why Acceptance has a bubble
  • #29 Automation – not just test automation!How can we help you spend more time actually testing (compared to setup, and other wastes) (http://theoryofconstraints.blogspot.com/2007/06/toc-stories-2-blue-light-creating.html) How often do we need to retest? Why?ATDD - drives better code into testing, as well as offload some testing workAgree on “READY for Testing” criteria for stories, setup relevant team rules and processes.
  • #33 Low quality no bottleneck as development and testing busy Bottleneck in analysis as development busy with low qualiy