SlideShare une entreprise Scribd logo
1  sur  33
Using Kanban Techniques
to Control Incremental
Development




Jeff Patton
AgileProductDesign.com
jpatton@acm.org
Download this presentation at: www.agileproductdesign.com/downloads/patton_kanban.ppt
In this short talk we’ll cover:


 1. What is a Kanban System and how
does it apply to software development?
 2. How to set up a development team
           Kanban System
 3. Applying Lean thinking to software
             development

                                         2
看板 – Kanban cards limit excess work
in progress
看板 – Kanban literally means
“visual card,” “signboard,” or
“billboard.”
Toyota originally used Kanban
cards to limit the amount of
inventory tied up in “work in
progress” on a manufacturing floor
Not only is excess inventory waste,
time spent producing it is time
that could be expended elsewhere
Kanban cards act as a form of
“currency” representing how WIP
is allowed in a system.
                                      3
Kanban simulation
Let’s simulate a simple process, then see if we can
      improve it by adding a Kanban system.




I’ll need 5 volunteers to manufacture the latest in
                 high-tech aircraft
                                                      4
Why use Kanban in
Software Development?
(we’re not building aircraft – or anything tangible really)




                                                              5
Time-boxed iterative development has
challenges
Common problems include:
•Short time-boxes give more frequent opportunity to
measure progress and inspect software but force
development items to be smaller
•Smaller development items are often too small to be
valuable and difficult to identify
•Quality of requirements suffers as analysts rush to prepare
for upcoming cycles
•Quality of current development suffers when busy analysts
are unable to inspect software or answer questions during
development
•Quality often suffers as testers race to complete work late
in the development time-box                                  6
Inside an iteration, effort across roles is
uneven




Development work often continues throughout a cycle
while testing starts late and never seems to get enough time
                                                           7
Using a Kanban approach
 in software drops time-
boxed iterations in favor of
 focusing on continuous
           flow.

                               8
How to set up a simple
 Kanban system for a
software development
        team.


                         9
1. Define a work process flow




                          This simple process flow has the steps:
                          2.elaboration & acceptance criteria
                          3.development
                          4.test
                          5.deployment




Look at the typical flow for features, stories, or work
packages and describe typical process steps                     10
2. Lay out a visual Kanban board

                          Place an expedite track above the main
                          left to right queue




                          Place “done and waiting” queues
                          between each work queue
                          (in this example they’re placed below)

Place a goals column on the left, then a waiting queue, the
process steps, and a final “done” column to the right       11
3. Decide on limits for items in queue
and work in progress




                           This board uses painters tape to
                           indicate available “slots” for work in
                           progress




A good limit is a factor of the number of people in a role that can work
on an item in a given process step. Start with number of people * 1.5
                                                                       12
4. Place prioritized goals on the left
column of the board



                 Having goals visible:
                 •promotes focus
                 •helps us prioritize
                 •helps us manage feature scope &
                 requirements




A good goal describes the outcome we hope to achieve after software
ships. Goals help keep focus on the larger outcome.
                                                                      13
5. Start the board by placing stories or
features in queue



                       Product owners manage the waiting
                       queue




Mark on the story or feature card the date it entered the queue. This
begins our measurement of cycle time.
                                                                        14
6. Move features through the process
flow as work is completed




As 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. This
is the finish date.                                                      15
7. Use the dates on the cards to
calculate cycle time



                       Cycle time = finish date – start date
                       The average cycle time from the date
                       the item enters the board is the wait
                       time from this point in the queue




Use average cycle time to set wait times from different points on the
board. Pay attention to flow and bottlenecks: relieving bottlenecks as
quickly as possible.                                                  16
Display and manage cycle times
                                                                  Disneyland’s
                                                                  public display of
                                                                  cycle-times




Reduce the number of Kanban slots allowed until cycle time remains
unchanged
Reduce the size of development items
•Work in progress is actually the number of items * the average size of items
Identify and act on bottlenecks immediately
•Relieve repeated bottlenecks by changing the number and types of people in
each role and cross training                                                17
Kanban Boards




                18
