SlideShare a Scribd company logo
KANBAN
Bhavya Aggarwal
Senior Director
Knoldus Software LLP
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
In this Knolx we’ll cover:
看板 – 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.
How does Kanban work?
There are many flavors, but the core of Kanban means:
Visualize the workflow
 Split the work into pieces, write each item on a card and put on the wall.
 Use named columns to illustrate where each item is in the workflow.
Limit WIP (work in progress) – assign explicit limits to how many items may be in
progress at each workflow state.
Measure the lead time (average time to complete one item, sometimes called
“cycle time”), optimize the process to make lead time as small and predictable as
possible.
Enable Continuous Improvement - teams measure their effectiveness by tracking
flow, quality, throughput, lead times and more. Experiments and analysis can change
the system to improve the team’s effectiveness.
This is a direct implementation of a lean pull scheduling system.
Why use Kanban in
Software Development?
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
•
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
Using a Kanban approach in
software drops time-boxed
iterations in favor of focusing
on continuous flow.
How to set up a simple
Kanban system for a
software development team.
1. Define a work process flow
Look at the typical flow for features, stories, or work packages and
describe typical process steps
This simple process flow has the
steps:
1.elaboration & acceptance criteria
2.development
3.test
4.deployment
2. Lay out a visual Kanban board
Place a goals column on the left, then a waiting queue, the
process steps, and a final “done” column to the right
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)
3. Decide on limits for items in queue
and 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
This board uses painters tape to
indicate available “slots” for work in
progress
4. Place prioritized goals on the left
column of the board
A good goal describes the outcome we hope to achieve after
software ships. Goals help keep focus on the larger outcome.
Having goals visible:
•promotes focus
•helps us prioritize
•helps us manage feature scope &
requirements
5. Start the board by placing stories or
features in queue
Mark on the story or feature card the date it entered the queue. This
begins our measurement of cycle time.
Product owners manage the waiting
queue
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.
7. Use the dates on the cards to
calculate cycle time
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.
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
Display and manage 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
Disneyland’s
public
display of
cycle-times
Kanban Boards
Kanban Boards
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
develop
Tasks in
queue
Tasks in
progress
Tasks
complete
Feature
complete
Use cumulative flow diagrams to
visualize work in progress
www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
Use cumulative flow diagrams to
visualize work in progress
www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
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
Ending cycles right: http://www.stickyminds.com/s.asp?F=S14865_COL_2
Begin looking at your process using Lean thinking
25
Since we’re engaged in “knowledge work” look at the
cycle time of validated decisions, or knowledge
Often the feedback loop is overlooked – it’s the
invisible backed-up queue
27
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
SCRUM KANBAN
Timeboxed Iterations Timeboxed Iterations Optional
Team commits to a specific
amount of work for this iteration.
Commitment optional.
Uses Velocity as default metric
for planning and process
improvement.
Uses Lead time as default metric
for planning and process
improvement.
Items broken down so they can
be completed within 1 sprint.
No particular item size is
prescribed.
WIP limited indirectly (per sprint) WIP limited directly (per
workflow state)
Estimation prescribed Estimation optional
Cannot add items to ongoing
iteration.
Can add new items whenever
capacity is available
Prescribes 3 roles
(PO/SM/Team)
Doesn’t prescribe any roles
A sprint backlog is owned by one
specific team
A kanban board may be shared
by multiple teams or individuals.
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
?
References
● http://jpattonassociates.com
● https://www.crisp.se/file-uploads/futureofagile-
slides-henrikkniberg.pdf
● https://www.scrumalliance.org/resource_downlo
ad/2338
Thank you

More Related Content

What's hot

Lets kanban
Lets kanbanLets kanban
Lets kanban
Vineet Patni
 
Kanban Basics for Beginners
Kanban Basics for BeginnersKanban Basics for Beginners
Kanban Basics for Beginners
Zsolt Fabok
 
Kanban Workshop
Kanban WorkshopKanban Workshop
Kanban Workshop
Diego A. Gil Aguilar
 
5 Arguments Against Kanban
5 Arguments Against Kanban5 Arguments Against Kanban
5 Arguments Against Kanban
Nick Oostvogels
 
Kanban
KanbanKanban
Kanban
KunalNair1
 
Kanban
KanbanKanban
Kanban
atif22
 
