SlideShare a Scribd company logo
1 of 61
Introduction to the Kanban Method
Agenda
1. Basic Concepts
2. A bit of our real-world experience
3. Q&A
Kanban: Signaling
●Capacity signaling
●Work is always “pulled”, not ”pushed”
●Started at Toyota (TPS)
●We use it already in many places
Kanban Method
Kanban Method
2. Limit WIP1. Visualize
work
3. Manage flow
Get to know…
Softwerks
■ A startup with 6 partners, developing mobile and web products
■ 1 marketing/finance/account mgr/PO
■ 3 devs
■ 1 designer
■ 1 QA/support engineer
■ They’re working on 3 projects to finance the development of their own product
They’re working hard
1. Lots of delays
2. Not sure who’s doing what
3. QA complains that many silly bugs should not land for acceptance testing
4. PO complains that their own product gets no attention
5. Many tasks have no clear prioritization, and customers and the commercial team
interfere a lot on sprint work
6. Lots of rework and unfinished stories
7. Some developers became very specialized on some bits of the product but never
touch other parts (some bits of code have an exclusive “owner”)
8. Nobody wants to deploy new versions of the apps because it’s a lot of work and
has to be done at night
9. Can’t see a way out of this, except work harder and harder
Kanban Method
1. Visualize
work
In Progress Done
Backlog Done
1. Separated what’s really in progress and moved
unstarted work to a backlog
In Progress
2. Removed from the backlog old cards that had no clear
value or felt like “wishful thinking”
Backlog DoneIn Progress
Backlog AcceptanceIn Progress QA DeployDesign Done!
3. Mapped their current process
Anatomy of a Kanban
post-it
#435
RV, VC
15/11 27/11
Bug no gráfico
de acessos
Ref number
(JIRA, Pivotal,
Trello..)
Title
Start date End date
Responsible
Any other
relevant
signaling
Kanban Method
2. Limit WIP
Little’s Law
(1961)
Lead Time =
WIP
Throughput
Lei de Little
(1961)
WIP
Throughput
Lead Time =
Lei de Little
(1961)
WIP
Throughput
Lead Time =
Lei de Little
(1961)
WIP
Throughput
Lead Time =
WIP & Quality
WIP & Productivity
Cumulative Flow
Diagram (CFD)
4. Defined a goal for new WIP Limit
Backlog In Progress QA DeployDesign Done!Acceptance
WIP Limit = 20 (current: 33)
Doing Waiting Doing Doing Doing Doing
5. To stop “pushing work”, created some queues per
service
WIP Limit = 20 (curr: 33)
Backlog In Progress QA DeployDesign Done!Acceptance
Waiting Waiting Waiting
Waiting
Doing Waiting Doing Waiting Doing Waiting Doing Waiting Doing
6. To reach WIP count of 20, they agreed on stop
starting new work until the current work in progress was
done
WIP Limit = 20 (curr: 33)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Stop starting, start finishing
WIP Limit = 20 (curr: 33)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
7. They started running their dailies from right to left on
the board
WIP Limit = 20 (curr: 33)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
WIP Limit = 20 (curr: 33)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
WIP Limit = 20 (curr: 29)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
WIP Limit = 20 (curr: 25)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
WIP Limit = 20 (curr: 20)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
8. Finally reached 20! Now they decided to keep at 20
for a while and see how it went
WIP Limit = 20 (curr: 20)
Backlog In Progress QA DeployDesign Done!Acceptance
Cycle time
Avg weekly WIP
Avg cycle time
(days)
Week 1 33 8.7
Week 2 30 8.0
Week 3 27 7.5
Week 4 20 6.0
Week 5 20 5.1
Week 6 20 5.2
Avg WIP Avg cycle time
Throughput
(WIP/TC)
Week 1 33 8.7 3.7
Week 2 30 8.0 3.7
Week 3 27 7.5 3.6
Week 4 20 6.0 3.3
Week 5 20 5.1 3.9
Week 6 20 5.2 3.8
Cycle time
Kanban Method
3. Manage
flow
“
Theory of Constraint (ToC)
“A system of local optimums is not
an optimum system at all”
ToC: an analogy
6 20 4 ?12 7
6 20 4 ?12 7
The throughtput of a system is equal to the throughput of its
bottleneck
Any attempt to increase the throughput of a system beyond that
will cause issues and affect quality
ToC: an analogy
ToC: a process of
continuous
improvement
1. Identify the current bottleneck
2. Ensure the bottleneck is working at its best
3. Subordinate the process to the bottleneck
4. Elevate the bottleneck’s performance
5. Repeat the process to find the next bottleneck
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Scenario: Designer is available but the system is on WIP
limit
WIP Limit = 20 (curr: 20)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Suggestion: The designer helped with QA, and a dev was
allocated to deploy to reduce WIP
WIP Limit = 20 (curr: 20)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Scenario: QA is always overloaded (bottleneck)
WIP Limit = 20 (curr: 20)
Backlog In Progress QA DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Suggestion: Establish a WIP limit for QA
WIP Limit = 20 (curr: 20)
Backlog In Progress QA (4) DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Backlog In Progress QA (4) DeployDesign Done!
WIP Limit = 20 (curr: 20)
Acceptance
Suggestion 2: Switch the order of Acceptance and QA
services so that a story wouldn’t go on QA twice
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Backlog In progress QA (4) DeployDesign Done!
WIP Limit = 20 (curr: 20)
Acceptance
Suggestion 3: Dev team agreed on adopting unit tests
for new stories, to reduce the amount of work to be
performed by QA
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Suggestion 4: The team will count stories that were
rejected on acceptance testing or QA, to track quality
improvement over time
Backlog In progress QA (4) DeployDesign Done!
WIP Limit = 20 (curr: 20)
Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Limite WIP = 20 (curr: 20)
Scenario: PO is too busy to perform acceptance testing
Backlog In progress QA (4) DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing Fila Doing
Limite WIP = 20 (curr: 20)
Suggestion 1: Empower team to have a “proxy PO” who
can perform acceptance testing of non-critical work
Backlog In progress QA (4) DeployDesign Done!Acceptance
Doing Fila Doing Fila Doing Fila Doing
Backlog In progress QA (4) DeployDesign In Prod
WIP Limit = 18
Suggestion 2: remove acceptance testing from the
process, since the team feels they’re mature enough for
it. Let PO test cards in prod, and track rejected work to
see the impact of this change
With one service less, reduced WIP limit to 18
Doing Fila Doing Fila Doing Fila Doing
Backlog In Progress QA (4) DeployDesign In Prod
Limite WIP = 18 (curr: 18 + 2 urgent bugs)
Scenario: urgent bugs and requests show up and must
be worked on ASAP
Doing Fila Doing Fila Doing Fila Doing
Backlog In Progress QA (4) DeployDesign In Prod
WIP Limit = 18 (curr: 18)
Suggestion: Create an “expedite lane” which is part of
the process and is prioritized on top of everything else
Doing Fila Doing Fila Doing Fila Doing
Backlog Em dev QA (4) DeployDesign Feito!
Limite WIP = 18
Scenario: the team never has the chance to work on
their own product
Doing Fila Doing Fila Doing Fila Doing
Backlog In Progress QA (4) DeployDesign In Prod
WIP Limit = 18
Suggestion: the team agreed to put a “product card”
after every four “customer cards” (dedicate 20% capacity
to their product)
Doing Fila Doing Fila Doing Fila Doing
Backlog In Progress QA (4) DeployDesign In prod
WIP Limit = 18
Scenario: there are cards which only 1 person knows
how to implement them (specialist)
Doing Fila Doing Fila Doing Fila Doing
Suggestion: the team agreed that anyone can pull the
topmost work from the backlog, and request pairing
when needed
Backlog In Progress QA (4) DeployDesign In prod
WIP Limit = 18
Doing Fila Doing Fila Doing Fila Doing
Scenario: the deploy queue is usually long and everyone
hates deploying at night
Backlog In Progress QA (4) DeployDesign In prod
WIP Limit = 18
Doing Fila Doing Fila Doing Fila Doing
Limite WIP = 18
Suggestion: the team agreed that one member would
spend a week studying CI/CD and share what she
learned, and put some of it in practice
Backlog In Progress QA (4) DeployDesign In prod
Let’s see that list…
1. Lots of delays
2. Not sure who’s doing what
3. QA complains that many silly bugs should not land for acceptance testing
4. PO complains that their own product gets no attention
5. Many tasks have no clear prioritization, and customers and the commercial team
interfere a lot on sprint work
6. Lots of rework and unfinished stories
7. Some developers became very specialized on some bits of the product but never
touch other parts (some bits of code have an exclusive “owner”)
8. Nobody wants to deploy new versions of the apps because it’s a lot of work and
has to be done at night
9. Can’t see a way out of this, except work harder and harder
Three Principles
1. Start with what you do now (use Kanban as a tool for your current
process)
2. Agree to pursue incremental, evolutionary change
3. Respect the current process, roles and responsibilities
How to adopt
Kanban
Limit
WIP!
What can you start
doing tomorrow?
Best book to get
started, IMO
I need some questions, who can help? 
Q&A

