Kanbanboards

Marcus Hammarberg
Marcus HammarbergManagement Consultant / Social worker at The Salvation Army à Health Foundation of the Salvation Army Indonesia
Kanban in practice




måndag den 19 juli 2010 (v.)

This presentation will show how to adapt Kanban in your development project.

There are quite a lot of slides and quite little text on each slide and the whole idea is that you should go through the slides
quickly and a little animation effect will take place.
About us

                  •       Avega Group

                  •       Joakim Sundén, Marcus Hammarberg, Christophe Achouiantz



                  •       These slides are protected under Creative Commons Attribution-
                          Noncommercial-Share Alike 2.5 Sweden License



måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

One of the good things of Kanban is that it’s a evolution, not a revolution. You can adapt Kanban step by step.

Start from your current Scrum board and enchance it to reflect your process.

Actually - it will be many slides down before we will doing something that not fit inside Scrum.
måndag den 19 juli 2010 (v.)

So a good starting point could be to visualize your workflow. If you are working with Scrum you are doing that already.

But maybe it could be a little more crisp than Todo, Doing and Done
måndag den 19 juli 2010 (v.)

Make some place for some more columns
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

and move the “Done” items to that column
måndag den 19 juli 2010 (v.)

Often you start by analyzing a story, so lets a put a column to represent that work.

-   what’s included
-   how should it be solved
-   break down into task
-   etc.
måndag den 19 juli 2010 (v.)

And then we’ll add a column for the development of the story
måndag den 19 juli 2010 (v.)

And finally we need to verify and test the feature so that we are sure that the quality is good enough for our team to release.
måndag den 19 juli 2010 (v.)

One way of handling handoffs between specialists is to introduce queues so that work is buffered. In this way the next step can
see when things are ready to be pulled from the Done-queue of the previous step.

It doesn’t have to be hard specilization - even if it’s roughly the same people doing the work this can be useful to visualize the
flow. So that we can where blockage, uneveness and other problems occur.
måndag den 19 juli 2010 (v.)

Let’s add a done-queue for development, to give a signal to Test when new work is ready to pull.

In this case we added the Done-queue in the Development-step. You could also argue that it should be in the Test-step and be
called “Ready for test” or something.
måndag den 19 juli 2010 (v.)

We now have our (simplified) work flow setup. Now it’s time to decided how to limit how much work we will allow to be in
progress at one time - to Limit our WIP.

There are some different approaches to come up with the total number for that:
- 2 per person, so that you don’t get blocked. A bit less maybe. We don’t want everyone to be blocked
- Equal to the number of persons in the team
- The number of persons divided by 2 for experienced agile teams
- Start from the bottleneck, the number of tester for example

- Any number! We will change it as we see problems and opportunities.
måndag den 19 juli 2010 (v.)

Limit Work in progress for all columns or some, at least “Doing”

We have limit Work in progress for Analyze to 2, Development to 3 and Test to 2 features at the same time.

We have no limit for our backlog, Todo - but you very well could, to limit the flow into the system.
Kanban-board
                                       A normal flow


måndag den 19 juli 2010 (v.)

We will now quickly demonstrate a normal flow on a Kanban board.
måndag den 19 juli 2010 (v.)

Here’s the intial stage...
måndag den 19 juli 2010 (v.)

Work is pulled from the backlog into the Analyze column as the WIP-limit allow.
måndag den 19 juli 2010 (v.)

You could wonder what Dev and Test is doing in these early stages of the flow...

Well, the start will get a bit bumpy since no work are ready to be pulled. But this is for the very first time only, since a Kanban
board never will be reset. In Scrum, for example, this situation is likely to occur in each sprint.
måndag den 19 juli 2010 (v.)

As work progress you monitor the flow of items.
måndag den 19 juli 2010 (v.)

Follow the WIP limits and only pull new work to your capacity
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

As we can see...
måndag den 19 juli 2010 (v.)

... work is flowing along nicely since...
måndag den 19 juli 2010 (v.)

... each step is only pulling work when it’s done ...
måndag den 19 juli 2010 (v.)

... and not over their capacity.
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

Tam-tam-tam - working with Kanban is a breeze!
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

We’ve started work on the last feature in our backlog.
måndag den 19 juli 2010 (v.)

About the same time as the first feature is ready to be launched!

Yeah! Champagne to all!
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

And we’ve pulled the last feature into development.
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)
måndag den 19 juli 2010 (v.)

Now the development of the last feature is done and we’re ready to do the last bit of testing
måndag den 19 juli 2010 (v.)

The testers are working along to bring our goodness to the customers.
måndag den 19 juli 2010 (v.)

Closing in on the last feature.
måndag den 19 juli 2010 (v.)

And we’re done!
Kanban-board
                               Queue as a leading indicator


måndag den 19 juli 2010 (v.)

That wasn’t to educating since everything went well. It was good - but not educating...

How do we handle problems? Let’s reset the board to a problem situation and find out.
måndag den 19 juli 2010 (v.)

Here all columns are fully loaded. Test is up to their limit and Development is finishing off the last story.
måndag den 19 juli 2010 (v.)

Actually, the Development team want to pull some new work. They are sitting idle...
måndag den 19 juli 2010 (v.)

But we cannot allow that - that would break their Work in progress limit off 3, now wouldn’t it?
måndag den 19 juli 2010 (v.)

So here we have a bottleneck in the Test-step. We want to move things along, but since Test are up to their WIP-limit we cannot.

What’s good is that queues like this doesn’t happen instantly. You can see it build up and you can react to prevent it. The queue
is a “leading indicator”. Compare that with burndown in Scrum which is an example of an trailing indicator that gives you the
figures on how thing went.

What to do? Theory of Constraints gives some options:
- Exploit the bottleneck so that it’s used to the maximum, for example remove other work from them so that they are only doing
testing
- Elevate the bottleneck by increasing the capacity, for example employee more testers
Kanban-board
                                            Starvation


måndag den 19 juli 2010 (v.)

Another thing to look out for is starvation.
måndag den 19 juli 2010 (v.)

This situation gives us empty columns or starvation.
måndag den 19 juli 2010 (v.)

The analyze don’t have anything done and Development is idle with no more work to pull.
måndag den 19 juli 2010 (v.)

This of course not good either but is another leading indicator. You can see when it’s about to happen and maybe react early,
rather than face the figures afterwards.
Kanban-board
                               How do I draw new work?


måndag den 19 juli 2010 (v.)

That was some example of the flow of work on a Kanban board.

But how do I draw new work? What are the strategies and rule I need to adhere to?
måndag den 19 juli 2010 (v.)

Here is Joakim - the tester - ready to complete the feature is testing right now.
måndag den 19 juli 2010 (v.)

Yes! It’s done!
måndag den 19 juli 2010 (v.)

What should he chose now?
måndag den 19 juli 2010 (v.)

Since there are work in progress in his column - the testing Marcus is doing - he should first and foremost see if he can help to
finnish the work that is in progress.

That’s our main goal - to finnish work in progress.
måndag den 19 juli 2010 (v.)

So Joakim and Marcus will test that feature together
måndag den 19 juli 2010 (v.)

They start to test it...
måndag den 19 juli 2010 (v.)

...and before long...
måndag den 19 juli 2010 (v.)

... that feature is also Done!
måndag den 19 juli 2010 (v.)

What now? Both Joakim and Marcus is ready for some more work. Nothing to finnish in their column.
måndag den 19 juli 2010 (v.)

But there are new work to be pulled from the Done-queue of the Development team.
måndag den 19 juli 2010 (v.)

Great! They draw new work...
måndag den 19 juli 2010 (v.)

 Each starting a feature - to get work to be done as quickly as possible.
måndag den 19 juli 2010 (v.)

Another way to handling the siutation...
måndag den 19 juli 2010 (v.)

would be that they could work together...
måndag den 19 juli 2010 (v.)

... on the highest prioritized item...
måndag den 19 juli 2010 (v.)

... to quickly get that item done.
måndag den 19 juli 2010 (v.)

Look - they are on their way to be done
måndag den 19 juli 2010 (v.)

