Kanban

Tachometer to find perfect flow

How do you obtain a ”perfect flow” of work tasks passing through your software development team? That question have been in my head for quite some time. I can start by admitting that I don’t have a solid answer to that question (yet). However, I have instead thought of a way to visualise if you are having ”perfect flow” or not. How? I’m thinking of a tachometer!

”Tachometer”

Tachometer to find perfect flow

First of all, this is just an idea that popped into my head (this is actually the first encounter with the ”outside world”, so please bear with me). The idea is however to use a tachometer to indicate ”perfect flow” on a kanban board for a development team. Just like a tachometer is indicating if you are using the sweet-spot of your engine at any given moment.

My little example is a kanban board with three columns:

  • Design – Given the value 1
  • Development – Given the value 2
  • Test – Given the value 3

The values are used to calculate the position of the needle in the tachometer. I will now give you three examples that hopefully explains it all!

Example 1 – ”Too early”

”Tachometer

In this example three tasks are in the ”Design”-column, giving a ”tachometer value” of:

1 + 1 + 1 = 3

Thus indicating that we are ”too early”, and that the later steps in the flow (”Development” and ”Test”) are not utilised. The analogy with a car would be to ”gear up” meaning that the team needs to take the ongoing tasks to the later steps of the process.

Example 2 – ”Too late”

”Tachometer

In this example three tasks are in the ”Test”-column, giving a ”tachometer value” of:

3 + 3 + 3 = 9

Thus indicating that we are ”too late”, and that the team soon will run out of things to do. The similarities with a car would be to ”gear down” and for the team to put focus on feeding in new tasks to the kanban board.

Example 3 – ”Perfect flow”

”Tachometer

In this example the three tasks are evenly spread between the columns, giving a ”tachometer value” of:

1 + 2 + 3 = 6

Thus indicating that we have a ”perfect flow”, and that the steps in the process are utilised in the best possible way!

Summary

I understand that the mathematical formula behind this idea must be improved if this should become a reality. There are also cases where a tachometer like this will not be useful, for example if the team has just started. Maybe this can act as a challenge to manufacturers out there of digital kanban tools to add a tachometer in their product!

All the best,
Tomas from TheAgileist

Famban

What is Famban? That is my own abbreviation of Family + Kanban! In other words, our attempt to visualise and keep track of all activities within our family. Can’t an ordinary kanban board solve that need? Of course, but we have made some additions that we find useful. It’s also quite fun to come up with a new name for something, I admit  🙂 .

”Famban

Famban in Favro

Setup

We use a collection in Favro with three boards:

  • Ongoing week (with one column for each day in the week – Monday to Sunday)
  • Next week (same setup as above)
  • Further ahead (with two columns; Coming – To keep track of things that are 2-4 weeks ahead & Later – to store stuff even further away).

Why have a bi-weekly schedule? It seems to fit our needs best. You could have a one week rolling schedule or four weeks instead, depending on your needs.  

We use color coding (called Tags in Favro) to visualise different types:

  • Recurring activities (Green) – Used for all recurring family activities, for example ice hockey school on Sundays for my son.
  • Activities (Blue) – To cover all “one off”-activities.
  • Travel (Red, not shown in picture above) – To keep track of an “activity” that spans more than one day.
  • Food (Purple, not shown in picture above) – We had an idea to keep recipes in here to also plan our dinners. To have 10-15 of our favourites to be able to spread them out during the two weeks and have some variation. We had not really succeeded in this though.

Operations

The operations of Famban is easy! Since Favro has a very good web interface for computers, together with apps for iOS and Android we can reach it everywhere all the time. This is the number one benefit of having a digital board like this!

It’s mainly me that maintains the Famban board. Every time an activity comes up, it’s added to one of the boards (ongoing week, next or further ahead).

Once a week, usually on Sunday, the next week is discussed and planned in more detail. Basically I then make “next week” the “current week” by switching places on the two boards (a simple drag and drop operation in Favro). I also change the week numbering (week 47, week 48 etc.). A trick here is to have double of all recurring activities, so you don’t need to copy them between the weeks.

Famban on fridge

”Famban

Our first attempt of Famban, was to put it up on the fridge. That is the most “central spot” in our home, here it’s seen multiple times per day by all family members. I made a physical version of the Famban board using several papers that I taped together. One problem was that it couldn’t be wider than the door of the fridge, and at the same time have the needed seven columns (one for each day in the week) and to be able to fit standard size stickies.  Therefore the “To-do” and “Done” sections were placed “below” the board.

This incarnation of Famban worked well at home, and we had daily morning meetings in front of it. The problem came when not at home, not being able to see it. Often the question came up during the day while at work, my wife called me and asked “Do we have something on Tuesday evening, or can I make arrangements with my friend X?”. That question was not possible to answer, it had to be handled later when at home again, that was inflexible so after a while this Famban board was not used.