More Related Content

What's hot

Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingKatie Chin
 
Intro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanIntro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanCraig Jones
 
Experts live dtap reinvented, a risk driven approach to release pipelines
Experts live dtap reinvented, a risk driven approach to release pipelinesExperts live dtap reinvented, a risk driven approach to release pipelines
Experts live dtap reinvented, a risk driven approach to release pipelinesRolf Huisman
 
Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015James Grenning
 
#SitBERN modern abap development with abapgit
#SitBERN modern abap development with abapgit#SitBERN modern abap development with abapgit
#SitBERN modern abap development with abapgitChristian Günter
 
Do you know your production?
Do you know your production?Do you know your production?
Do you know your production?Yevhen Rudiev
 
Lead Time: What We Know About It...
Lead Time: What We Know About It...Lead Time: What We Know About It...
Lead Time: What We Know About It...azheglov
 

What's hot (10)

Comparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End TestingComparing Agile QA Approaches to End-to-End Testing
Comparing Agile QA Approaches to End-to-End Testing
 
Intro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. KanbanIntro to Agile: Scrum vs. Kanban
Intro to Agile: Scrum vs. Kanban
 
Continuous integration at CartoDB
Continuous integration at CartoDBContinuous integration at CartoDB
Continuous integration at CartoDB
 