Kanban Boards




                19
Kanban Boards




                20
Kanban Boards




                21
Kanban Boards




                22
Explode large process steps into tasks
to improve visibility
When a feature, user story, or work item is large:
      Takes longer than a couple days to complete
      Requires that multiple people collaborate on its completion
Decompose that step into cards to track independently

Feature to                    Tasks in     Tasks         Feature
 develop     Tasks in queue   progress    complete      complete




                                                                     23
Kanban Board with Task
Decomposition




                         24
Use cumulative flow diagrams to
visualize work in progress




www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
                                                                         25
Use cumulative flow diagrams to
visualize work in progress




www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
                                                                         26
Keep time-boxed product and process
inspection
Keep regular time-boxes in your process as a cue for product
inspection:
•Evaluate the quality of the growing product from a functional,
engineering, and user experience perspective

Evaluate 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 this
ratio to estimate the completion time for undeveloped items
•Adjust your development plan as necessary

Evaluate and adjust the process you’re using
•Use a process reflection session to identify changes you could make to
improve your product or pace
                                                                       27
Ending cycles right: http://www.stickyminds.com/s.asp?F=S14865_COL_2
Begin looking at your process using Lean thinking




Cockburn’s Software Engineering in the 21st Century:
                                                                           28
http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
Since we’re engaged in “knowledge work” look at
the cycle time of validated decisions, or knowledge




Cockburn’s Software Engineering in the 21st Century:
                                                                           29
http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
Often the feedback loop is overlooked – it’s the
invisible backed-up queue




Cockburn’s Software Engineering in the 21st Century:
                                                                           30
http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
Setting up a simple Kanban
 system starts to focus the team
  on the cycle-time of delivered
 work and gives a way to detect
and begin to resolve bottlenecks


                                   31
Using Kanban Techniques
to Control Incremental
Development




Jeff Patton
AgileProductDesign.com
jpatton@acm.org
Download this presentation at: www.agileproductdesign.com/downloads/patton_kanban.ppt
Kanban References:
• Anderson, Kanban in Action:

  http://www.agilemanagement.net/Articles/Weblog/KanbaninAction.ht
  ml
• Hiranabe, Kanban Applied to Software Development: from Agile
  to Lean: http://www.infoq.com/articles/hiranabe-lean-agile-kanban
• Ladas, Scrumban - Essays on Kanban Systems for Lean
  Software 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/

                                                                33

Contenu connexe

Tendances

Kanban != Kanban Board
Kanban != Kanban BoardKanban != Kanban Board
Kanban != Kanban BoardSudipta Lahiri
 
Scrumban (Lean Agile Fusion) V1.1
Scrumban (Lean Agile Fusion) V1.1Scrumban (Lean Agile Fusion) V1.1
Scrumban (Lean Agile Fusion) V1.1Michael O'Rourke
 
A Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentA Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentShiraz316
 
Kanban vs scrum
Kanban vs scrumKanban vs scrum
Kanban vs scrumMaha Saad
 
Vt2014 kanban presentation
Vt2014 kanban presentationVt2014 kanban presentation
Vt2014 kanban presentationplog99
 
Implementing Kanban to Improve your Workflow
Implementing Kanban to Improve your WorkflowImplementing Kanban to Improve your Workflow
Implementing Kanban to Improve your WorkflowJennifer Davis
 
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All MeetingsYour Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All MeetingsJiby John
 
Agile & kanban in Coordination
Agile & kanban in CoordinationAgile & kanban in Coordination
Agile & kanban in CoordinationRyan Polk
 
Synerzip Agile Cheat Sheet
Synerzip Agile Cheat SheetSynerzip Agile Cheat Sheet
Synerzip Agile Cheat Sheetjillfrank12
 
Edwin Ritter NJ 2015
Edwin Ritter NJ 2015Edwin Ritter NJ 2015
Edwin Ritter NJ 2015Edwin Ritter
 
Making the Work Visible
Making the Work VisibleMaking the Work Visible
Making the Work VisibleAlisson Vale
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference CardTechcanvass
 