Improvements

Here are some improvements that I have thought of, but not yet implemented:

  • When the kids get older and probably get even more recurring activities an improvement would be to add swim-lanes, one for each family member. That is supported in Favro.
  • To get the food planning up and running, adding nice pictures to the recipes would probably help!
  • We have lost the visibility by having the Famban put up on the fridge. That could be fixed by mounting a tablet device on the fridge, showing the Famban board 🙂

Summary

Famban is visualisation and family planning combined! I hope you liked this blog post, and that it inspires you to try something similar! As always, reach out to me if you have something to share!

All the best,
 Tomas from TheAgileist

Feedback Loops 2.0

Earlier on in this blog I have written about feedback loops. Time has come to revisit that topic, and also to talk a bit more how we do it right now.  

Introduction

One of the six Kanban core practices is “implement feedback loops”. Short loops gives the possibility for fast feedback. Our feedback loops are mainly implemented as a set of meetings with different cadence.

”Feedback

Purpose

The purposes of the meetings with different cadences are the following:

  • Improve quality – By giving early feedback on work, errors can be found and corrected when they are “small”, and not later when they become “disasters” (i.e., found in production by customers).
  • Reduce context switching  – By giving feedback fast, the context is still “active” and no context switching is needed (that takes time and reduces the overall productivity).
  • Implement feedback loops – As mentioned earlier, it’s one of the six core practices in Kanban.

Meetings with daily cadence

Daily standup

The purpose is to enforce all six Kanban core practices. The team captain conducts a daily standup in front of the kanban board, with all team members present. Other stakeholders can listen in. Focus is to get tasks to flow through the process, and taking care of and removing impediments (bottlenecks that are preventing the flow).

Bug Triage

We believe that over time more brains makes better decisions than just one! To prioritize between bugs is an activity known as “bug triage” in the software industry. All new bugs entered in the ticket system shall pass this meeting for decision. Fix or not? If fix, when – current release, upcoming or future? Is the bug valid, if not close.

The bugmaster (yes that’s the name!) conducts the meeting and goes through the list of bugs currently in the state “Dispatch”. Afterwards the ticket system is updated with all the decisions made on the meeting.

Meetings with weekly cadence

Status, Planning & Prioritization

The purpose is to follow up on already made commitments, but also to be agile and be able to act fast on changes from customers or in the market.

This weekly meeting has the following agenda:

  1. Action points from last meeting.
  2. Discuss the overall planning, currently we are using “The Circles”.
  3. Discuss and prioritize activities in “The Volcano”.
  4. Any adjustments needed in time, cost or scope? We work in teams, but team members can move between them to where they are needed the most for the time being. If we can, we cut the scope for a release (we work in priority order, starting with the things that are promised to customers so it is possible). A last outcome is to postpone the release (change the release date).
  5. Any other business. Sometimes we use “The Shooting Target” to focus when we get closer to a release for a product.

The Head of Project Management is conducting this weekly meeting together with other stakeholders and the captains from the teams. A written protocol is produced and made available after each meeting.

System architect group

The purpose of this meeting is to secure that we have an architecture for our products that is sustainable and can live a long time. General topics around the architecture is discussed (security, scalability, redundancy etc.), as well as all tickets marked “Sysarch” in the ticket system. The Head of Development leads this weekly meeting together with all system architects.

Demos

The purpose is for developers to show their work on regular basis and to get early feedback on it (before it is “too late to change”). The demo is conducted on Friday afternoons together with “fika” (Swedish phenomena – like an extended coffee break) in the control room.

Meetings with monthly/quarterly cadence

Release planning

The purpose is to produce a prioritized scope (specified on high level) together with a time plan (release date) for the coming release of a product. Stakeholders meet in one or several meetings to discuss:

  • Targets – What do we aim for with this specific release? The targets must be meaningful and understandable to ALL! They shall also be helpful in the daily work. “Shall I do A or B?”, the targets shall guide the decision.
  • Scope – What shall be included in the release.

Ad hoc/when needed meetings

Team planning

The captain calls the team for a planning meeting anytime needed. Usually this is done when the team starts to work with a new thing (fetched from “The Volcano”).

Kaizen meeting

The purpose is to secure that we improve the teams and the process a little step every day (continuous improvements). Before we had this meeting regularly (bi-weekly), but we sort of lost momentum. Now the meeting is called upon when needed (something in the team or process needs to be improved). We use a channel on Slack to bring up the topic with two possible outcomes:

  1. The topic is discussed and solved on the channel directly
  2. The topic is extensive and a meeting is needed (or some smaller topics are collected before a meeting is called).

The Agile Coach and the captains together with other persons with interest in the topic(s) perform the meeting. The outcome is documented on the Slack channel.

Summary