Experts live dtap reinvented, a risk driven approach to release pipelines
Experts live dtap reinvented, a risk driven approach to release pipelinesExperts live dtap reinvented, a risk driven approach to release pipelines
Experts live dtap reinvented, a risk driven approach to release pipelines
 
Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16Continuous integration at CartoDB March '16
Continuous integration at CartoDB March '16
 
Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015Technical Excellence - OOP Munich 2015
Technical Excellence - OOP Munich 2015
 
#SitBERN modern abap development with abapgit
#SitBERN modern abap development with abapgit#SitBERN modern abap development with abapgit
#SitBERN modern abap development with abapgit
 
Do you know your production?
Do you know your production?Do you know your production?
Do you know your production?
 
Lead Time: What We Know About It...
Lead Time: What We Know About It...Lead Time: What We Know About It...
Lead Time: What We Know About It...
 
TDD for jenkins pipelines
TDD for jenkins pipelinesTDD for jenkins pipelines
TDD for jenkins pipelines
 

Similar to Introduction to the Kanban Method for Continuous Improvement

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 for Software Development and Kaizen Culture
Kanban for Software Development and Kaizen CultureKanban for Software Development and Kaizen Culture
Kanban for Software Development and Kaizen CultureAcquate
 
Product Development Process
Product Development ProcessProduct Development Process
Product Development ProcessJames Young
 