Well - that was quick! Great work guys!
måndag den 19 juli 2010 (v.)

Here is a case where Marcus, the tester is left with no work in his column AND no new work to draw.

What should he do now?
måndag den 19 juli 2010 (v.)

Mikaela apparently wants some help, to get the item she’s working on ready for test...
måndag den 19 juli 2010 (v.)

But that is sadly not possible since Marcus is no programmer.
måndag den 19 juli 2010 (v.)

But... we have a bottleneck in Analyze. They are fully loaded and no new work is flowing from them.

Both Joakim and Black-And-White-Marcus is working. Could Full-Color-Marcus possibly help over there?
måndag den 19 juli 2010 (v.)

Yes, he can help Joakim to finnish his work.
måndag den 19 juli 2010 (v.)

In this way they can resolve the bottleneck and move it to ready for development.
måndag den 19 juli 2010 (v.)

Great - another bottleneck resolved!

But, if he couldn’t have done that either? What should Marcus had done then?
Well - find other interesting work maybe. Prepare that automation of tests or get that pesky build server to run faster. Something
to help the team.

Strive to not draw new work. You could, and break your WIP limits - but remember that then all work to come will suffer and take
longer time to complete.
Kanban-board
                                     Inspect and adapt


måndag den 19 juli 2010 (v.)

We will now take a look on how your Kanban board can and should evolve over time.

It’s not done - strive to find way to improve your process.
måndag den 19 juli 2010 (v.)

Say for example that you want your product owner to accept all items before shipping them.

We add a new column for that - Accept.
måndag den 19 juli 2010 (v.)

And since the product owner is what is called a Non instant availability constraint we add a queue for things that is ready to
accept.
måndag den 19 juli 2010 (v.)

And a column for accepted items.
måndag den 19 juli 2010 (v.)

The product owner cannot be with us all the time, but when she’s here she can accept many items at once. It doesn’t take to
long.

We allow up to 4 items in the Ready for Accept queue.
måndag den 19 juli 2010 (v.)

and as you see all items are quickly accepted when she had the time to sit down with and do it.
Kanban-board
                               New member in the team


måndag den 19 juli 2010 (v.)

Here is another situation when we need to change our board.
måndag den 19 juli 2010 (v.)

Here is a situation where it’s not possible to share work and all Developers are busy on one feature each.
måndag den 19 juli 2010 (v.)

And suddenly a new Developer is added to the team. Mikaela is newly employed.

What should she do?
måndag den 19 juli 2010 (v.)

This could be a time to increase the Work in progress limit.
måndag den 19 juli 2010 (v.)

And the she can draw new work.

This could also be a indicator that the WIP limit was to low to start with.
Kanban-board
                                     Work Item Types


måndag den 19 juli 2010 (v.)

With different work item types you can visualize how different kind of work should be treated in different ways. To enable the
team to easier be self managed.
måndag den 19 juli 2010 (v.)

Up to now all the items on our board looks and are treated the same.
måndag den 19 juli 2010 (v.)

But they are not - this is a bug for example
måndag den 19 juli 2010 (v.)

And here is maintenance feature that we are testing
måndag den 19 juli 2010 (v.)

Over here is a change request that is waiting to be pulled
måndag den 19 juli 2010 (v.)

And these normal yellow ones are ordinary features
måndag den 19 juli 2010 (v.)

Now it’s more visual to us what we are working on. If the board goes all read with bugs we know that we’re having a quality issue
for example.

To remind us and others the colors meaning we could add a legend or key for the different items.
Kanban-board
                                 What is on a card?


måndag den 19 juli 2010 (v.)

The cards we’re moving around could also communicate a lot of information.
måndag den 19 juli 2010 (v.)

First and foremost it should describe the feature. In this case in the form of a user story.
måndag den 19 juli 2010 (v.)

The use of an avatar is an easy way to show who is working on what.

It could also be used to limit work in progress since you only can put your avatar on one card.
måndag den 19 juli 2010 (v.)

Here is a hard deadline added to the card - so everyone knows how we are doing against it.
måndag den 19 juli 2010 (v.)

If an electronic system exists with more information you could add the id of the item.
måndag den 19 juli 2010 (v.)

“Stamp” the date of each stage to get data for lead- and cycletimes that can be used to create cumulative flow diagram for
example.

This card entered the Analyze step 2010-01-19
måndag den 19 juli 2010 (v.)

and did not reach Development until 2010-02-01...

What was going on there?
måndag den 19 juli 2010 (v.)

Use other items to signal deviations, such as delays or prioritization.

As you can see we have plenty of room on our card ...
måndag den 19 juli 2010 (v.)

... which makes room for another avatar, for when you pair program for example.

It also forces us use ladders to move the items around on the whiteboard that holds these big cards :)
Kanban-board
                                Classes of Service


måndag den 19 juli 2010 (v.)

If we want our team to be self organized, we need to help them to know which feature to next.

With classes of service we get a prioritization and policy approach that can help team members to chose their next
work item.
måndag den 19 juli 2010 (v.)

A common situation is to introduce an expedite/urgent/silver bullet for things that is need to be prioritized over
other work.
måndag den 19 juli 2010 (v.)

Those items are often given a own “swimlane”
måndag den 19 juli 2010 (v.)

Everyone is happily working on their items...
måndag den 19 juli 2010 (v.)

... when suddenly an urgent feature is introduced.
måndag den 19 juli 2010 (v.)

A common policy for urgent features is that it should be prioritized over all other work. Just let go and start to work
on the urgent feature to move it quickly through the whole process.
måndag den 19 juli 2010 (v.)

Phew - the developers were quick. The item is drawn by the tester and get going on it immediately.
måndag den 19 juli 2010 (v.)

And in no time the item is handled.
måndag den 19 juli 2010 (v.)

Another kind of policy is a minimum number or percentage of items of a certain kind.
måndag den 19 juli 2010 (v.)

So here we should strive to have 50% features, 12,5 % (1) technical stories, 12,5% maintenance and the rest bugs.
måndag den 19 juli 2010 (v.)

And with that policy in place Marcus, the tester, can easily see what the system should be filled with.

A maintenance features since there are no maintenance features left in the system now that he finished one.
måndag den 19 juli 2010 (v.)

Here’s another situation.

Test-Marcus is ready to draw new work. There are two items ready to be pulled.
Which should he chose?
måndag den 19 juli 2010 (v.)

The maintenance features (light green) has certainly been in the queue long, but we have a policy in place that tells us to always
prioritize features (yellow) above maintenance.
måndag den 19 juli 2010 (v.)

Test-Marcus can then easily know what to pick.
Kanban-board
                                           Daily Stand-up


måndag den 19 juli 2010 (v.)

We all know the ceremony during a Scrum Daily Stand up. But is there a difference now that we’re doing Kanban?

Notice that we’re still within the limits of Scrum - everything we have done so far can still be referred to as “doing Scrum”. It’s a
bit advanced but still.

We will let you know when we’re out of Scrum-country.
måndag den 19 juli 2010 (v.)

The major difference in Kanban standup is that the meeting facilitator enumerates work, not people.
The board shows the status of the current work, queues and bottlenecks.

When enumerating the work it is useful to traverse the board from right to left (downstream to upstream) in order to emphasise
pull.
Kanban-board
                                     Managing defects


måndag den 19 juli 2010 (v.)

How is defects handled on a Kanban board? Can items travel backwards?

This is one of the most common questions we get when doing this presentation. Here is some different strategies for handling
defects.
måndag den 19 juli 2010 (v.)

When Test-Marcus finds a defect he could...
måndag den 19 juli 2010 (v.)

1. Mark the feature as blocked
måndag den 19 juli 2010 (v.)

2. Create a new defect card
måndag den 19 juli 2010 (v.)

3. And place it in ready for development. Or maybe in Todo since it probably needs to be check by the designers and analytics
team before development.
måndag den 19 juli 2010 (v.)

4. Work on something else in the meantime. Given that Test-Marcus cannot resolve the issue himself.
måndag den 19 juli 2010 (v.)