Black Marble Introduction To Scrum
Black Marble Introduction To ScrumBlack Marble Introduction To Scrum
Black Marble Introduction To ScrumBusinessQuests
 
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!Mahesh Singh
 

Tendances (20)

Kanban != Kanban Board
Kanban != Kanban BoardKanban != Kanban Board
Kanban != Kanban Board
 
PMBoK and Scrum: can we be friends?
PMBoK and Scrum: can we be friends?PMBoK and Scrum: can we be friends?
PMBoK and Scrum: can we be friends?
 
Scrumban (Lean Agile Fusion) V1.1
Scrumban (Lean Agile Fusion) V1.1Scrumban (Lean Agile Fusion) V1.1
Scrumban (Lean Agile Fusion) V1.1
 
A Pattern-Language-for-software-Development
A Pattern-Language-for-software-DevelopmentA Pattern-Language-for-software-Development
A Pattern-Language-for-software-Development
 
Kanban vs scrum
Kanban vs scrumKanban vs scrum
Kanban vs scrum
 
Kanban English
Kanban   EnglishKanban   English
Kanban English
 
Vt2014 kanban presentation
Vt2014 kanban presentationVt2014 kanban presentation
Vt2014 kanban presentation
 
Implementing Kanban to Improve your Workflow
Implementing Kanban to Improve your WorkflowImplementing Kanban to Improve your Workflow
Implementing Kanban to Improve your Workflow
 
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All MeetingsYour Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
Your Scrum Checklist: Scrum Hard Facts: Roles. Artefacts. All Meetings
 
Agile & kanban in Coordination
Agile & kanban in CoordinationAgile & kanban in Coordination
Agile & kanban in Coordination
 
Synerzip Agile Cheat Sheet
Synerzip Agile Cheat SheetSynerzip Agile Cheat Sheet
Synerzip Agile Cheat Sheet
 
Kanban Vs Scrum
Kanban Vs ScrumKanban Vs Scrum
Kanban Vs Scrum
 
Edwin Ritter NJ 2015
Edwin Ritter NJ 2015Edwin Ritter NJ 2015
Edwin Ritter NJ 2015
 
Making the Work Visible
Making the Work VisibleMaking the Work Visible
Making the Work Visible
 
Kanban 101
Kanban 101Kanban 101
Kanban 101
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
Black Marble Introduction To Scrum
Black Marble Introduction To ScrumBlack Marble Introduction To Scrum
Black Marble Introduction To Scrum
 
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!It's not Scrum VS. Kanban! It is Scrum AND Kanban!
It's not Scrum VS. Kanban! It is Scrum AND Kanban!
 
Scrum Process
Scrum ProcessScrum Process
Scrum Process
 
Scrum cheat sheet
Scrum cheat sheetScrum cheat sheet
Scrum cheat sheet
 

Similaire à Patton kanban

Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Rasan Samarasinghe
 
Kanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum pptKanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum pptSabaKhalid48
 
Kanban_230916
Kanban_230916Kanban_230916
Kanban_230916Ram Kumar
 
Kanban board 9th may 2017
Kanban board   9th may 2017Kanban board   9th may 2017
Kanban board 9th may 2017gagann78
 
Kanban
KanbanKanban
Kanbanbramoe
 
Archana Joshi Aug 2013 Kanban Spin Pune
Archana Joshi Aug 2013 Kanban Spin Pune Archana Joshi Aug 2013 Kanban Spin Pune
Archana Joshi Aug 2013 Kanban Spin Pune Archana Joshi
 
Lean Kanban India 2018 | Leveraging Lean and Kanban to implement Continuous ...
Lean Kanban India 2018 |  Leveraging Lean and Kanban to implement Continuous ...Lean Kanban India 2018 |  Leveraging Lean and Kanban to implement Continuous ...
Lean Kanban India 2018 | Leveraging Lean and Kanban to implement Continuous ...LeanKanbanIndia
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementRavi Tadwalkar
 
Kanban - The Alternate Path to Agile
Kanban - The Alternate Path to AgileKanban - The Alternate Path to Agile
Kanban - The Alternate Path to AgileMahesh Singh
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handoutsDotNetCampus
 