Continuous Delivery-a practical case by Juan Jose Del Rio
Continuous Delivery-a practical case by Juan Jose Del RioContinuous Delivery-a practical case by Juan Jose Del Rio
Continuous Delivery-a practical case by Juan Jose Del RioJ On The Beach
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTechWell
 
Get your kanban on
Get your kanban onGet your kanban on
Get your kanban onDavid Cook
 
Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes
Theory Of Constraints - Agile Tour 2013 Craig Strong &  Daryn HolmesTheory Of Constraints - Agile Tour 2013 Craig Strong &  Daryn Holmes
Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmesstrongandagile.co.uk
 
Kanban highlights
Kanban highlightsKanban highlights
Kanban highlightsYuval Yeret
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneyAbhinav Gupta
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation WorkshopJules Pierre-Louis
 
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Extreme CI Savings with Bamboo 3.1: The JIRA StoryExtreme CI Savings with Bamboo 3.1: The JIRA Story
Extreme CI Savings with Bamboo 3.1: The JIRA StoryAtlassian
 
Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Rakuten Group, Inc.
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Deliverybuildacloud
 
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Lorenzo Barbieri
 
Gitlab meets Kubernetes
Gitlab meets KubernetesGitlab meets Kubernetes
Gitlab meets Kubernetesinovex GmbH
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsDynatrace
 
Community DefCore Presentation
Community DefCore PresentationCommunity DefCore Presentation
Community DefCore Presentationrhirschfeld
 

Similar to Introduction to the Kanban Method for Continuous Improvement (20)

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 for Software Development and Kaizen Culture
Kanban for Software Development and Kaizen CultureKanban for Software Development and Kaizen Culture
Kanban for Software Development and Kaizen Culture
 
Product Development Process
Product Development ProcessProduct Development Process
Product Development Process
 
Continuous Delivery-a practical case by Juan Jose Del Rio
Continuous Delivery-a practical case by Juan Jose Del RioContinuous Delivery-a practical case by Juan Jose Del Rio
Continuous Delivery-a practical case by Juan Jose Del Rio
 
Transitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to PracticeTransitioning to Kanban: From Theory to Practice
Transitioning to Kanban: From Theory to Practice
 
Get your kanban on
Get your kanban onGet your kanban on
Get your kanban on
 
Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes
Theory Of Constraints - Agile Tour 2013 Craig Strong &  Daryn HolmesTheory Of Constraints - Agile Tour 2013 Craig Strong &  Daryn Holmes
Theory Of Constraints - Agile Tour 2013 Craig Strong & Daryn Holmes
 
Kanban highlights
Kanban highlightsKanban highlights
Kanban highlights
 
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - SydneySimplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
Simplified CI/CD Flows for Salesforce via SFDX - Downunder Dreamin - Sydney
 
DevOPs Transformation Workshop
DevOPs Transformation WorkshopDevOPs Transformation Workshop
DevOPs Transformation Workshop
 
Kanban
KanbanKanban
Kanban
 
Extreme CI Savings with Bamboo 3.1: The JIRA Story
Extreme CI Savings with Bamboo 3.1: The JIRA StoryExtreme CI Savings with Bamboo 3.1: The JIRA Story
Extreme CI Savings with Bamboo 3.1: The JIRA Story
 
Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...Technology-Driven Development: Using Automation and Development Techniques to...
Technology-Driven Development: Using Automation and Development Techniques to...
 
Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Delivery
 
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
Azure DevOps Realtime Work Item Sync: the good, the bad, the ugly!
 
Gitlab meets Kubernetes
Gitlab meets KubernetesGitlab meets Kubernetes
Gitlab meets Kubernetes
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
Community DefCore Presentation
Community DefCore PresentationCommunity DefCore Presentation
Community DefCore Presentation
 