Another approach is that Test-Marcus
1. Mark his feature as blocked and
2. Creates a new defect card
måndag den 19 juli 2010 (v.)

3. and place it in the Urgent swimlane for quick processing
måndag den 19 juli 2010 (v.)

Test-Marcus could also.
1. Mark his feature as blocked
måndag den 19 juli 2010 (v.)

2. and call for help. The whole team is “swarming” on the issue and work together to resolve it.
Kanban-board
                                          Exit criterias


måndag den 19 juli 2010 (v.)

You could further help the team in running the process with exit criterias for each column
EXIT
                    CRITERIA
måndag den 19 juli 2010 (v.)

By defining exit criteria for what is needed to move items into the Done column, we can reach a standardized work
Kanban-board
                                          Order point


måndag den 19 juli 2010 (v.)

We have now reach the point where you cannot call it Scrum anymore. We will start skip sprint planning and timeboxes and start
doing our planning just-in-time
måndag den 19 juli 2010 (v.)

How is the backlog filled with new items?

Start by filling the Todo-column or backlog with as many as the team usually comits to for a sprint.
måndag den 19 juli 2010 (v.)

Release the planning from the release and retrospective cycle and start planning just in time.
måndag den 19 juli 2010 (v.)

Maybe once every week or when event driven with an order point when new items should be added.
måndag den 19 juli 2010 (v.)

We are closing in on the order point
måndag den 19 juli 2010 (v.)

When all the items above the order point is moved the rest is moved up.

Note the instruction card that tells you to call to a meeting to get new items in the backlog from the product owner. That is
referred to in the industry as a Kanban card
måndag den 19 juli 2010 (v.)

Three new items is prioritized by the product owner...
måndag den 19 juli 2010 (v.)

and added to the backlog
måndag den 19 juli 2010 (v.)

A WIP-limit on the backlog indicates how much that should be planned
Kanban-board
                               Disneyland wait times


måndag den 19 juli 2010 (v.)

After a while you can use your data and the different work item types to predict how long before an item is release
måndag den 19 juli 2010 (v.)

This is referred to as Disneyland wait times, from the queues at Disneyland that tells you that you only have to wait 30 more
minutes before 1,5 minutes of rollercoaster joy is yours.
måndag den 19 juli 2010 (v.)

Here we can see that the item on top only have 14 days to go before it’s in production
Kanban-board
                               Other visualizations


måndag den 19 juli 2010 (v.)

The board can be used to communicate other important information.
måndag den 19 juli 2010 (v.)

Here is a team member on vaccation...
måndag den 19 juli 2010 (v.)

Here is a team member on vaccation...
måndag den 19 juli 2010 (v.)

... and here is the same team member but sick, in the swineflu it seems but also some stomach disorder
måndag den 19 juli 2010 (v.)

... and here is the same team member but sick, in the swineflu it seems but also some stomach disorder
1 sur 153

Recommandé

5 Arguments Against Kanban par
5 Arguments Against Kanban5 Arguments Against Kanban
5 Arguments Against KanbanNick Oostvogels
7.5K vues80 diapositives
Explaining Cumulative Flow Diagrams - CFD par
Explaining Cumulative Flow Diagrams - CFDExplaining Cumulative Flow Diagrams - CFD
Explaining Cumulative Flow Diagrams - CFDYuval Yeret
53.5K vues37 diapositives
Kanban in 4 easy steps par
Kanban in 4 easy steps Kanban in 4 easy steps
Kanban in 4 easy steps Shore Labs
279.4K vues37 diapositives
Kanban VS Scrum par
Kanban VS ScrumKanban VS Scrum
Kanban VS ScrumMikalai Alimenkou
20.7K vues36 diapositives
Personal kanban + GTD par
Personal kanban + GTDPersonal kanban + GTD
Personal kanban + GTDSudipta Lahiri
1.9K vues62 diapositives
InfoPak3 Personal Kanban Design Patterns par
InfoPak3 Personal Kanban Design PatternsInfoPak3 Personal Kanban Design Patterns
InfoPak3 Personal Kanban Design PatternsJim Benson
78.2K vues30 diapositives

Contenu connexe

Tendances

Intro to Kanban - AgileDayChile2011 Keynote par
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteChileAgil
9K vues100 diapositives
Agile Scrum Training (+ Kanban), Day 2 (2/2) par
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)Jens Wilke
3.1K vues54 diapositives
Introduction to Kanban (June 2015) par
Introduction to Kanban (June 2015)Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)Scrum & Kanban
766 vues47 diapositives
Agile Lean Kanban Training 1 hour par
Agile Lean Kanban Training 1 hourAgile Lean Kanban Training 1 hour
Agile Lean Kanban Training 1 hourRyan Polk
8.8K vues38 diapositives
Kanban on different flight levels - with an implementation example par
Kanban on different flight levels - with an implementation exampleKanban on different flight levels - with an implementation example
Kanban on different flight levels - with an implementation exampleMichael Rumpler
2K vues30 diapositives
Kanban Basics for Beginners Revised par
Kanban Basics for Beginners RevisedKanban Basics for Beginners Revised
Kanban Basics for Beginners RevisedZsolt Fabok
1.5K vues14 diapositives

Tendances(20)

Intro to Kanban - AgileDayChile2011 Keynote par ChileAgil
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 Keynote
ChileAgil9K vues
Agile Scrum Training (+ Kanban), Day 2 (2/2) par Jens Wilke
Agile Scrum Training (+ Kanban), Day 2 (2/2)Agile Scrum Training (+ Kanban), Day 2 (2/2)
Agile Scrum Training (+ Kanban), Day 2 (2/2)
Jens Wilke3.1K vues
Introduction to Kanban (June 2015) par Scrum & Kanban
Introduction to Kanban (June 2015)Introduction to Kanban (June 2015)
Introduction to Kanban (June 2015)
Scrum & Kanban766 vues
Agile Lean Kanban Training 1 hour par Ryan Polk
Agile Lean Kanban Training 1 hourAgile Lean Kanban Training 1 hour
Agile Lean Kanban Training 1 hour
Ryan Polk8.8K vues
Kanban on different flight levels - with an implementation example par Michael Rumpler
Kanban on different flight levels - with an implementation exampleKanban on different flight levels - with an implementation example
Kanban on different flight levels - with an implementation example
Michael Rumpler2K vues
Kanban Basics for Beginners Revised par Zsolt Fabok
Kanban Basics for Beginners RevisedKanban Basics for Beginners Revised
Kanban Basics for Beginners Revised
Zsolt Fabok1.5K vues
Kanban values exercise par Mike Burrows
Kanban values exerciseKanban values exercise
Kanban values exercise
Mike Burrows12.5K vues
20190923 AgileDC 2019 Conf Kanban AntiPatterns: What you don't know *can* hur... par Craeg Strong
20190923 AgileDC 2019 Conf Kanban AntiPatterns: What you don't know *can* hur...20190923 AgileDC 2019 Conf Kanban AntiPatterns: What you don't know *can* hur...
20190923 AgileDC 2019 Conf Kanban AntiPatterns: What you don't know *can* hur...
Craeg Strong1.4K vues
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019 par Yuval Yeret
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Modern Professional Scrum using Flow and Kanban - Agile and Beyond Detroit 2019
Yuval Yeret1K vues
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation par Claudio Perrone
PopcornFlow: Continuous Evolution Through Ultra-Rapid ExperimentationPopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
Claudio Perrone37.8K vues
Release wednesdays and the agile release train upload par Chris Smith
Release wednesdays and the agile release train   uploadRelease wednesdays and the agile release train   upload
Release wednesdays and the agile release train upload
Chris Smith2.5K vues
Kanban Basics for Beginners par Zsolt Fabok
Kanban Basics for BeginnersKanban Basics for Beginners
Kanban Basics for Beginners
Zsolt Fabok22.1K vues
Implementing Kanban to Improve your Workflow par Jennifer Davis
Implementing Kanban to Improve your WorkflowImplementing Kanban to Improve your Workflow
Implementing Kanban to Improve your Workflow
Jennifer Davis1.6K vues