Kanban step bystep
Kanban step bystepKanban step bystep
Kanban step bystep
Project: People
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP?
LeanKit
 
Presentation kanban
Presentation kanbanPresentation kanban
Presentation kanbanNasir Shakil
 
Kanban in 4 easy steps
Kanban in 4 easy steps Kanban in 4 easy steps
Kanban in 4 easy steps
Shore Labs
 
Kanban
KanbanKanban
Introduction to Kanban boards
Introduction to Kanban boardsIntroduction to Kanban boards
Introduction to Kanban boards
ProofHub
 
Kanban HowTo
Kanban HowToKanban HowTo
Kanban HowTo
Daniel Haller
 
Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)
Scrum & Kanban
 
Kanban
Kanban Kanban
Kanban
Stephen Forte
 
Types of waste - lean Concept Krishna Heda
Types of waste - lean Concept Krishna HedaTypes of waste - lean Concept Krishna Heda
Types of waste - lean Concept Krishna Heda
krishnaheda
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
Sriram Srinivasan
 
New Employee Lean Orientation
New Employee Lean OrientationNew Employee Lean Orientation
New Employee Lean Orientation
flevko
 
The Lego Kanban Game
The Lego Kanban GameThe Lego Kanban Game
The Lego Kanban Game
Liz Keogh
 
Kanban introduction
Kanban introductionKanban introduction
Kanban introduction
Ahmed Hammad
 

What's hot (20)

Lets kanban
Lets kanbanLets kanban
Lets kanban
 
Kanban Basics for Beginners
Kanban Basics for BeginnersKanban Basics for Beginners
Kanban Basics for Beginners
 
Kanban Workshop
Kanban WorkshopKanban Workshop
Kanban Workshop
 
5 Arguments Against Kanban
5 Arguments Against Kanban5 Arguments Against Kanban
5 Arguments Against Kanban
 
Kanban
KanbanKanban
Kanban
 
Kanban
KanbanKanban
Kanban
 
Kanban step bystep
Kanban step bystepKanban step bystep
Kanban step bystep
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP?
 
Presentation kanban
Presentation kanbanPresentation kanban
Presentation kanban
 
Kanban in 4 easy steps
Kanban in 4 easy steps Kanban in 4 easy steps
Kanban in 4 easy steps
 
Kanban
KanbanKanban
Kanban
 
Introduction to Kanban boards
Introduction to Kanban boardsIntroduction to Kanban boards
Introduction to Kanban boards
 
Kanban HowTo
Kanban HowToKanban HowTo
Kanban HowTo
 
Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)
 
Kanban
Kanban Kanban
Kanban
 
Types of waste - lean Concept Krishna Heda
Types of waste - lean Concept Krishna HedaTypes of waste - lean Concept Krishna Heda
Types of waste - lean Concept Krishna Heda
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
New Employee Lean Orientation
New Employee Lean OrientationNew Employee Lean Orientation
New Employee Lean Orientation
 
The Lego Kanban Game
The Lego Kanban GameThe Lego Kanban Game
The Lego Kanban Game
 
Kanban introduction
Kanban introductionKanban introduction
Kanban introduction
 

Viewers also liked

Gatling
Gatling Gatling
Gatling
Gaurav Shukla
 
Scrum
ScrumScrum
Akka streams
Akka streamsAkka streams
Akka streams
Knoldus Inc.
 
Introduction to Scala JS
Introduction to Scala JSIntroduction to Scala JS
Introduction to Scala JS
Knoldus Inc.
 
Drilling the Async Library
Drilling the Async LibraryDrilling the Async Library
Drilling the Async Library
Knoldus Inc.
 
Getting Started With AureliaJs
Getting Started With AureliaJsGetting Started With AureliaJs
Getting Started With AureliaJs
Knoldus Inc.
 
String interpolation
String interpolationString interpolation
String interpolation
Knoldus Inc.
 
Mailchimp and Mandrill - The ‘Hominidae’ kingdom
Mailchimp and Mandrill - The ‘Hominidae’ kingdomMailchimp and Mandrill - The ‘Hominidae’ kingdom
Mailchimp and Mandrill - The ‘Hominidae’ kingdom
Knoldus Inc.
 