There you go, these are the meetings we conduct to implement feedback loops. We also have some other channels for feedback, but I save them for another blog post. What type of feedback loops does your organization have? Don’t hesitate to contact me if you have any questions!

All the best,
 Tomas from TheAgileist

Essential Kanban Condensed

Six years have passed since the ”blue book” was released (the book about Kanban, written by David J Anderson in 2010). To meet up with the competition, Scrum has its own ”Scrum Guide” available for download, I assume that David and Andy Carmichael (the co-author) wanted to release a guide for Kanban as well. That is ”Essential Kanban Condensed”. The book has 100 pages and was released in 2016.

”Essential

Content

The book consists of 9 chapters starting with ”What is Kanban?” (a method for services that deliver knowledge work) to more advanced topics as ”Forecasting and Metrics”. Instead of going through the book chapter for chapter, I will give you the essentials condensed (pun intended) :).

Kanban Values

Kanban have nine values and they are: transparency, balance, collaboration, customer focus, flow, leadership, understanding, agreement & respect.

Kanban Agendas

There are three agendas:

  • The Sustainability Agenda
  • The Service Orientation Agenda
  • The Survivability Agenda.

The Foundational Principles of Kanban

There are six foundational principles of Kanban, divided into two groups.

Change Management Principles:

  1. Start with what you do now
  2. Agree to pursue improvement through evolutionary change
  3. Encourage acts of leadership at every level.

Service Delivery Principles:

  1. Understand and focus on your customers’ needs and expectations
  2. Manage the work; let people self-organize around it
  3. Evolve policies to improve customer and business outcomes.

The General Practices of Kanban

There are six practices:

  1. Visualize
  2. Limit work in progress
  3. Manage flow
  4. Make policies explicit
  5. Implement feedback loops
  6. Improve collaboratively, evolve experimentally.

Implement Feedback loops

To implement feedback loops seven cadences are suggested for a typical enterprise or multiple-service context:

  1. Strategy Review
  2. Operations Review
  3. Risk Review
  4. Service Delivery Review
  5. Replenishment Meeting
  6. The Kanban Meeting
  7. Delivery Planning Meeting.

Kanban Roles

Kanban is and remains to be the ”start with what you do now” method, however in later years two roles have emerged:

  • Service Request Manager
  • Service Delivery Manager.

Recommendation

You should definitely read ”Essential Kanban Condensed” if you want to get up to speed in what Kanban stands for and represents today (as of 2016). Do you want to read it right now even? Currently, it is being offered as a free eBook at this web site.

All the best,
 Tomas from TheAgileist

Control Room 2.0

I have previously written about the “Control room” we are using. That blog post became quite popular, so I thought I should do an update showing what we have in the room today (all in the name of kaizen – I hope you don’t forget to do your continuous improvements?).

””Favorite

Team Kanban boards

The yellow circles shows some of the Kanban boards for our teams (not all are visible in the picture). They are pretty standard, except for one that is mirrored! You can read the story about why right here.

Shooting Target

Next up is our “shooting target” shown in the red circle. Here you can read more about that. Currently we use the “shooting target” to focus the work at the end of a product release. We put the release date in the middle “to aim for”, and then everybody sees what has to be done.

TV

In the middle of the room and in the blue circle we have our TV. This 4K TV shows status from our automated tests and bug tracking system. Here we can always see the current situation. Basically green means ”good” and normal, and everything else is deviances that we need to act upon. A desktop is connected to the TV to be able to show demos and support other discussions.

Circle of Life

In the grey circle our products lifecycle visualization is shown. Read more about it here. The “Circle of Life” started out very challenged (what is this really needed for?) but then the understanding of it, and thereby importance, has grown!

The work you do on your products differs a lot depending on which phases they are in. Now this is visualized. There might even be more changes to come, watch out for upcoming blog posts on that!

The Volcano

The Volcano shown in the green circle is our oldest visualization (apart from the team Kanban boards). It is the successor of The Arrow.  

Initially we had one swim lane per product within the volcano. That didn’t quite work out since a story (represented by a sticky) could in our case span several products. Now we have two swim lanes showing origin/ownership. Features are driven by product management, and foundation/platform are driven by the system architects group.

Summary

In total we have eight whiteboards in the room (not all of them are shown in the picture). Also present in the room is a sofa (for coziness), chairs and and a small table. Meetings in the ”control room” tends to be more informal than in a ordinary meeting room.

If I compare the “control room” now with the previous blog post (posted in May 2015), all visualizations have changed (apart from the Kanban boards)! That feels very comforting to know that we are able to add new stuff as we learn more, but also to fine-tune the existing things. What does your ”control room” look like?

All the best,
 Tomas from TheAgileist

The Volcano – Prioritize Work for Multiple Teams & Products