presentation
presentationpresentation
presentation
 

More from Rodrigo Vieira

When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)Rodrigo Vieira
 
Output > Input: MVP não precisa de tela de cadastro
Output > Input: MVP não precisa de tela de cadastroOutput > Input: MVP não precisa de tela de cadastro
Output > Input: MVP não precisa de tela de cadastroRodrigo Vieira
 
Menos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na práticaMenos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na práticaRodrigo Vieira
 
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produto
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produtoCurtir uma ideia não basta: aprenda por que o usuário não quer o seu produto
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produtoRodrigo Vieira
 
Tutorial Kanban - Python brasil 2016
Tutorial Kanban  - Python brasil 2016Tutorial Kanban  - Python brasil 2016
Tutorial Kanban - Python brasil 2016Rodrigo Vieira
 
Workshop Kanban - julho 2016
Workshop  Kanban - julho 2016Workshop  Kanban - julho 2016
Workshop Kanban - julho 2016Rodrigo Vieira
 
Palestra TDC 2016: 3 Lições que Aprendi em Data Science
Palestra TDC 2016: 3 Lições que Aprendi em Data SciencePalestra TDC 2016: 3 Lições que Aprendi em Data Science
Palestra TDC 2016: 3 Lições que Aprendi em Data ScienceRodrigo Vieira
 
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?Rodrigo Vieira
 
De dev para data scientist 3 coisas que aprendi
De dev para data scientist  3 coisas que aprendiDe dev para data scientist  3 coisas que aprendi
De dev para data scientist 3 coisas que aprendiRodrigo Vieira
 
Coding dojo 22_05_2013
Coding dojo 22_05_2013Coding dojo 22_05_2013
Coding dojo 22_05_2013Rodrigo Vieira
 
Javascript não é Java+Script (TDC Floripa 2012)
Javascript não é Java+Script (TDC Floripa 2012)Javascript não é Java+Script (TDC Floripa 2012)
Javascript não é Java+Script (TDC Floripa 2012)Rodrigo Vieira
 
Código limpo e eficiente com JavaScript
Código limpo e eficiente com JavaScriptCódigo limpo e eficiente com JavaScript
Código limpo e eficiente com JavaScriptRodrigo Vieira
 

More from Rodrigo Vieira (13)

When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
 
Output > Input: MVP não precisa de tela de cadastro
Output > Input: MVP não precisa de tela de cadastroOutput > Input: MVP não precisa de tela de cadastro
Output > Input: MVP não precisa de tela de cadastro
 
Menos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na práticaMenos reunião e mais post-it: Kanban na prática
Menos reunião e mais post-it: Kanban na prática
 
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produto
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produtoCurtir uma ideia não basta: aprenda por que o usuário não quer o seu produto
Curtir uma ideia não basta: aprenda por que o usuário não quer o seu produto
 
Tutorial Kanban - Python brasil 2016
Tutorial Kanban  - Python brasil 2016Tutorial Kanban  - Python brasil 2016
Tutorial Kanban - Python brasil 2016
 
Workshop Kanban - julho 2016
Workshop  Kanban - julho 2016Workshop  Kanban - julho 2016
Workshop Kanban - julho 2016
 
Palestra TDC 2016: 3 Lições que Aprendi em Data Science
Palestra TDC 2016: 3 Lições que Aprendi em Data SciencePalestra TDC 2016: 3 Lições que Aprendi em Data Science
Palestra TDC 2016: 3 Lições que Aprendi em Data Science
 
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?
1o Agile Floripa - Fishbowl: Interação UX e PO, quem dá as cartas?
 
De dev para data scientist 3 coisas que aprendi
De dev para data scientist  3 coisas que aprendiDe dev para data scientist  3 coisas que aprendi
De dev para data scientist 3 coisas que aprendi
 