Realm Mobile Database - An Introduction
Realm Mobile Database - An IntroductionRealm Mobile Database - An Introduction
Realm Mobile Database - An Introduction
Knoldus Inc.
 
Shapeless- Generic programming for Scala
Shapeless- Generic programming for ScalaShapeless- Generic programming for Scala
Shapeless- Generic programming for Scala
Knoldus Inc.
 
An Introduction to Quill
An Introduction to QuillAn Introduction to Quill
An Introduction to Quill
Knoldus Inc.
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8
Knoldus Inc.
 
Introduction to Scala Macros
Introduction to Scala MacrosIntroduction to Scala Macros
Introduction to Scala Macros
Knoldus Inc.
 
Mandrill Templates
Mandrill TemplatesMandrill Templates
Mandrill Templates
Knoldus Inc.
 
ANTLR4 and its testing
ANTLR4 and its testingANTLR4 and its testing
ANTLR4 and its testing
Knoldus Inc.
 
Introduction to ScalaZ
Introduction to ScalaZIntroduction to ScalaZ
Introduction to ScalaZ
Knoldus Inc.
 
Effective way to code in Scala
Effective way to code in ScalaEffective way to code in Scala
Effective way to code in Scala
Knoldus Inc.
 
Functors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In ScalaFunctors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In Scala
Knoldus Inc.
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout Js
Knoldus Inc.
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventions
Knoldus Inc.
 

Viewers also liked (20)

Gatling
Gatling Gatling
Gatling
 
Scrum
ScrumScrum
Scrum
 
Akka streams
Akka streamsAkka streams
Akka streams
 
Introduction to Scala JS
Introduction to Scala JSIntroduction to Scala JS
Introduction to Scala JS
 
Drilling the Async Library
Drilling the Async LibraryDrilling the Async Library
Drilling the Async Library
 
Getting Started With AureliaJs
Getting Started With AureliaJsGetting Started With AureliaJs
Getting Started With AureliaJs
 
String interpolation
String interpolationString interpolation
String interpolation
 
Mailchimp and Mandrill - The ‘Hominidae’ kingdom
Mailchimp and Mandrill - The ‘Hominidae’ kingdomMailchimp and Mandrill - The ‘Hominidae’ kingdom
Mailchimp and Mandrill - The ‘Hominidae’ kingdom
 
Realm Mobile Database - An Introduction
Realm Mobile Database - An IntroductionRealm Mobile Database - An Introduction
Realm Mobile Database - An Introduction
 
Shapeless- Generic programming for Scala
Shapeless- Generic programming for ScalaShapeless- Generic programming for Scala
Shapeless- Generic programming for Scala
 
An Introduction to Quill
An Introduction to QuillAn Introduction to Quill
An Introduction to Quill
 
Introduction to Java 8
Introduction to Java 8Introduction to Java 8
Introduction to Java 8
 
Introduction to Scala Macros
Introduction to Scala MacrosIntroduction to Scala Macros
Introduction to Scala Macros
 
Mandrill Templates
Mandrill TemplatesMandrill Templates
Mandrill Templates
 
ANTLR4 and its testing
ANTLR4 and its testingANTLR4 and its testing
ANTLR4 and its testing
 
Introduction to ScalaZ
Introduction to ScalaZIntroduction to ScalaZ
Introduction to ScalaZ
 
Effective way to code in Scala
Effective way to code in ScalaEffective way to code in Scala
Effective way to code in Scala
 
Functors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In ScalaFunctors, Applicatives and Monads In Scala
Functors, Applicatives and Monads In Scala
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout Js
 
HTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventionsHTML5, CSS, JavaScript Style guide and coding conventions
HTML5, CSS, JavaScript Style guide and coding conventions
 

Similar to Kanban

Patton kanban 1
Patton kanban 1Patton kanban 1
Patton kanban 1
MANAN GILL, MNI
 
kanban.ppt
kanban.pptkanban.ppt
kanban.ppt
ReenaSharma833185
 
Patton kanban
Patton kanbanPatton kanban
Patton kanban
Kulwinder Kaur
 
Kanban_230916
Kanban_230916Kanban_230916
Kanban_230916Ram Kumar
 
Tracking through kanban
Tracking through kanbanTracking 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...
Rasan Samarasinghe
 
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
 
Kanban
Kanban Kanban
Kanban
Gautam Kumar
 
