A year ago, my first agile coach (Christophe) told me about the benefits of the Kanban (in lean framework) for software development. Christophe who (just like me) has a passion for agile methodologies (and their benefits!), is always keen on sharing good information about agile frameworks. He introduced me to Mike Cohn (my favorite scrum guru) and another time, he recommended watching Eric Brechner’s video on how Kanban is used at Microsoft to work more efficiently. I remember him giving me the warning that the video is very long but still worth watching it. Indeed, it has been very useful for me.
Like most of us, I am always trying to achieve a lot of things at the same time and I am always curious to improve my ways to deliver or get things done. So, to give it a good try, I decided to start using Kanban at home.
Kanban helps me to be focus on fewer important things at the same time.
When we started the trip preparation two months and a half ago, we decided to use Kanban to keep focus on the most important things. To follow the progress of what we were doing we created a Trello dashboard: SV Soledad trip backlog (this is our actual dashboard). Here is a screenshot of it as of today.
In this dashboard for our journey, we initially added the user stories (ordered by priority) into 3 different status groups:
- Backlog: Where we have the user stories that has not been started yet
- In Progress: Where we have the user stories that we are working on. We limited our work in progress (WIP) to 4 items.
- Done: Where we add the user stories that have been done
So far, so good!
After a couple of weeks working on it, we realized that Kanban was not working as good as we were expecting. Our main challenges have been:
While using the dashboard was rather straight forward way of knowing the WIPs and who was in charge, we were having a lot of miss communications. Frequently we were frustrated because we had been expecting support from the others. Following agileandfamily recommendations, we introduced:
- A weekly catch up meeting to review priorities
- A daily catch up to review our user stories status
These very short catch up have helped up to remove the impediments that were blocking the user stories in progress, and made the whole things move forward at a better pace.
Inability to estimate effort and cost (and set the priority) of user stories
For some user stories, we had difficulties in estimating the required efforts. To deal with it, we introduced the timebox concept: before moving a user story to the “In Progress” status, we have to spend time on estimating the related efforts. Now, when a user story is in “Timebox” status, it means that we have to spend some time on it to give it a priority.
Boat works have been in progress for weeks (months), and we were having hard time to get the estimations for the works. We finally decided to move all related user stories to the “Timebox” status.
Complex and big user stories
Some user stories that initially seemed to be easy and fast to accomplish became more complex that we were expecting. These user stories are well known as “epics”. When we have epics, we split them into smaller user stories.
Preparing the on board first-aid kit has proved to be a clear epic. At first you might think that is as easy as going to see your doctor and ask “Give me a list of stuff I need for my trip, please.“, buy it and take it to the boat. Then you check some serious sailing blogs and you realize that you need more than what your doctor could ever imagine. So, you end up having 6 different user stories to get the first-aid kit done.
User stories blocked by third parties
Other times, we had to wait for thirds parties involved in the processing of the user stories. This is a frequent situation when you are dealing with the public administration or when you are trying to sell or rent something.
In that case we decided to do the following:
- Split the user stories trying to have one that is done and other user stories that can be added to the backlog. For example, to rent our apartment we have 4 user stories:
- Create the announce
- Post the announce
- Create the contract
- Sign the contract
Create the contract can only become a priority when we would have found someone to rent the apartment to. Doing that, we avoid to focus on a big user story that stays in progress for weeks. We only focus on what is really important at this moment.
Create an “On Hold” status. When we cannot split the user story and it is blocked (and there is nothing we can do), we move it to “On Hold“. During our weekly catch up meeting we review the “On Hold” user stories.
Yes, you can apply agile methodologies for anything in your life to get things done. As you can see Kanban is currently being very helpful for us: it is easy to have a quick overview and keep focused on the priorities.
Do not underestimate the power of communication within the team. If you are blocked, raise your hand. If something is taking a lot of time, it is probably because is to big: take a couple of minutes to see if it can be split and re-prioritize again.
If you have a chance to review the backlog to prepare our journey, will you be able to spot a missing user story? Find it, and win our deepest gratitude!