Coding dojo 22_05_2013
Coding dojo 22_05_2013Coding dojo 22_05_2013
Coding dojo 22_05_2013
 
1º coding kata
1º coding kata1º coding kata
1º coding kata
 
Javascript não é Java+Script (TDC Floripa 2012)
Javascript não é Java+Script (TDC Floripa 2012)Javascript não é Java+Script (TDC Floripa 2012)
Javascript não é Java+Script (TDC Floripa 2012)
 
Código limpo e eficiente com JavaScript
Código limpo e eficiente com JavaScriptCódigo limpo e eficiente com JavaScript
Código limpo e eficiente com JavaScript
 

Recently uploaded

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZABSYZ Inc
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 

Recently uploaded (20)

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Salesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZSalesforce Implementation Services PPT By ABSYZ
Salesforce Implementation Services PPT By ABSYZ
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 

Introduction to the Kanban Method for Continuous Improvement

  • 1. Introduction to the Kanban Method
  • 2. Agenda 1. Basic Concepts 2. A bit of our real-world experience 3. Q&A
  • 3. Kanban: Signaling ●Capacity signaling ●Work is always “pulled”, not ”pushed” ●Started at Toyota (TPS) ●We use it already in many places
  • 5. Kanban Method 2. Limit WIP1. Visualize work 3. Manage flow
  • 6. Get to know… Softwerks ■ A startup with 6 partners, developing mobile and web products ■ 1 marketing/finance/account mgr/PO ■ 3 devs ■ 1 designer ■ 1 QA/support engineer ■ They’re working on 3 projects to finance the development of their own product
  • 7. They’re working hard 1. Lots of delays 2. Not sure who’s doing what 3. QA complains that many silly bugs should not land for acceptance testing 4. PO complains that their own product gets no attention 5. Many tasks have no clear prioritization, and customers and the commercial team interfere a lot on sprint work 6. Lots of rework and unfinished stories 7. Some developers became very specialized on some bits of the product but never touch other parts (some bits of code have an exclusive “owner”) 8. Nobody wants to deploy new versions of the apps because it’s a lot of work and has to be done at night 9. Can’t see a way out of this, except work harder and harder
  • 10. Backlog Done 1. Separated what’s really in progress and moved unstarted work to a backlog In Progress
  • 11. 2. Removed from the backlog old cards that had no clear value or felt like “wishful thinking” Backlog DoneIn Progress
  • 12. Backlog AcceptanceIn Progress QA DeployDesign Done! 3. Mapped their current process
  • 13. Anatomy of a Kanban post-it #435 RV, VC 15/11 27/11 Bug no gráfico de acessos Ref number (JIRA, Pivotal, Trello..) Title Start date End date Responsible Any other relevant signaling
  • 22. 4. Defined a goal for new WIP Limit Backlog In Progress QA DeployDesign Done!Acceptance WIP Limit = 20 (current: 33)
  • 23. Doing Waiting Doing Doing Doing Doing 5. To stop “pushing work”, created some queues per service WIP Limit = 20 (curr: 33) Backlog In Progress QA DeployDesign Done!Acceptance Waiting Waiting Waiting Waiting
  • 24. Doing Waiting Doing Waiting Doing Waiting Doing Waiting Doing 6. To reach WIP count of 20, they agreed on stop starting new work until the current work in progress was done WIP Limit = 20 (curr: 33) Backlog In Progress QA DeployDesign Done!Acceptance
  • 25. Doing Fila Doing Fila Doing Fila Doing Fila Doing Stop starting, start finishing WIP Limit = 20 (curr: 33) Backlog In Progress QA DeployDesign Done!Acceptance
  • 26. Doing Fila Doing Fila Doing Fila Doing Fila Doing 7. They started running their dailies from right to left on the board WIP Limit = 20 (curr: 33) Backlog In Progress QA DeployDesign Done!Acceptance
  • 27. Doing Fila Doing Fila Doing Fila Doing Fila Doing WIP Limit = 20 (curr: 33) Backlog In Progress QA DeployDesign Done!Acceptance
  • 28. Doing Fila Doing Fila Doing Fila Doing Fila Doing WIP Limit = 20 (curr: 29) Backlog In Progress QA DeployDesign Done!Acceptance
  • 29. Doing Fila Doing Fila Doing Fila Doing Fila Doing WIP Limit = 20 (curr: 25) Backlog In Progress QA DeployDesign Done!Acceptance
  • 30. Doing Fila Doing Fila Doing Fila Doing Fila Doing WIP Limit = 20 (curr: 20) Backlog In Progress QA DeployDesign Done!Acceptance
  • 31. Doing Fila Doing Fila Doing Fila Doing Fila Doing 8. Finally reached 20! Now they decided to keep at 20 for a while and see how it went WIP Limit = 20 (curr: 20) Backlog In Progress QA DeployDesign Done!Acceptance
  • 32. Cycle time Avg weekly WIP Avg cycle time (days) Week 1 33 8.7 Week 2 30 8.0 Week 3 27 7.5 Week 4 20 6.0 Week 5 20 5.1 Week 6 20 5.2
  • 33. Avg WIP Avg cycle time Throughput (WIP/TC) Week 1 33 8.7 3.7 Week 2 30 8.0 3.7 Week 3 27 7.5 3.6 Week 4 20 6.0 3.3 Week 5 20 5.1 3.9 Week 6 20 5.2 3.8 Cycle time
  • 35. “ Theory of Constraint (ToC) “A system of local optimums is not an optimum system at all”
  • 36. ToC: an analogy 6 20 4 ?12 7
  • 37. 6 20 4 ?12 7 The throughtput of a system is equal to the throughput of its bottleneck Any attempt to increase the throughput of a system beyond that will cause issues and affect quality ToC: an analogy
  • 38. ToC: a process of continuous improvement 1. Identify the current bottleneck 2. Ensure the bottleneck is working at its best 3. Subordinate the process to the bottleneck 4. Elevate the bottleneck’s performance 5. Repeat the process to find the next bottleneck
  • 39. Doing Fila Doing Fila Doing Fila Doing Fila Doing Scenario: Designer is available but the system is on WIP limit WIP Limit = 20 (curr: 20) Backlog In Progress QA DeployDesign Done!Acceptance
  • 40. Doing Fila Doing Fila Doing Fila Doing Fila Doing Suggestion: The designer helped with QA, and a dev was allocated to deploy to reduce WIP WIP Limit = 20 (curr: 20) Backlog In Progress QA DeployDesign Done!Acceptance
  • 41. Doing Fila Doing Fila Doing Fila Doing Fila Doing Scenario: QA is always overloaded (bottleneck) WIP Limit = 20 (curr: 20) Backlog In Progress QA DeployDesign Done!Acceptance
  • 42. Doing Fila Doing Fila Doing Fila Doing Fila Doing Suggestion: Establish a WIP limit for QA WIP Limit = 20 (curr: 20) Backlog In Progress QA (4) DeployDesign Done!Acceptance
  • 43. Doing Fila Doing Fila Doing Fila Doing Fila Doing Backlog In Progress QA (4) DeployDesign Done! WIP Limit = 20 (curr: 20) Acceptance Suggestion 2: Switch the order of Acceptance and QA services so that a story wouldn’t go on QA twice
  • 44. Doing Fila Doing Fila Doing Fila Doing Fila Doing Backlog In progress QA (4) DeployDesign Done! WIP Limit = 20 (curr: 20) Acceptance Suggestion 3: Dev team agreed on adopting unit tests for new stories, to reduce the amount of work to be performed by QA
  • 45. Doing Fila Doing Fila Doing Fila Doing Fila Doing Suggestion 4: The team will count stories that were rejected on acceptance testing or QA, to track quality improvement over time Backlog In progress QA (4) DeployDesign Done! WIP Limit = 20 (curr: 20) Acceptance
  • 46. Doing Fila Doing Fila Doing Fila Doing Fila Doing Limite WIP = 20 (curr: 20) Scenario: PO is too busy to perform acceptance testing Backlog In progress QA (4) DeployDesign Done!Acceptance
  • 47. Doing Fila Doing Fila Doing Fila Doing Fila Doing Limite WIP = 20 (curr: 20) Suggestion 1: Empower team to have a “proxy PO” who can perform acceptance testing of non-critical work Backlog In progress QA (4) DeployDesign Done!Acceptance
  • 48. Doing Fila Doing Fila Doing Fila Doing Backlog In progress QA (4) DeployDesign In Prod WIP Limit = 18 Suggestion 2: remove acceptance testing from the process, since the team feels they’re mature enough for it. Let PO test cards in prod, and track rejected work to see the impact of this change With one service less, reduced WIP limit to 18
  • 49. Doing Fila Doing Fila Doing Fila Doing Backlog In Progress QA (4) DeployDesign In Prod Limite WIP = 18 (curr: 18 + 2 urgent bugs) Scenario: urgent bugs and requests show up and must be worked on ASAP
  • 50. Doing Fila Doing Fila Doing Fila Doing Backlog In Progress QA (4) DeployDesign In Prod WIP Limit = 18 (curr: 18) Suggestion: Create an “expedite lane” which is part of the process and is prioritized on top of everything else
  • 51. Doing Fila Doing Fila Doing Fila Doing Backlog Em dev QA (4) DeployDesign Feito! Limite WIP = 18 Scenario: the team never has the chance to work on their own product
  • 52. Doing Fila Doing Fila Doing Fila Doing Backlog In Progress QA (4) DeployDesign In Prod WIP Limit = 18 Suggestion: the team agreed to put a “product card” after every four “customer cards” (dedicate 20% capacity to their product)
  • 53. Doing Fila Doing Fila Doing Fila Doing Backlog In Progress QA (4) DeployDesign In prod WIP Limit = 18 Scenario: there are cards which only 1 person knows how to implement them (specialist)
  • 54. Doing Fila Doing Fila Doing Fila Doing Suggestion: the team agreed that anyone can pull the topmost work from the backlog, and request pairing when needed Backlog In Progress QA (4) DeployDesign In prod WIP Limit = 18
  • 55. Doing Fila Doing Fila Doing Fila Doing Scenario: the deploy queue is usually long and everyone hates deploying at night Backlog In Progress QA (4) DeployDesign In prod WIP Limit = 18
  • 56. Doing Fila Doing Fila Doing Fila Doing Limite WIP = 18 Suggestion: the team agreed that one member would spend a week studying CI/CD and share what she learned, and put some of it in practice Backlog In Progress QA (4) DeployDesign In prod
  • 57. Let’s see that list… 1. Lots of delays 2. Not sure who’s doing what 3. QA complains that many silly bugs should not land for acceptance testing 4. PO complains that their own product gets no attention 5. Many tasks have no clear prioritization, and customers and the commercial team interfere a lot on sprint work 6. Lots of rework and unfinished stories 7. Some developers became very specialized on some bits of the product but never touch other parts (some bits of code have an exclusive “owner”) 8. Nobody wants to deploy new versions of the apps because it’s a lot of work and has to be done at night 9. Can’t see a way out of this, except work harder and harder
  • 58. Three Principles 1. Start with what you do now (use Kanban as a tool for your current process) 2. Agree to pursue incremental, evolutionary change 3. Respect the current process, roles and responsibilities How to adopt Kanban
  • 59. Limit WIP! What can you start doing tomorrow?
  • 60. Best book to get started, IMO
  • 61. I need some questions, who can help?  Q&A

Editor's Notes

  1. Have been using for about 2 years, coming from a “messy scrum” company