Summertime is here again, and for many of us that means vacation. During the vacation period I can take time to do more reading than I normally do. Do you want something to read as well? Maybe I can interest you in my article ”The Volcano – Prioritize Work for Multiple Teams & Products” that has been published on InfoQ.

””Volcano

(Picture taken from the article at InfoQ)

Here is a short description:

It is always a challenge to make the correct priorities! Which one of work A, B or C shall you do first, and why? The Volcano is a great tool to visualize and prioritize work for multiple teams working with several products.”

You can read the full article here.

All the best,
 Tomas from TheAgileist

Personal Kanban in Favro

I have used a set of text files to keep track of my work. This personal system have been in use for many, many years and it has really served me well! How this is used is maybe a topic for another blog post. However, I have been thinking of starting using an online Kanban tool for my work for quite some time, but I still haven’t found what I’m looking for. Not until now.

Personal Kanban in general

There is a book called ”Personal Kanban” by Jim Benson and Tonianne DeMaria Barry that pretty much tells everything there is to know about how to use Kanban on a personal level, focusing on two of Kanban’s core practices: Visualize your work & Limit your work-in-progress (WIP). The book helps you get priority, productivity and efficiency into your work and personal life. If you want to know more you can visit this web site.

Personal Kanban in Favro

Finally I let go of my text files and took the step over to a visual tool, and I have chosen Favro. How did I end up with the board layout that you have seen in the picture above? Let me try to explain in a step by step tutorial.

Collections

Favro has something they call collection, basically it is an ”empty space” where you can add other elements. This is how it looks right after you have created a collection.

Board

Let’s create a board on the collection by using the ”(+)”-icon up in the left corner. First I added five columns, one for each day in a working week.

This could be enough, depending on your needs. However, I have added two more columns: ”Next week(s)” where I put work I don’t complete during the week and ”Done”, where I move fully completed work.

Backlog

Favro has an element called Backlog that works as a list of things (cards) to do. From the backlogs, cards are moved onto boards. I have not used this feature that much myself, so I will leave it for now.

Fast lane

Sometimes you need to do urgent work (things that you don’t have planned for in advance). To not ”mess up” the regular planned work, I have added a ”Fast lane”. Note that there is only two columns in this board: ”Doing” and ”Done”. Why? You should plan for urgent work and if the only work you do is urgent, you don’t really have control over your situation and work load.   

Slow lane

The opposite to the fast lane is the ”Slow lane”. Here you can have work you can do if you have time left. If work in the ”Slow lane” doesn’t get done, there is no big harm.

The ”Personal Kanban”-collection is now complete to start using!

Weekly planning – Meetings

At the first day of the week I do my weekly planning. First I add all my meetings as cards in the ”Regular lane”. Why? Don’t I have my meetings in the Calendar? Well, yes I do and I agree it can feel a bit cumbersome, but I want to see all the things that I have to do in a working day in a complete picture.

Weekly planning – Activities / Tasks

Now it is time to add all the activities / tasks that I know of to the ”Regular lane”. This is work I know I need to do during the week. My weekly planning is now complete! Will it change? You bet, but now I have an overview and first understanding of how the working week will look like.

Tags

As a side note, I also use Tags (”color coding”) to separate between different type of cards. Meeting have one color, my projects others and so on.

Detailed planning / work breakdown

Before I can do a task, I need to know in detail what to do (pretty obvious, right?). Sometimes I do this work breakdown as a first thing when I start a task, other times I start to think about the task some time before and add the breakdown when it comes to mind. I’m using two different ways for the detailed planning per task: description or task list. I mix between them, whichever suits the task at hand best.

Card description

I add the work breakdown as a description to the card. In Favro you can use a simple formatting to get headings, bullet lists and so on.

Card tasklist

The other way to add work breakdown is to use the tasklist function. Now you can for example add a ”To Do”-list to your card. You can check your tasks as you complete them to see the progress.

Mid week update

How should it look after Wednesday has passed? Hopefully you have completed some cards and put them in the ”Done”-column. Work not completed should be placed in the ”Next week(s)”-column to be addressed on the next weekly planning.

After Friday all your ”Monday to Friday”-columns should be empty. Then on Monday it starts all over again with the weekly planning and new (or moved) cards are added. Note! I actually do my planning for the next week the last thing I do on Fridays, then I know exactly what to do when I get into the office on Monday (and I don’t have to spend the weekend worrying on that).

Navigate in many collections

After a while, when you have used Favro for everything in your life the number of collections will grow. You can then mark your favorites with a star and they will end up as ”tabs” at the bottom of the screen (you can see ”Personal Kanban” as starred in the pictures above).

Summary

There you have it, my personal kanban in Favro. You don’t use Favro? Why not? The principles for my personal kanban board can be used in other online tools as well, maybe not exactly the same but in similar ways. Will I go back to my text files to keep track of my work? No, I will never go back :).

All the best,
 Tomas from TheAgileist