Project Management Tool – Kanban Board
Project Management Tool – Kanban Board Project Management Tool – Kanban Board
Project Management Tool – Kanban Board SSudhaVelan
 
Odoo project management_casestudy
Odoo project management_casestudyOdoo project management_casestudy
Odoo project management_casestudyRishi Pujara
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentUpekha Vandebona
 

Similaire à Patton kanban (20)

kanban.ppt
kanban.pptkanban.ppt
kanban.ppt
 
Kanban
KanbanKanban
Kanban
 
Tracking through kanban
Tracking through kanbanTracking through kanban
Tracking through kanban
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...
 
Kanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum pptKanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum ppt
 
Kanban_230916
Kanban_230916Kanban_230916
Kanban_230916
 
Kanban board 9th may 2017
Kanban board   9th may 2017Kanban board   9th may 2017
Kanban board 9th may 2017
 
Kanban
KanbanKanban
Kanban
 
Kanban Methodology
Kanban MethodologyKanban Methodology
Kanban Methodology
 
Archana Joshi Aug 2013 Kanban Spin Pune
Archana Joshi Aug 2013 Kanban Spin Pune Archana Joshi Aug 2013 Kanban Spin Pune
Archana Joshi Aug 2013 Kanban Spin Pune
 
Lean Kanban India 2018 | Leveraging Lean and Kanban to implement Continuous ...
Lean Kanban India 2018 |  Leveraging Lean and Kanban to implement Continuous ...Lean Kanban India 2018 |  Leveraging Lean and Kanban to implement Continuous ...
Lean Kanban India 2018 | Leveraging Lean and Kanban to implement Continuous ...
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Kanban - The Alternate Path to Agile
Kanban - The Alternate Path to AgileKanban - The Alternate Path to Agile
Kanban - The Alternate Path to Agile
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handouts
 
Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
 
Project Management Tool – Kanban Board
Project Management Tool – Kanban Board Project Management Tool – Kanban Board
Project Management Tool – Kanban Board
 
Kanban
Kanban Kanban
Kanban
 
Agile survival kit
Agile survival kitAgile survival kit
Agile survival kit
 
Odoo project management_casestudy
Odoo project management_casestudyOdoo project management_casestudy
Odoo project management_casestudy
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 

