Kanban: CEN 4010 Intro To Software Engineering Professor Alex Roque

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

Kanban

CEN 4010 Intro to Software Engineering

Professor Alex Roque


History
• Kanban is roughly translated to “signal card”.
• Introduced by Taiichi Ohno an industrial engineer in Toyota to standardize
the flow of parts in the 1950s for Just in time (JIT) manufacturing.
• Ohno studied supermarkets and realized that they stock only what is
expected to sell, and when a customer pulls an item they want to purchase
it causes the store to restock.
• Toyota embraced a pull system where the pull comes from the demand
and any items are accompanied by a Kanban card.
Kanban
• While Scrum is great tool for working with complex projects, it doesn’t have a
strict method to deal with change requests.
• Kanban is tool for managing the flow of items through a system.
• It is a very visual system which allows its participants to visualize the flow of
work.
• Often uses a Kanban board with different columns to represent the state of a
work items (Cards) and swim lanes to show the “flow” lanes.
• Recommended reading:
• Kanban: Successful Evolutionary Change for your Technology Business.
- David J. Anderson ISBN 978-0984521401
https://www.amazon.com/Kanban-Successful-Evolutionary-Technology-
Business/dp/0984521402/ref=asap_bc?ie=UTF8
Principles of Kanban
• The foundation if Kanban is based on the following principles:
• Visualize your work: Kanban typically uses boards which allow you to move items from
one state to another. This allows you to see your work changing from one state to
another, and if there is a bottleneck, this easily visible.
• Limit your Work in Process (WIP): Kanban asks you to define what is the maximum
work that the team can be engaged in without losing efficiency and asks the team to
make sure no more work is being done once this limit it met.
• Measure Flow: Since the work is always being visualized, we focus on the “flow” of
items in our system from start to finish. Improving the flow means that we improve on
our delivery.
• Make process policies explicit: As a team identifies opportunities to improve itself, this
knowledge is introduced into the Kanban board. For example, we can reestablish of
WIP limit if our current value is not working.
• Use Models to recognize opportunities: Understand the models of theory of constraints
and waster and flow.
Use Software Development
• In Software development, we visualize a work item as a “card”.
• These cards represent a piece of work to be done and is placed on a
Kanban board.
• The card usually contains the following information:
• Task name/description
• Who it is assigned to
• A unique Id
• An estimate if applicable
• Deadline if any
• Other info as desired by the team
Kanban Board – Software development
• The card usually resides on a Kanban board, which contain the different
“states” the work item has to travel through to be considered done.
• Also, the board will have a state to denote the Ready phase and a state to
denote “Done”
• Example:
Kanban Board
• The development team should be concerned with moving backlog items from the
“ready” column to the “done” column.
• All work being done by the team should be a card on the board. Remember it is
important to visualize the work.
• Each column in the Kanban board needs to establish a WIP limit. A WIP limit is an
aggreged upon number of work that the team can handle for that state.
• If the WIP limit is reached in a column (indicates a bottleneck), no more work
should be pulled until a card is moved from that column.
• If the WIP limit must be broken for an urgent item, the team should still focus on
resolving the bottleneck immediately.
Kanban Board
• An example of a Kanban board with WIP Limits:
WIP Limits
• WIP Limits are establish so that the team does not pull in more work into
the system.
• In the following board, there are two items ready to pull into the In-Progress
column.
WIP Limits
• However, the In-Progress column has an established WIP Limit of 3 and we
already have 3 items in progress.

• Kanban dictates that you shouldn’t not pull any more work into the In-
Progress column until can resolve the items that are in the column. Why?
• If we established the WIP Limit of 3, its because we determined that to be
our capacity to work efficiently. Therefore have more than 3 items will
cause a bottle neck for the entire board!
NOT GOOD!
WIP LIMITS
• What should we do? We should not pull in any more work until we address the
bottleneck.
• It’s a good practice for the team members to focus on the area that has hit the
WIP limit, so that more work can be pulled in.
• So if a resource on the team is available, they should not pull in new work, they
should help to complete one of the items in-progress.
Focus on
1400
WIP Limits
• Now, we can pull in new work!!!
Kanban boards Examples
Kanban board examples
Flow
• Kanban focus on flow. So in theory, work started is not valuable unless its
finished.
• Therefore Kanban emphasizes finishing work over start new work.
• This is why if we reach a WIP limit, team members should not focus on
pulling new work but finishing the existing work.
Flow
• Part of establishing Kanban means the team will have to “Map the
workflow” so for each work item to be considered finished it will have to
travel through this workflow.
• To map the flow, we need to know:
• Where do tasks come from?
• How are they prioritized and assigned?
• What are the steps or states that an item will go through to be considered done?

• Analysis -> Design -> Develop -> Test -> Release?


Swim lanes
• Swim lanes are horizontal lanes typically used in Kanban when items flow
through different paths.
• For example, have multiple teams working out the same board but the work
items will flow though different paths with different columns (states)
Flow : Lead Time, Cycle Time
• If flow is important to us and we Kanban tells us to measure by what we
get done, then how do we measure?
• Its important to under Lead time versus Cycle time.
• Suppose that a customer places a ticket what our book rating system has a
bug and they place that ticket on Monday, May 3rd.
• After troubleshooting and verification, the support team send the ticket to
product development on Wednesday May 5th and the developer starts to
work on it.
• The developer finds the bug and releases a fix on Friday, May 7th.
• What is the lead time? What is the cycle time?
Flow: Lead Time, Cycle Time
• The Lead Time measures from when the work item was created (in this case by the
customer) until it is delivered to whom created it.
• Since the ticket was placed on May 3rd and released on May 7th, the lead time is 5 days!

• The Cycle Time measures from when the work item was started to when the work item
was delivered.
• Since the work was started on May 5th and released on May 7th, the cycle time is 3 days!

• So, Lead Time = 5 days, Cycle Time = 3 days.


Flow: Inspect and Adapt
• Our mission then must be to Inspect and Adapt. This means we review our
existing policies and process and make changes that will reduce lead time
and cycle time.
• If we shorten the cycle time, we also shorten the lead time.
• Minor changes in our policies can have dramatic results in our lead time.
• Example:
• Suppose we have to wait for customer to sign off on a timeframe to release to
production and that process takes 2-3 days (people are busy).
• Let’s agree upfront on a set deployment window with the customer for all their
projects so that no sign off is needed, just an automated notification.
• Lead time is now shortened by 2-3 days by a policy change.
Tracking Lead Time: Focus on Outliers
• Use a Spectral Analysis graph to focus on Outliers
Cumulative Flow Diagram
• The CFD is an area graph which shows the work flowing through the system
in a given state.
• It shows how much work is in the system, when it arrives and when it
departs.
Cumulative Flow Diagram
• Another CFD. What can we tell?
• The WIP rose to 30 during on 3/31
but was managed down to 21.
• There was a steady increase of work
released.
• The backlog request slightly increased
throughout the timeframe.
Throughput
• Through is the measure of the number of items that were delivered in a
given time period.
• By delivered, we mean that each item “flowed” through our Kanban board.
• We usually capture metrics about our throughput in a given interval.
Benefits of Kanban
• Kanban delivers features faster by shortening cycle times.
• Kanban is responsive to disruptive changes.
• Kanban aims to reduce waste in the system.
• Kanban allows stakeholders to visualize the impediments and
bottlenecks.

You might also like