Presentation is loading. Please wait.

Presentation is loading. Please wait.

CEN 4010 Intro to Software Engineering Professor Alex Roque

Similar presentations


Presentation on theme: "CEN 4010 Intro to Software Engineering Professor Alex Roque"— Presentation transcript:

1 CEN 4010 Intro to Software Engineering Professor Alex Roque
Kanban CEN 4010 Intro to Software Engineering Professor Alex Roque

2 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.

3 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 Business/dp/ /ref=asap_bc?ie=UTF8

4 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.

5 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

6 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:

7 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.

8 Kanban Board An example of a Kanban board with WIP Limits:

9 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.

10 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!

11 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

12 WIP Limits Now, we can pull in new work!!!

13 Kanban boards Examples

14 Kanban board examples

15 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.

16 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?

17 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)

18 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?

19 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.

20 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.

21 Tracking Lead Time: Focus on Outliers
Use a Spectral Analysis graph to focus on Outliers

22 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.

23 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.

24 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.

25 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.


Download ppt "CEN 4010 Intro to Software Engineering Professor Alex Roque"

Similar presentations


Ads by Google