Plus de Marcus Hammarberg

20 Ideas On How To Improve Your Agile Board par
20 Ideas On How To Improve Your Agile Board20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile BoardMarcus Hammarberg
1.8K vues197 diapositives
How kanban Saved a hospital in Indonesia par
How kanban Saved a hospital in IndonesiaHow kanban Saved a hospital in Indonesia
How kanban Saved a hospital in IndonesiaMarcus Hammarberg
469 vues82 diapositives
How kanban Saved a hospital in Indoneisa OreDev 2016 par
How kanban Saved a hospital in Indoneisa OreDev 2016How kanban Saved a hospital in Indoneisa OreDev 2016
How kanban Saved a hospital in Indoneisa OreDev 2016Marcus Hammarberg
861 vues129 diapositives
How kanban saved a hospital in Indoneisa LKNA2016 par
How kanban saved a hospital in Indoneisa LKNA2016How kanban saved a hospital in Indoneisa LKNA2016
How kanban saved a hospital in Indoneisa LKNA2016Marcus Hammarberg
1.4K vues123 diapositives
ca 10 minutes on effective meetings par
ca 10 minutes on effective meetingsca 10 minutes on effective meetings
ca 10 minutes on effective meetingsMarcus Hammarberg
1K vues28 diapositives
10 minutes on root cause analysis par
10 minutes on root cause analysis10 minutes on root cause analysis
10 minutes on root cause analysisMarcus Hammarberg
982 vues25 diapositives

Plus de Marcus Hammarberg(20)

20 Ideas On How To Improve Your Agile Board par Marcus Hammarberg
20 Ideas On How To Improve Your Agile Board20 Ideas On How To Improve Your Agile Board
20 Ideas On How To Improve Your Agile Board
Marcus Hammarberg1.8K vues
How kanban Saved a hospital in Indoneisa OreDev 2016 par Marcus Hammarberg
How kanban Saved a hospital in Indoneisa OreDev 2016How kanban Saved a hospital in Indoneisa OreDev 2016
How kanban Saved a hospital in Indoneisa OreDev 2016
How kanban saved a hospital in Indoneisa LKNA2016 par Marcus Hammarberg
How kanban saved a hospital in Indoneisa LKNA2016How kanban saved a hospital in Indoneisa LKNA2016
How kanban saved a hospital in Indoneisa LKNA2016
Marcus Hammarberg1.4K vues
Pass the pennies - Lean game simulation par Marcus Hammarberg
Pass the pennies - Lean game simulationPass the pennies - Lean game simulation
Pass the pennies - Lean game simulation
Marcus Hammarberg54.1K vues

Dernier

3Q23_EN.pdf par
3Q23_EN.pdf3Q23_EN.pdf
3Q23_EN.pdfirhcs
17 vues75 diapositives
The Truth About Customer Journey Mapping par
The Truth About Customer Journey MappingThe Truth About Customer Journey Mapping
The Truth About Customer Journey MappingAggregage
134 vues39 diapositives
Engaging Senior Leaders to Accelerate Your Continuous Improvement Program par
Engaging Senior Leaders to Accelerate Your Continuous Improvement ProgramEngaging Senior Leaders to Accelerate Your Continuous Improvement Program
Engaging Senior Leaders to Accelerate Your Continuous Improvement ProgramKaiNexus
93 vues29 diapositives
December 2023 - Meat on the Bones par
December 2023 - Meat on the BonesDecember 2023 - Meat on the Bones
December 2023 - Meat on the BonesNZSG
32 vues11 diapositives
Cohen_Summit 2023-FINAL.pptx par
Cohen_Summit 2023-FINAL.pptxCohen_Summit 2023-FINAL.pptx
Cohen_Summit 2023-FINAL.pptxbradgallagher6
36 vues45 diapositives
Learning from Failure_ Lessons from Failed Startups.pptx par
Learning from Failure_ Lessons from Failed Startups.pptxLearning from Failure_ Lessons from Failed Startups.pptx
Learning from Failure_ Lessons from Failed Startups.pptxCodeventures
17 vues7 diapositives

Dernier(20)

3Q23_EN.pdf par irhcs
3Q23_EN.pdf3Q23_EN.pdf
3Q23_EN.pdf
irhcs17 vues
The Truth About Customer Journey Mapping par Aggregage
The Truth About Customer Journey MappingThe Truth About Customer Journey Mapping
The Truth About Customer Journey Mapping
Aggregage134 vues
Engaging Senior Leaders to Accelerate Your Continuous Improvement Program par KaiNexus
Engaging Senior Leaders to Accelerate Your Continuous Improvement ProgramEngaging Senior Leaders to Accelerate Your Continuous Improvement Program
Engaging Senior Leaders to Accelerate Your Continuous Improvement Program
KaiNexus93 vues
December 2023 - Meat on the Bones par NZSG
December 2023 - Meat on the BonesDecember 2023 - Meat on the Bones
December 2023 - Meat on the Bones
NZSG32 vues
Learning from Failure_ Lessons from Failed Startups.pptx par Codeventures
Learning from Failure_ Lessons from Failed Startups.pptxLearning from Failure_ Lessons from Failed Startups.pptx
Learning from Failure_ Lessons from Failed Startups.pptx
Codeventures17 vues
Irigoyen_231129 - Around the world in 5 questions.pdf par bradgallagher6
Irigoyen_231129 - Around the world in 5 questions.pdfIrigoyen_231129 - Around the world in 5 questions.pdf
Irigoyen_231129 - Around the world in 5 questions.pdf
bradgallagher616 vues
DEUTSER-03188 Salt Lake Nov 30 Talk with speaker notes[13].pptx par bradgallagher6
DEUTSER-03188 Salt Lake Nov 30 Talk with speaker notes[13].pptxDEUTSER-03188 Salt Lake Nov 30 Talk with speaker notes[13].pptx
DEUTSER-03188 Salt Lake Nov 30 Talk with speaker notes[13].pptx
bradgallagher630 vues
Bloomerang Thank Yous Dec 2023.pdf par Bloomerang
Bloomerang Thank Yous Dec 2023.pdfBloomerang Thank Yous Dec 2023.pdf
Bloomerang Thank Yous Dec 2023.pdf
Bloomerang168 vues
Super Solar Mounting Solutions 20230509(1).pdf par carrie55bradshaw
Super Solar Mounting Solutions 20230509(1).pdfSuper Solar Mounting Solutions 20230509(1).pdf
Super Solar Mounting Solutions 20230509(1).pdf
Navigating EUDR Compliance within the Coffee Industry par Peter Horsten
Navigating EUDR Compliance within the Coffee IndustryNavigating EUDR Compliance within the Coffee Industry
Navigating EUDR Compliance within the Coffee Industry
Peter Horsten68 vues

