Kanban and Agile saved our house
“Call the doctor.” “Did you call the doctor today?” “Don’t forget to call the doctor today.” With nine week old twins at home, there has never been a bigger pile on my todo list, less time to do it, and more on my mind making me forget to do any of it. After being reminded the fourth time, I realized it was time to find a system. Siri may be referred to as an intelligent assistant but she’s pretty worthless to actually remind you at the right time or track tasks. Evernote works for notes, but it pretty poor for task management. Then I realized the answer had been in front of me for years, I was just looking in the wrong place. So I borrowed Agile practices from work for home and immediately started getting stuff done.
Many technology companies and lots of technology groups in other industries have turned to Agile in the recent years to help with project management and getting things done faster. I’ve been using variations of it for years in pretty much every job I’ve had, but with real training in it at Audible, felt comfortable enough with it to take it home. Every team has its own twist on Agile that works for them. Some use strict by the book methods while others are much looser in application. That’s one of the benefits of Agile, there is flexibility to take what works and leave the rest.
In Agile, a product owner keeps a prioritized backlog of items. These items should be well defined and stack ranked against each other so that the top of the list is always the most important, even when the top item is taken off. In Scrum, teams work in sprints, often one or two weeks in which the top priority items are pulled into the sprint and worked on. In order to know what the team can actually work on in the two weeks, each item, or story, is estimated by the team. Since at home it is just the two of us in the team, and we don’t get a ton of time between feedings, or “points of velocity”, we skipped the estimating process and aren’t doing sprints. This turns out to be much more like Kanban, a just-in-time prioritization system similar to Agile that was made popular due to the success it saw in automotive manufacturing. So instead of a sprint, we have a prioritized backlog, stored in Google Keep, and a board of in progress items on RealTimeBoard.
They look like this.
Either of us can add items to the backlog. If a task is too big to accomplish in a single block of time, say an hour or two, it has to be broken up into smaller subtasks. This is a principle of Agile as well and helps ensure larger milestones are reached. When we have time, we pull an item off of the list and put it onto the board in the todo area. We use color coding to show who is working on what. We then move it across the board as it goes into progress and when it is complete. Ideally, a task has a clear definition of done. In software, this would include test criteria, releasing to production, tests, and documentation. At home, it just means making sure something is done and it won’t come back. If additional items need to be done, new items are added to the backlog. We leave items in the complete list for a while, both so the other person can see what is done, and to have a sense of accomplishment.
Is this system overkill? Possibly, but I think it’s much better than trying to keep track of multiple todo lists on notebook paper. And it doesn’t take much time at all. If it’s good enough to deliver large scale software at places like Amazon and Google, it’s good enough for the Lund household.