Agile survival kit
Agile survival kitAgile survival kit
Agile survival kit
Stefano Gallotti
 
Kanban Methodology
Kanban MethodologyKanban Methodology
Kanban Methodology
Sudhanva Ramesh
 
Scrumhub scrum-guide-2016
Scrumhub scrum-guide-2016Scrumhub scrum-guide-2016
Scrumhub scrum-guide-2016
Veeresh Yadrami
 
Kanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum pptKanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum ppt
SabaKhalid48
 
Odoo project management_casestudy
Odoo project management_casestudyOdoo project management_casestudy
Odoo project management_casestudy
Rishi Pujara
 
Scrum
ScrumScrum
Kanban English
Kanban   EnglishKanban   English
Kanban English
Carlos Carvajal
 
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
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
JawdatTI
 

Similar to Kanban (20)

Patton kanban 1
Patton kanban 1Patton kanban 1
Patton kanban 1
 
kanban.ppt
kanban.pptkanban.ppt
kanban.ppt
 
Patton kanban fr
Patton kanban frPatton kanban fr
Patton kanban fr
 
Patton kanban
Patton kanbanPatton kanban
Patton kanban
 
Kanban_230916
Kanban_230916Kanban_230916
Kanban_230916
 
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...
 
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
 
Kanban
Kanban Kanban
Kanban
 
Agile survival kit
Agile survival kitAgile survival kit
Agile survival kit
 
Kanban Methodology
Kanban MethodologyKanban Methodology
Kanban Methodology
 
Scrumhub scrum-guide-2016
Scrumhub scrum-guide-2016Scrumhub scrum-guide-2016
Scrumhub scrum-guide-2016
 
Agile methodology and scrum development
Agile methodology and scrum developmentAgile methodology and scrum development
Agile methodology and scrum development
 
Kanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum pptKanban.pptx software engineering scrum ppt
Kanban.pptx software engineering scrum ppt
 
Odoo project management_casestudy
Odoo project management_casestudyOdoo project management_casestudy
Odoo project management_casestudy
 
Scrum
ScrumScrum
Scrum
 
Kanban English
Kanban   EnglishKanban   English
Kanban English
 
Ag02 agile practices - dnc14 handouts
Ag02   agile practices - dnc14 handoutsAg02   agile practices - dnc14 handouts
Ag02 agile practices - dnc14 handouts
 
Project Management Tool – Kanban Board
Project Management Tool – Kanban Board Project Management Tool – Kanban Board
Project Management Tool – Kanban Board
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 

More from Knoldus Inc.

Getting Started with Apache Spark (Scala)
Getting Started with Apache Spark (Scala)Getting Started with Apache Spark (Scala)
Getting Started with Apache Spark (Scala)
Knoldus Inc.
 
Secure practices with dot net services.pptx
Secure practices with dot net services.pptxSecure practices with dot net services.pptx
Secure practices with dot net services.pptx
Knoldus Inc.
 
Distributed Cache with dot microservices
Distributed Cache with dot microservicesDistributed Cache with dot microservices
Distributed Cache with dot microservices
Knoldus Inc.
 
Introduction to gRPC Presentation (Java)
Introduction to gRPC Presentation (Java)Introduction to gRPC Presentation (Java)
Introduction to gRPC Presentation (Java)
Knoldus Inc.
 
Using InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterUsing InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in Jmeter
Knoldus Inc.
 
Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)
Knoldus Inc.
 
Stakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationStakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) Presentation
Knoldus Inc.
 
Introduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationIntroduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) Presentation
Knoldus Inc.
 
Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)
Knoldus Inc.
 
Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)
Knoldus Inc.
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
Knoldus Inc.
 
Integrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationIntegrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test Automation
Knoldus Inc.
 
State Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxState Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptx
Knoldus Inc.
 
Authentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxAuthentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptx
Knoldus Inc.
 
OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)
Knoldus Inc.
 
Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
Knoldus Inc.
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Knoldus Inc.
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
Knoldus Inc.
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
Knoldus Inc.
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
Knoldus Inc.
 

More from Knoldus Inc. (20)

Getting Started with Apache Spark (Scala)
Getting Started with Apache Spark (Scala)Getting Started with Apache Spark (Scala)
Getting Started with Apache Spark (Scala)
 