Kanbanboards

  • 1. Kanban in practice måndag den 19 juli 2010 (v.) This presentation will show how to adapt Kanban in your development project. There are quite a lot of slides and quite little text on each slide and the whole idea is that you should go through the slides quickly and a little animation effect will take place.
  • 2. About us • Avega Group • Joakim Sundén, Marcus Hammarberg, Christophe Achouiantz • These slides are protected under Creative Commons Attribution- Noncommercial-Share Alike 2.5 Sweden License måndag den 19 juli 2010 (v.)
  • 3. måndag den 19 juli 2010 (v.) One of the good things of Kanban is that it’s a evolution, not a revolution. You can adapt Kanban step by step. Start from your current Scrum board and enchance it to reflect your process. Actually - it will be many slides down before we will doing something that not fit inside Scrum.
  • 4. måndag den 19 juli 2010 (v.) So a good starting point could be to visualize your workflow. If you are working with Scrum you are doing that already. But maybe it could be a little more crisp than Todo, Doing and Done
  • 5. måndag den 19 juli 2010 (v.) Make some place for some more columns
  • 6. måndag den 19 juli 2010 (v.)
  • 7. måndag den 19 juli 2010 (v.) and move the “Done” items to that column
  • 8. måndag den 19 juli 2010 (v.) Often you start by analyzing a story, so lets a put a column to represent that work. - what’s included - how should it be solved - break down into task - etc.
  • 9. måndag den 19 juli 2010 (v.) And then we’ll add a column for the development of the story
  • 10. måndag den 19 juli 2010 (v.) And finally we need to verify and test the feature so that we are sure that the quality is good enough for our team to release.
  • 11. måndag den 19 juli 2010 (v.) One way of handling handoffs between specialists is to introduce queues so that work is buffered. In this way the next step can see when things are ready to be pulled from the Done-queue of the previous step. It doesn’t have to be hard specilization - even if it’s roughly the same people doing the work this can be useful to visualize the flow. So that we can where blockage, uneveness and other problems occur.
  • 12. måndag den 19 juli 2010 (v.) Let’s add a done-queue for development, to give a signal to Test when new work is ready to pull. In this case we added the Done-queue in the Development-step. You could also argue that it should be in the Test-step and be called “Ready for test” or something.
  • 13. måndag den 19 juli 2010 (v.) We now have our (simplified) work flow setup. Now it’s time to decided how to limit how much work we will allow to be in progress at one time - to Limit our WIP. There are some different approaches to come up with the total number for that: - 2 per person, so that you don’t get blocked. A bit less maybe. We don’t want everyone to be blocked - Equal to the number of persons in the team - The number of persons divided by 2 for experienced agile teams - Start from the bottleneck, the number of tester for example - Any number! We will change it as we see problems and opportunities.
  • 14. måndag den 19 juli 2010 (v.) Limit Work in progress for all columns or some, at least “Doing” We have limit Work in progress for Analyze to 2, Development to 3 and Test to 2 features at the same time. We have no limit for our backlog, Todo - but you very well could, to limit the flow into the system.
  • 15. Kanban-board A normal flow måndag den 19 juli 2010 (v.) We will now quickly demonstrate a normal flow on a Kanban board.
  • 16. måndag den 19 juli 2010 (v.) Here’s the intial stage...
  • 17. måndag den 19 juli 2010 (v.) Work is pulled from the backlog into the Analyze column as the WIP-limit allow.
  • 18. måndag den 19 juli 2010 (v.) You could wonder what Dev and Test is doing in these early stages of the flow... Well, the start will get a bit bumpy since no work are ready to be pulled. But this is for the very first time only, since a Kanban board never will be reset. In Scrum, for example, this situation is likely to occur in each sprint.
  • 19. måndag den 19 juli 2010 (v.) As work progress you monitor the flow of items.
  • 20. måndag den 19 juli 2010 (v.) Follow the WIP limits and only pull new work to your capacity
  • 21. måndag den 19 juli 2010 (v.)
  • 22. måndag den 19 juli 2010 (v.)
  • 23. måndag den 19 juli 2010 (v.) As we can see...
  • 24. måndag den 19 juli 2010 (v.) ... work is flowing along nicely since...
  • 25. måndag den 19 juli 2010 (v.) ... each step is only pulling work when it’s done ...
  • 26. måndag den 19 juli 2010 (v.) ... and not over their capacity.
  • 27. måndag den 19 juli 2010 (v.)
  • 28. måndag den 19 juli 2010 (v.) Tam-tam-tam - working with Kanban is a breeze!
  • 29. måndag den 19 juli 2010 (v.)
  • 30. måndag den 19 juli 2010 (v.)
  • 31. måndag den 19 juli 2010 (v.)
  • 32. måndag den 19 juli 2010 (v.)
  • 33. måndag den 19 juli 2010 (v.) We’ve started work on the last feature in our backlog.
  • 34. måndag den 19 juli 2010 (v.) About the same time as the first feature is ready to be launched! Yeah! Champagne to all!
  • 35. måndag den 19 juli 2010 (v.)
  • 36. måndag den 19 juli 2010 (v.)
  • 37. måndag den 19 juli 2010 (v.)
  • 38. måndag den 19 juli 2010 (v.)
  • 39. måndag den 19 juli 2010 (v.) And we’ve pulled the last feature into development.
  • 40. måndag den 19 juli 2010 (v.)
  • 41. måndag den 19 juli 2010 (v.)
  • 42. måndag den 19 juli 2010 (v.)
  • 43. måndag den 19 juli 2010 (v.) Now the development of the last feature is done and we’re ready to do the last bit of testing
  • 44. måndag den 19 juli 2010 (v.) The testers are working along to bring our goodness to the customers.
  • 45. måndag den 19 juli 2010 (v.) Closing in on the last feature.
  • 46. måndag den 19 juli 2010 (v.) And we’re done!
  • 47. Kanban-board Queue as a leading indicator måndag den 19 juli 2010 (v.) That wasn’t to educating since everything went well. It was good - but not educating... How do we handle problems? Let’s reset the board to a problem situation and find out.
  • 48. måndag den 19 juli 2010 (v.) Here all columns are fully loaded. Test is up to their limit and Development is finishing off the last story.
  • 49. måndag den 19 juli 2010 (v.) Actually, the Development team want to pull some new work. They are sitting idle...
  • 50. måndag den 19 juli 2010 (v.) But we cannot allow that - that would break their Work in progress limit off 3, now wouldn’t it?
  • 51. måndag den 19 juli 2010 (v.) So here we have a bottleneck in the Test-step. We want to move things along, but since Test are up to their WIP-limit we cannot. What’s good is that queues like this doesn’t happen instantly. You can see it build up and you can react to prevent it. The queue is a “leading indicator”. Compare that with burndown in Scrum which is an example of an trailing indicator that gives you the figures on how thing went. What to do? Theory of Constraints gives some options: - Exploit the bottleneck so that it’s used to the maximum, for example remove other work from them so that they are only doing testing - Elevate the bottleneck by increasing the capacity, for example employee more testers
  • 52. Kanban-board Starvation måndag den 19 juli 2010 (v.) Another thing to look out for is starvation.
  • 53. måndag den 19 juli 2010 (v.) This situation gives us empty columns or starvation.
  • 54. måndag den 19 juli 2010 (v.) The analyze don’t have anything done and Development is idle with no more work to pull.
  • 55. måndag den 19 juli 2010 (v.) This of course not good either but is another leading indicator. You can see when it’s about to happen and maybe react early, rather than face the figures afterwards.
  • 56. Kanban-board How do I draw new work? måndag den 19 juli 2010 (v.) That was some example of the flow of work on a Kanban board. But how do I draw new work? What are the strategies and rule I need to adhere to?
  • 57. måndag den 19 juli 2010 (v.) Here is Joakim - the tester - ready to complete the feature is testing right now.
  • 58. måndag den 19 juli 2010 (v.) Yes! It’s done!
  • 59. måndag den 19 juli 2010 (v.) What should he chose now?
  • 60. måndag den 19 juli 2010 (v.) Since there are work in progress in his column - the testing Marcus is doing - he should first and foremost see if he can help to finnish the work that is in progress. That’s our main goal - to finnish work in progress.
  • 61. måndag den 19 juli 2010 (v.) So Joakim and Marcus will test that feature together
  • 62. måndag den 19 juli 2010 (v.) They start to test it...
  • 63. måndag den 19 juli 2010 (v.) ...and before long...
  • 64. måndag den 19 juli 2010 (v.) ... that feature is also Done!
  • 65. måndag den 19 juli 2010 (v.) What now? Both Joakim and Marcus is ready for some more work. Nothing to finnish in their column.
  • 66. måndag den 19 juli 2010 (v.) But there are new work to be pulled from the Done-queue of the Development team.
  • 67. måndag den 19 juli 2010 (v.) Great! They draw new work...
  • 68. måndag den 19 juli 2010 (v.) Each starting a feature - to get work to be done as quickly as possible.
  • 69. måndag den 19 juli 2010 (v.) Another way to handling the siutation...
  • 70. måndag den 19 juli 2010 (v.) would be that they could work together...
  • 71. måndag den 19 juli 2010 (v.) ... on the highest prioritized item...
  • 72. måndag den 19 juli 2010 (v.) ... to quickly get that item done.
  • 73. måndag den 19 juli 2010 (v.) Look - they are on their way to be done
  • 74. måndag den 19 juli 2010 (v.) Well - that was quick! Great work guys!
  • 75. måndag den 19 juli 2010 (v.) Here is a case where Marcus, the tester is left with no work in his column AND no new work to draw. What should he do now?
  • 76. måndag den 19 juli 2010 (v.) Mikaela apparently wants some help, to get the item she’s working on ready for test...
  • 77. måndag den 19 juli 2010 (v.) But that is sadly not possible since Marcus is no programmer.
  • 78. måndag den 19 juli 2010 (v.) But... we have a bottleneck in Analyze. They are fully loaded and no new work is flowing from them. Both Joakim and Black-And-White-Marcus is working. Could Full-Color-Marcus possibly help over there?
  • 79. måndag den 19 juli 2010 (v.) Yes, he can help Joakim to finnish his work.
  • 80. måndag den 19 juli 2010 (v.) In this way they can resolve the bottleneck and move it to ready for development.
  • 81. måndag den 19 juli 2010 (v.) Great - another bottleneck resolved! But, if he couldn’t have done that either? What should Marcus had done then? Well - find other interesting work maybe. Prepare that automation of tests or get that pesky build server to run faster. Something to help the team. Strive to not draw new work. You could, and break your WIP limits - but remember that then all work to come will suffer and take longer time to complete.
  • 82. Kanban-board Inspect and adapt måndag den 19 juli 2010 (v.) We will now take a look on how your Kanban board can and should evolve over time. It’s not done - strive to find way to improve your process.
  • 83. måndag den 19 juli 2010 (v.) Say for example that you want your product owner to accept all items before shipping them. We add a new column for that - Accept.
  • 84. måndag den 19 juli 2010 (v.) And since the product owner is what is called a Non instant availability constraint we add a queue for things that is ready to accept.
  • 85. måndag den 19 juli 2010 (v.) And a column for accepted items.
  • 86. måndag den 19 juli 2010 (v.) The product owner cannot be with us all the time, but when she’s here she can accept many items at once. It doesn’t take to long. We allow up to 4 items in the Ready for Accept queue.
  • 87. måndag den 19 juli 2010 (v.) and as you see all items are quickly accepted when she had the time to sit down with and do it.
  • 88. Kanban-board New member in the team måndag den 19 juli 2010 (v.) Here is another situation when we need to change our board.
  • 89. måndag den 19 juli 2010 (v.) Here is a situation where it’s not possible to share work and all Developers are busy on one feature each.
  • 90. måndag den 19 juli 2010 (v.) And suddenly a new Developer is added to the team. Mikaela is newly employed. What should she do?
  • 91. måndag den 19 juli 2010 (v.) This could be a time to increase the Work in progress limit.
  • 92. måndag den 19 juli 2010 (v.) And the she can draw new work. This could also be a indicator that the WIP limit was to low to start with.
  • 93. Kanban-board Work Item Types måndag den 19 juli 2010 (v.) With different work item types you can visualize how different kind of work should be treated in different ways. To enable the team to easier be self managed.
  • 94. måndag den 19 juli 2010 (v.) Up to now all the items on our board looks and are treated the same.
  • 95. måndag den 19 juli 2010 (v.) But they are not - this is a bug for example
  • 96. måndag den 19 juli 2010 (v.) And here is maintenance feature that we are testing
  • 97. måndag den 19 juli 2010 (v.) Over here is a change request that is waiting to be pulled
  • 98. måndag den 19 juli 2010 (v.) And these normal yellow ones are ordinary features
  • 99. måndag den 19 juli 2010 (v.) Now it’s more visual to us what we are working on. If the board goes all read with bugs we know that we’re having a quality issue for example. To remind us and others the colors meaning we could add a legend or key for the different items.
  • 100. Kanban-board What is on a card? måndag den 19 juli 2010 (v.) The cards we’re moving around could also communicate a lot of information.
  • 101. måndag den 19 juli 2010 (v.) First and foremost it should describe the feature. In this case in the form of a user story.
  • 102. måndag den 19 juli 2010 (v.) The use of an avatar is an easy way to show who is working on what. It could also be used to limit work in progress since you only can put your avatar on one card.
  • 103. måndag den 19 juli 2010 (v.) Here is a hard deadline added to the card - so everyone knows how we are doing against it.
  • 104. måndag den 19 juli 2010 (v.) If an electronic system exists with more information you could add the id of the item.
  • 105. måndag den 19 juli 2010 (v.) “Stamp” the date of each stage to get data for lead- and cycletimes that can be used to create cumulative flow diagram for example. This card entered the Analyze step 2010-01-19
  • 106. måndag den 19 juli 2010 (v.) and did not reach Development until 2010-02-01... What was going on there?
  • 107. måndag den 19 juli 2010 (v.) Use other items to signal deviations, such as delays or prioritization. As you can see we have plenty of room on our card ...
  • 108. måndag den 19 juli 2010 (v.) ... which makes room for another avatar, for when you pair program for example. It also forces us use ladders to move the items around on the whiteboard that holds these big cards :)
  • 109. Kanban-board Classes of Service måndag den 19 juli 2010 (v.) If we want our team to be self organized, we need to help them to know which feature to next. With classes of service we get a prioritization and policy approach that can help team members to chose their next work item.
  • 110. måndag den 19 juli 2010 (v.) A common situation is to introduce an expedite/urgent/silver bullet for things that is need to be prioritized over other work.
  • 111. måndag den 19 juli 2010 (v.) Those items are often given a own “swimlane”
  • 112. måndag den 19 juli 2010 (v.) Everyone is happily working on their items...
  • 113. måndag den 19 juli 2010 (v.) ... when suddenly an urgent feature is introduced.
  • 114. måndag den 19 juli 2010 (v.) A common policy for urgent features is that it should be prioritized over all other work. Just let go and start to work on the urgent feature to move it quickly through the whole process.
  • 115. måndag den 19 juli 2010 (v.) Phew - the developers were quick. The item is drawn by the tester and get going on it immediately.
  • 116. måndag den 19 juli 2010 (v.) And in no time the item is handled.
  • 117. måndag den 19 juli 2010 (v.) Another kind of policy is a minimum number or percentage of items of a certain kind.
  • 118. måndag den 19 juli 2010 (v.) So here we should strive to have 50% features, 12,5 % (1) technical stories, 12,5% maintenance and the rest bugs.
  • 119. måndag den 19 juli 2010 (v.) And with that policy in place Marcus, the tester, can easily see what the system should be filled with. A maintenance features since there are no maintenance features left in the system now that he finished one.
  • 120. måndag den 19 juli 2010 (v.) Here’s another situation. Test-Marcus is ready to draw new work. There are two items ready to be pulled. Which should he chose?
  • 121. måndag den 19 juli 2010 (v.) The maintenance features (light green) has certainly been in the queue long, but we have a policy in place that tells us to always prioritize features (yellow) above maintenance.
  • 122. måndag den 19 juli 2010 (v.) Test-Marcus can then easily know what to pick.
  • 123. Kanban-board Daily Stand-up måndag den 19 juli 2010 (v.) We all know the ceremony during a Scrum Daily Stand up. But is there a difference now that we’re doing Kanban? Notice that we’re still within the limits of Scrum - everything we have done so far can still be referred to as “doing Scrum”. It’s a bit advanced but still. We will let you know when we’re out of Scrum-country.
  • 124. måndag den 19 juli 2010 (v.) The major difference in Kanban standup is that the meeting facilitator enumerates work, not people. The board shows the status of the current work, queues and bottlenecks. When enumerating the work it is useful to traverse the board from right to left (downstream to upstream) in order to emphasise pull.
  • 125. Kanban-board Managing defects måndag den 19 juli 2010 (v.) How is defects handled on a Kanban board? Can items travel backwards? This is one of the most common questions we get when doing this presentation. Here is some different strategies for handling defects.
  • 126. måndag den 19 juli 2010 (v.) When Test-Marcus finds a defect he could...
  • 127. måndag den 19 juli 2010 (v.) 1. Mark the feature as blocked
  • 128. måndag den 19 juli 2010 (v.) 2. Create a new defect card
  • 129. måndag den 19 juli 2010 (v.) 3. And place it in ready for development. Or maybe in Todo since it probably needs to be check by the designers and analytics team before development.
  • 130. måndag den 19 juli 2010 (v.) 4. Work on something else in the meantime. Given that Test-Marcus cannot resolve the issue himself.
  • 131. måndag den 19 juli 2010 (v.) Another approach is that Test-Marcus 1. Mark his feature as blocked and 2. Creates a new defect card
  • 132. måndag den 19 juli 2010 (v.) 3. and place it in the Urgent swimlane for quick processing
  • 133. måndag den 19 juli 2010 (v.) Test-Marcus could also. 1. Mark his feature as blocked
  • 134. måndag den 19 juli 2010 (v.) 2. and call for help. The whole team is “swarming” on the issue and work together to resolve it.
  • 135. Kanban-board Exit criterias måndag den 19 juli 2010 (v.) You could further help the team in running the process with exit criterias for each column
  • 136. EXIT CRITERIA måndag den 19 juli 2010 (v.) By defining exit criteria for what is needed to move items into the Done column, we can reach a standardized work
  • 137. Kanban-board Order point måndag den 19 juli 2010 (v.) We have now reach the point where you cannot call it Scrum anymore. We will start skip sprint planning and timeboxes and start doing our planning just-in-time
  • 138. måndag den 19 juli 2010 (v.) How is the backlog filled with new items? Start by filling the Todo-column or backlog with as many as the team usually comits to for a sprint.
  • 139. måndag den 19 juli 2010 (v.) Release the planning from the release and retrospective cycle and start planning just in time.
  • 140. måndag den 19 juli 2010 (v.) Maybe once every week or when event driven with an order point when new items should be added.
  • 141. måndag den 19 juli 2010 (v.) We are closing in on the order point
  • 142. måndag den 19 juli 2010 (v.) When all the items above the order point is moved the rest is moved up. Note the instruction card that tells you to call to a meeting to get new items in the backlog from the product owner. That is referred to in the industry as a Kanban card
  • 143. måndag den 19 juli 2010 (v.) Three new items is prioritized by the product owner...
  • 144. måndag den 19 juli 2010 (v.) and added to the backlog
  • 145. måndag den 19 juli 2010 (v.) A WIP-limit on the backlog indicates how much that should be planned
  • 146. Kanban-board Disneyland wait times måndag den 19 juli 2010 (v.) After a while you can use your data and the different work item types to predict how long before an item is release
  • 147. måndag den 19 juli 2010 (v.) This is referred to as Disneyland wait times, from the queues at Disneyland that tells you that you only have to wait 30 more minutes before 1,5 minutes of rollercoaster joy is yours.
  • 148. måndag den 19 juli 2010 (v.) Here we can see that the item on top only have 14 days to go before it’s in production
  • 149. Kanban-board Other visualizations måndag den 19 juli 2010 (v.) The board can be used to communicate other important information.
  • 150. måndag den 19 juli 2010 (v.) Here is a team member on vaccation...
  • 151. måndag den 19 juli 2010 (v.) Here is a team member on vaccation...
  • 152. måndag den 19 juli 2010 (v.) ... and here is the same team member but sick, in the swineflu it seems but also some stomach disorder
  • 153. måndag den 19 juli 2010 (v.) ... and here is the same team member but sick, in the swineflu it seems but also some stomach disorder