Dernier

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Dernier (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Patton kanban

  • 1. Using Kanban Techniques to Control Incremental Development Jeff Patton AgileProductDesign.com jpatton@acm.org Download this presentation at: www.agileproductdesign.com/downloads/patton_kanban.ppt
  • 2. In this short talk we’ll cover: 1. What is a Kanban System and how does it apply to software development? 2. How to set up a development team Kanban System 3. Applying Lean thinking to software development 2
  • 3. 看板 – Kanban cards limit excess work in progress 看板 – Kanban literally means “visual card,” “signboard,” or “billboard.” Toyota originally used Kanban cards to limit the amount of inventory tied up in “work in progress” on a manufacturing floor Not only is excess inventory waste, time spent producing it is time that could be expended elsewhere Kanban cards act as a form of “currency” representing how WIP is allowed in a system. 3
  • 4. Kanban simulation Let’s simulate a simple process, then see if we can improve it by adding a Kanban system. I’ll need 5 volunteers to manufacture the latest in high-tech aircraft 4
  • 5. Why use Kanban in Software Development? (we’re not building aircraft – or anything tangible really) 5
  • 6. Time-boxed iterative development has challenges Common problems include: •Short time-boxes give more frequent opportunity to measure progress and inspect software but force development items to be smaller •Smaller development items are often too small to be valuable and difficult to identify •Quality of requirements suffers as analysts rush to prepare for upcoming cycles •Quality of current development suffers when busy analysts are unable to inspect software or answer questions during development •Quality often suffers as testers race to complete work late in the development time-box 6
  • 7. Inside an iteration, effort across roles is uneven Development work often continues throughout a cycle while testing starts late and never seems to get enough time 7
  • 8. Using a Kanban approach in software drops time- boxed iterations in favor of focusing on continuous flow. 8
  • 9. How to set up a simple Kanban system for a software development team. 9
  • 10. 1. Define a work process flow This simple process flow has the steps: 2.elaboration & acceptance criteria 3.development 4.test 5.deployment Look at the typical flow for features, stories, or work packages and describe typical process steps 10
  • 11. 2. Lay out a visual Kanban board Place an expedite track above the main left to right queue Place “done and waiting” queues between each work queue (in this example they’re placed below) Place a goals column on the left, then a waiting queue, the process steps, and a final “done” column to the right 11
  • 12. 3. Decide on limits for items in queue and work in progress This board uses painters tape to indicate available “slots” for work in progress A good limit is a factor of the number of people in a role that can work on an item in a given process step. Start with number of people * 1.5 12
  • 13. 4. Place prioritized goals on the left column of the board Having goals visible: •promotes focus •helps us prioritize •helps us manage feature scope & requirements A good goal describes the outcome we hope to achieve after software ships. Goals help keep focus on the larger outcome. 13
  • 14. 5. Start the board by placing stories or features in queue Product owners manage the waiting queue Mark on the story or feature card the date it entered the queue. This begins our measurement of cycle time. 14
  • 15. 6. Move features through the process flow as work is completed As 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. This is the finish date. 15
  • 16. 7. Use the dates on the cards to calculate cycle time Cycle time = finish date – start date The average cycle time from the date the item enters the board is the wait time from this point in the queue Use average cycle time to set wait times from different points on the board. Pay attention to flow and bottlenecks: relieving bottlenecks as quickly as possible. 16
  • 17. Display and manage cycle times Disneyland’s public display of cycle-times Reduce the number of Kanban slots allowed until cycle time remains unchanged Reduce the size of development items •Work in progress is actually the number of items * the average size of items Identify and act on bottlenecks immediately •Relieve repeated bottlenecks by changing the number and types of people in each role and cross training 17
  • 23. Explode large process steps into tasks to improve visibility When a feature, user story, or work item is large:  Takes longer than a couple days to complete  Requires that multiple people collaborate on its completion Decompose that step into cards to track independently Feature to Tasks in Tasks Feature develop Tasks in queue progress complete complete 23
  • 24. Kanban Board with Task Decomposition 24
  • 25. Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html 25
  • 26. Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html 26
  • 27. Keep time-boxed product and process inspection Keep regular time-boxes in your process as a cue for product inspection: •Evaluate the quality of the growing product from a functional, engineering, and user experience perspective Evaluate 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 this ratio to estimate the completion time for undeveloped items •Adjust your development plan as necessary Evaluate and adjust the process you’re using •Use a process reflection session to identify changes you could make to improve your product or pace 27 Ending cycles right: http://www.stickyminds.com/s.asp?F=S14865_COL_2
  • 28. Begin looking at your process using Lean thinking Cockburn’s Software Engineering in the 21st Century: 28 http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
  • 29. Since we’re engaged in “knowledge work” look at the cycle time of validated decisions, or knowledge Cockburn’s Software Engineering in the 21st Century: 29 http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
  • 30. Often the feedback loop is overlooked – it’s the invisible backed-up queue Cockburn’s Software Engineering in the 21st Century: 30 http://alistair.cockburn.us/Software+engineering+in+the+21st+century.ppt
  • 31. Setting up a simple Kanban system starts to focus the team on the cycle-time of delivered work and gives a way to detect and begin to resolve bottlenecks 31
  • 32. Using Kanban Techniques to Control Incremental Development Jeff Patton AgileProductDesign.com jpatton@acm.org Download this presentation at: www.agileproductdesign.com/downloads/patton_kanban.ppt
  • 33. Kanban References: • Anderson, Kanban in Action: http://www.agilemanagement.net/Articles/Weblog/KanbaninAction.ht ml • Hiranabe, Kanban Applied to Software Development: from Agile to Lean: http://www.infoq.com/articles/hiranabe-lean-agile-kanban • Ladas, Scrumban - Essays on Kanban Systems for Lean Software 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/ 33