Secure practices with dot net services.pptx
Secure practices with dot net services.pptxSecure practices with dot net services.pptx
Secure practices with dot net services.pptx
 
Distributed Cache with dot microservices
Distributed Cache with dot microservicesDistributed Cache with dot microservices
Distributed Cache with dot microservices
 
Introduction to gRPC Presentation (Java)
Introduction to gRPC Presentation (Java)Introduction to gRPC Presentation (Java)
Introduction to gRPC Presentation (Java)
 
Using InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterUsing InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in Jmeter
 
Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)
 
Stakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationStakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) Presentation
 
Introduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationIntroduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) Presentation
 
Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)
 
Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
 
Integrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationIntegrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test Automation
 
State Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxState Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptx
 
Authentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxAuthentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptx
 
OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)
 
Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
 

Recently uploaded

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 

Recently uploaded (20)

top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 

Kanban

  • 2. 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 In this Knolx we’ll cover:
  • 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.
  • 4. How does Kanban work? There are many flavors, but the core of Kanban means: Visualize the workflow  Split the work into pieces, write each item on a card and put on the wall.  Use named columns to illustrate where each item is in the workflow. Limit WIP (work in progress) – assign explicit limits to how many items may be in progress at each workflow state. Measure the lead time (average time to complete one item, sometimes called “cycle time”), optimize the process to make lead time as small and predictable as possible. Enable Continuous Improvement - teams measure their effectiveness by tracking flow, quality, throughput, lead times and more. Experiments and analysis can change the system to improve the team’s effectiveness. This is a direct implementation of a lean pull scheduling system.
  • 5. Why use Kanban in Software Development?
  • 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 •
  • 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
  • 8. Using a Kanban approach in software drops time-boxed iterations in favor of focusing on continuous flow.
  • 9. How to set up a simple Kanban system for a software development team.
  • 10. 1. Define a work process flow Look at the typical flow for features, stories, or work packages and describe typical process steps This simple process flow has the steps: 1.elaboration & acceptance criteria 2.development 3.test 4.deployment
  • 11. 2. Lay out a visual Kanban board Place a goals column on the left, then a waiting queue, the process steps, and a final “done” column to the right 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)
  • 12. 3. Decide on limits for items in queue and 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 This board uses painters tape to indicate available “slots” for work in progress
  • 13. 4. Place prioritized goals on the left column of the board A good goal describes the outcome we hope to achieve after software ships. Goals help keep focus on the larger outcome. Having goals visible: •promotes focus •helps us prioritize •helps us manage feature scope & requirements
  • 14. 5. Start the board by placing stories or features in queue Mark on the story or feature card the date it entered the queue. This begins our measurement of cycle time. Product owners manage the waiting queue
  • 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.
  • 16. 7. Use the dates on the cards to calculate cycle time 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. 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
  • 17.
  • 18. Display and manage 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 Disneyland’s public display of cycle-times
  • 21. 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 develop Tasks in queue Tasks in progress Tasks complete Feature complete
  • 22. Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
  • 23. Use cumulative flow diagrams to visualize work in progress www.agilemanagement.net/Articles/Papers/BorConManagingwithCumulat.html
  • 24. 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 Ending cycles right: http://www.stickyminds.com/s.asp?F=S14865_COL_2
  • 25. Begin looking at your process using Lean thinking 25
  • 26. Since we’re engaged in “knowledge work” look at the cycle time of validated decisions, or knowledge
  • 27. Often the feedback loop is overlooked – it’s the invisible backed-up queue 27
  • 28. 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
  • 29. SCRUM KANBAN Timeboxed Iterations Timeboxed Iterations Optional Team commits to a specific amount of work for this iteration. Commitment optional. Uses Velocity as default metric for planning and process improvement. Uses Lead time as default metric for planning and process improvement. Items broken down so they can be completed within 1 sprint. No particular item size is prescribed. WIP limited indirectly (per sprint) WIP limited directly (per workflow state) Estimation prescribed Estimation optional Cannot add items to ongoing iteration. Can add new items whenever capacity is available Prescribes 3 roles (PO/SM/Team) Doesn’t prescribe any roles A sprint backlog is owned by one specific team A kanban board may be shared by multiple teams or individuals.
  • 30. 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. ?