Notes de l'éditeur

  1. This presentation will show how to adapt Kanban in your development project. There are quite a lot of slides and quite little text on each slide and the whole idea is that you should go through the slides quickly and a little animation effect will take place.
  2. One of the good things of Kanban is that it’s a evolution, not a revolution. You can adapt Kanban step by step. Start from your current Scrum board and enchance it to reflect your process. Actually - it will be many slides down before we will doing something that not fit inside Scrum.
  3. So a good starting point could be to visualize your workflow. If you are working with Scrum you are doing that already. But maybe it could be a little more crisp than Todo, Doing and Done
  4. Make some place for some more columns
  5. and move the “Done” items to that column
  6. Often you start by analyzing a story, so lets a put a column to represent that work. - what’s included - how should it be solved - break down into task - etc.
  7. And then we’ll add a column for the development of the story
  8. And finally we need to verify and test the feature so that we are sure that the quality is good enough for our team to release.
  9. One way of handling handoffs between specialists is to introduce queues so that work is buffered. In this way the next step can see when things are ready to be pulled from the Done-queue of the previous step. It doesn’t have to be hard specilization - even if it’s roughly the same people doing the work this can be useful to visualize the flow. So that we can where blockage, uneveness and other problems occur.
  10. Let’s add a done-queue for development, to give a signal to Test when new work is ready to pull. In this case we added the Done-queue in the Development-step. You could also argue that it should be in the Test-step and be called “Ready for test” or something.
  11. We now have our (simplified) work flow setup. Now it’s time to decided how to limit how much work we will allow to be in progress at one time - to Limit our WIP. There are some different approaches to come up with the total number for that: - 2 per person, so that you don’t get blocked. A bit less maybe. We don’t want everyone to be blocked - Equal to the number of persons in the team - The number of persons divided by 2 for experienced agile teams - Start from the bottleneck, the number of tester for example - Any number! We will change it as we see problems and opportunities.
  12. Limit Work in progress for all columns or some, at least “Doing” We have limit Work in progress for Analyze to 2, Development to 3 and Test to 2 features at the same time. We have no limit for our backlog, Todo - but you very well could, to limit the flow into the system.
  13. We will now quickly demonstrate a normal flow on a Kanban board.
  14. Here’s the intial stage...
  15. Work is pulled from the backlog into the Analyze column as the WIP-limit allow.
  16. You could wonder what Dev and Test is doing in these early stages of the flow... Well, the start will get a bit bumpy since no work are ready to be pulled. But this is for the very first time only, since a Kanban board never will be reset. In Scrum, for example, this situation is likely to occur in each sprint.
  17. As work progress you monitor the flow of items.
  18. Follow the WIP limits and only pull new work to your capacity
  19. As we can see...
  20. ... work is flowing along nicely since...
  21. ... each step is only pulling work when it’s done ...
  22. ... and not over their capacity.
  23. Tam-tam-tam - working with Kanban is a breeze!
  24. We’ve started work on the last feature in our backlog.
  25. About the same time as the first feature is ready to be launched! Yeah! Champagne to all!
  26. And we’ve pulled the last feature into development.
  27. Now the development of the last feature is done and we’re ready to do the last bit of testing
  28. The testers are working along to bring our goodness to the customers.
  29. Closing in on the last feature.
  30. And we’re done!
  31. That wasn’t to educating since everything went well. It was good - but not educating... How do we handle problems? Let’s reset the board to a problem situation and find out.
  32. Here all columns are fully loaded. Test is up to their limit and Development is finishing off the last story.
  33. Actually, the Development team want to pull some new work. They are sitting idle...
  34. But we cannot allow that - that would break their Work in progress limit off 3, now wouldn’t it?
  35. So here we have a bottleneck in the Test-step. We want to move things along, but since Test are up to their WIP-limit we cannot. What’s good is that queues like this doesn’t happen instantly. You can see it build up and you can react to prevent it. The queue is a “leading indicator”. Compare that with burndown in Scrum which is an example of an trailing indicator that gives you the figures on how thing went. What to do? Theory of Constraints gives some options: - Exploit the bottleneck so that it’s used to the maximum, for example remove other work from them so that they are only doing testing - Elevate the bottleneck by increasing the capacity, for example employee more testers
  36. Another thing to look out for is starvation.
  37. This situation gives us empty columns or starvation.
  38. The analyze don’t have anything done and Development is idle with no more work to pull.
  39. This of course not good either but is another leading indicator. You can see when it’s about to happen and maybe react early, rather than face the figures afterwards.
  40. That was some example of the flow of work on a Kanban board. But how do I draw new work? What are the strategies and rule I need to adhere to?
  41. Here is Joakim - the tester - ready to complete the feature is testing right now.
  42. Yes! It’s done!
  43. What should he chose now?
  44. Since there are work in progress in his column - the testing Marcus is doing - he should first and foremost see if he can help to finnish the work that is in progress. That’s our main goal - to finnish work in progress.
  45. So Joakim and Marcus will test that feature together
  46. They start to test it...
  47. ...and before long...
  48. ... that feature is also Done!
  49. What now? Both Joakim and Marcus is ready for some more work. Nothing to finnish in their column.
  50. But there are new work to be pulled from the Done-queue of the Development team.
  51. Great! They draw new work...
  52. Each starting a feature - to get work to be done as quickly as possible.
  53. Another way to handling the siutation...
  54. would be that they could work together...
  55. ... on the highest prioritized item...
  56. ... to quickly get that item done.
  57. Look - they are on their way to be done
  58. Well - that was quick! Great work guys!
  59. Here is a case where Marcus, the tester is left with no work in his column AND no new work to draw. What should he do now?
  60. Mikaela apparently wants some help, to get the item she’s working on ready for test...
  61. But that is sadly not possible since Marcus is no programmer.
  62. But... we have a bottleneck in Analyze. They are fully loaded and no new work is flowing from them. Both Joakim and Black-And-White-Marcus is working. Could Full-Color-Marcus possibly help over there?
  63. Yes, he can help Joakim to finnish his work.
  64. In this way they can resolve the bottleneck and move it to ready for development.
  65. Great - another bottleneck resolved! But, if he couldn’t have done that either? What should Marcus had done then? Well - find other interesting work maybe. Prepare that automation of tests or get that pesky build server to run faster. Something to help the team. Strive to not draw new work. You could, and break your WIP limits - but remember that then all work to come will suffer and take longer time to complete.
  66. We will now take a look on how your Kanban board can and should evolve over time. It’s not done - strive to find way to improve your process.
  67. Say for example that you want your product owner to accept all items before shipping them. We add a new column for that - Accept.
  68. And since the product owner is what is called a Non instant availability constraint we add a queue for things that is ready to accept.
  69. And a column for accepted items.
  70. The product owner cannot be with us all the time, but when she’s here she can accept many items at once. It doesn’t take to long. We allow up to 4 items in the Ready for Accept queue.
  71. and as you see all items are quickly accepted when she had the time to sit down with and do it.
  72. Here is another situation when we need to change our board.
  73. Here is a situation where it’s not possible to share work and all Developers are busy on one feature each.
  74. And suddenly a new Developer is added to the team. Mikaela is newly employed. What should she do?
  75. This could be a time to increase the Work in progress limit.
  76. And the she can draw new work. This could also be a indicator that the WIP limit was to low to start with.
  77. With different work item types you can visualize how different kind of work should be treated in different ways. To enable the team to easier be self managed.
  78. Up to now all the items on our board looks and are treated the same.
  79. But they are not - this is a bug for example
  80. And here is maintenance feature that we are testing
  81. Over here is a change request that is waiting to be pulled
  82. And these normal yellow ones are ordinary features
  83. Now it’s more visual to us what we are working on. If the board goes all read with bugs we know that we’re having a quality issue for example. To remind us and others the colors meaning we could add a legend or key for the different items.
  84. The cards we’re moving around could also communicate a lot of information.
  85. First and foremost it should describe the feature. In this case in the form of a user story.
  86. The use of an avatar is an easy way to show who is working on what. It could also be used to limit work in progress since you only can put your avatar on one card.
  87. Here is a hard deadline added to the card - so everyone knows how we are doing against it.
  88. If an electronic system exists with more information you could add the id of the item.
  89. “Stamp” the date of each stage to get data for lead- and cycletimes that can be used to create cumulative flow diagram for example. This card entered the Analyze step 2010-01-19
  90. and did not reach Development until 2010-02-01... What was going on there?
  91. Use other items to signal deviations, such as delays or prioritization. As you can see we have plenty of room on our card ...
  92. ... which makes room for another avatar, for when you pair program for example. It also forces us use ladders to move the items around on the whiteboard that holds these big cards :)
  93. If we want our team to be self organized, we need to help them to know which feature to next. With classes of service we get a prioritization and policy approach that can help team members to chose their next work item.
  94. A common situation is to introduce an expedite/urgent/silver bullet for things that is need to be prioritized over other work.
  95. Those items are often given a own “swimlane”
  96. Everyone is happily working on their items...
  97. ... when suddenly an urgent feature is introduced.
  98. A common policy for urgent features is that it should be prioritized over all other work. Just let go and start to work on the urgent feature to move it quickly through the whole process.
  99. Phew - the developers were quick. The item is drawn by the tester and get going on it immediately.
  100. And in no time the item is handled.
  101. Another kind of policy is a minimum number or percentage of items of a certain kind.
  102. So here we should strive to have 50% features, 12,5 % (1) technical stories, 12,5% maintenance and the rest bugs.
  103. And with that policy in place Marcus, the tester, can easily see what the system should be filled with. A maintenance features since there are no maintenance features left in the system now that he finished one.
  104. Here’s another situation. Test-Marcus is ready to draw new work. There are two items ready to be pulled. Which should he chose?
  105. The maintenance features (light green) has certainly been in the queue long, but we have a policy in place that tells us to always prioritize features (yellow) above maintenance.
  106. Test-Marcus can then easily know what to pick.
  107. We all know the ceremony during a Scrum Daily Stand up. But is there a difference now that we’re doing Kanban? Notice that we’re still within the limits of Scrum - everything we have done so far can still be referred to as “doing Scrum”. It’s a bit advanced but still. We will let you know when we’re out of Scrum-country.
  108. The major difference in Kanban standup is that the meeting facilitator enumerates work, not people. The board shows the status of the current work, queues and bottlenecks. When enumerating the work it is useful to traverse the board from right to left (downstream to upstream) in order to emphasise pull.
  109. How is defects handled on a Kanban board? Can items travel backwards? This is one of the most common questions we get when doing this presentation. Here is some different strategies for handling defects.
  110. When Test-Marcus finds a defect he could...
  111. 1. Mark the feature as blocked
  112. 2. Create a new defect card
  113. 3. And place it in ready for development. Or maybe in Todo since it probably needs to be check by the designers and analytics team before development.
  114. 4. Work on something else in the meantime. Given that Test-Marcus cannot resolve the issue himself.
  115. Another approach is that Test-Marcus 1. Mark his feature as blocked and 2. Creates a new defect card
  116. 3. and place it in the Urgent swimlane for quick processing
  117. Test-Marcus could also. 1. Mark his feature as blocked
  118. 2. and call for help. The whole team is “swarming” on the issue and work together to resolve it.
  119. You could further help the team in running the process with exit criterias for each column
  120. By defining exit criteria for what is needed to move items into the Done column, we can reach a standardized work
  121. We have now reach the point where you cannot call it Scrum anymore. We will start skip sprint planning and timeboxes and start doing our planning just-in-time
  122. How is the backlog filled with new items? Start by filling the Todo-column or backlog with as many as the team usually comits to for a sprint.
  123. Release the planning from the release and retrospective cycle and start planning just in time.
  124. Maybe once every week or when event driven with an order point when new items should be added.
  125. We are closing in on the order point
  126. When all the items above the order point is moved the rest is moved up. Note the instruction card that tells you to call to a meeting to get new items in the backlog from the product owner. That is referred to in the industry as a Kanban card
  127. Three new items is prioritized by the product owner...
  128. and added to the backlog
  129. A WIP-limit on the backlog indicates how much that should be planned
  130. After a while you can use your data and the different work item types to predict how long before an item is release
  131. This is referred to as Disneyland wait times, from the queues at Disneyland that tells you that you only have to wait 30 more minutes before 1,5 minutes of rollercoaster joy is yours.
  132. Here we can see that the item on top only have 14 days to go before it’s in production
  133. The board can be used to communicate other important information.
  134. Here is a team member on vaccation...
  135. ... and here is the same team member but sick, in the swineflu it seems but also some stomach disorder
  136. Two-tiered/swim lanes.