Patton kanban fr
Upcoming SlideShare
Loading in...5
×
 

Patton kanban fr

on

  • 298 views

 

Statistics

Views

Total Views
298
Slideshare-icon Views on SlideShare
298
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Patton kanban fr Patton kanban fr Presentation Transcript

    • Using Kanban Techniquesto Control IncrementalDevelopmentJeff PattonAgileProductDesign.comjpatton@acm.orgDownload this presentation at: www.agileproductdesign.com/downloads/patton_kanban.ppt
    • In this short talk we’ll cover:1. What is a Kanban System and howdoes it apply to software development?2. How to set up a development teamKanban System3. Applying Lean thinking to softwaredevelopment2
    • 看板 – Kanban cards limit excess workin progress看板 – Kanban literally means“visual card,” “signboard,” or“billboard.”Toyota originally used Kanbancards to limit the amount ofinventory tied up in “work inprogress” on a manufacturing floorNot only is excess inventory waste,time spent producing it is timethat could be expended elsewhereKanban cards act as a form of“currency” representing how WIPis allowed in a system.3
    • Kanban simulationLet’s simulate a simple process, then see if we canimprove it by adding a Kanban system.I’ll need 5 volunteers to manufacture the latest inhigh-tech aircraft4
    • Why use Kanban inSoftware Development?(we’re not building aircraft – or anything tangible really)5
    • Time-boxed iterative development haschallengesCommon problems include:•Short time-boxes give more frequent opportunity tomeasure progress and inspect software but forcedevelopment items to be smaller•Smaller development items are often too small to bevaluable and difficult to identify•Quality of requirements suffers as analysts rush to preparefor upcoming cycles•Quality of current development suffers when busy analystsare unable to inspect software or answer questions duringdevelopment•Quality often suffers as testers race to complete work latein the development time-box 6
    • Inside an iteration, effort across roles isunevenDevelopment work often continues throughout a cyclewhile testing starts late and never seems to get enough time7
    • Using a Kanban approachin software drops time-boxed iterations in favor offocusing on continuousflow.8
    • How to set up a simpleKanban system for asoftware developmentteam.9
    • 1. Définir un flux de processus de travailRegardez le flux typique des caractéristiques, historique oudes lots de travaux et décrire les étapes du processus typiqueCe flux de processus simple comprendles étapes:1. critères délaboration et dacceptation2. développement3. essai4. déploiement10
    • 2. Disposez d’un tableau Kanban visuelPlace a goals column on the left, then a waiting queue, theprocess steps, and a final “done” column to the rightPlace an expedite track above the mainleft to right queuePlace “done and waiting” queues betweeneach work queue(in this example they’re placed below)11
    • 3. Decide on limits for items in queueand work in progressA good limit is a factor of the number of people in a role that can workon an item in a given process step. Start with number of people * 1.5This board uses painters tape to indicateavailable “slots” for work in progress12
    • 4. Place prioritized goals on the leftcolumn of the boardA good goal describes the outcome we hope to achieve after softwareships. Goals help keep focus on the larger outcome.Having goals visible:•promotes focus•helps us prioritize•helps us manage feature scope &requirements13
    • 5. Start the board by placing stories orfeatures in queueMark on the story or feature card the date it entered the queue. Thisbegins our measurement of cycle time.Product owners manage the waitingqueue14
    • 6. Move features through the processflow as work is completedAs the story enters the first process step, mark that date on the card.This is the start date. As it’s finished, mark that date on the card. Thisis the finish date. 15
    • 7. Use the dates on the cards tocalculate cycle timeUse average cycle time to set wait times from different points on theboard. Pay attention to flow and bottlenecks: relieving bottlenecks asquickly as possible.Cycle time = finish date – start dateThe average cycle time from the date theitem enters the board is the wait timefrom this point in the queue16
    • Display and manage cycle timesReduce the number of Kanban slots allowed until cycle time remainsunchangedReduce the size of development items•Work in progress is actually the number of items * the average size of itemsIdentify and act on bottlenecks immediately•Relieve repeated bottlenecks by changing the number and types of people ineach role and cross trainingDisneyland’spublic display ofcycle-times17
    • Kanban Boards18
    • Kanban Boards19
    • Kanban Boards20
    • Kanban Boards21
    • Kanban Boards22
    • Explode large process steps into tasksto improve visibilityWhen a feature, user story, or work item is large: Takes longer than a couple days to complete Requires that multiple people collaborate on its completionDecompose that step into cards to track independentlyFeature todevelop Tasks in queueTasks inprogressTaskscompleteFeaturecomplete23
    • Kanban Board with TaskDecomposition24
    • Use cumulative flow diagrams tovisualize work in progresswww.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html25
    • Use cumulative flow diagrams tovisualize work in progresswww.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html26
    • Keep time-boxed product and processinspectionKeep regular time-boxes in your process as a cue for productinspection:•Evaluate the quality of the growing product from a functional,engineering, and user experience perspectiveEvaluate your pace of development:•Look at the number of development items completed relative to goals•Look at the average cycle time per development item•Calculate the ratio of developer days per completed item. Use thisratio to estimate the completion time for undeveloped items•Adjust your development plan as necessaryEvaluate and adjust the process you’re using•Use a process reflection session to identify changes you could make toimprove your product or paceEnding cycles right: http://www.stickyminds.com/s.asp?F=S14865_COL_227
    • Begin looking at your process using Lean thinkingCockburn’s Software Engineering in the 21st Century:http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt28
    • Since we’re engaged in “knowledge work” look atthe cycle time of validated decisions, or knowledgeCockburn’s Software Engineering in the 21st Century:http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt29
    • Often the feedback loop is overlooked – it’s theinvisible backed-up queueCockburn’s Software Engineering in the 21st Century:http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt30
    • Setting up a simple Kanbansystem starts to focus the teamon the cycle-time of deliveredwork and gives a way to detectand begin to resolve bottlenecks31
    • 33• Anderson, Kanban in Action:http://www.agilemanagement.net/Articles/Weblog/KanbaninAction.html• Hiranabe, Kanban Applied to Software Development: from Agileto Lean: http://www.infoq.com/articles/hiranabe-lean-agile-kanban• Ladas, Scrumban - Essays on Kanban Systems for LeanSoftware Development: http://www.lulu.com/content/3864767• Ladas, Scrum-ban:http://leansoftwareengineering.com/ksse/scrum-ban/• Belshee, Naked Planning, Kanban Simplified:http://joearnold.com/2008/03/naked-planning-kanban-simplified/Kanban References: