I've been on a quest to work the Agile/SCRUM methodologies into my workplace for a while now. I'm still in the preparation/evaluation phase. We're a decent size shop, with 6 developers, but the current nature of our work and the departments we support force us to be "lone gun programmers" for the most part. Most of the stuff I've read up to this point (and there is a lot out there) point to the concept that you typically have about 7 to 10 members in a SCRUM team.
Not being completely discouraged, I decided to ask the almighty gurus at StackOverflow about applying SCRUM to 1 or 2 developers. While the general consensus is that SCRUM itself is indeed for larger teams, there is a lot of Agile methodology that can be used in smaller groups to be successful. One recommendation that came to me was to use a personal kanban. Having heard that word dropped here and there, I was intrigued and decided to invesitgate more.
In a nutshell, "kanban" is the japanese word for billboard. A guy working for Toyota originally developed a kanban at his office to provide an easy visual representation of what is department was currently doing, and what it had to do. More importantly, it also helped to make sure not too much work was being done at once, because interestingly enough, if you're workload is at 100%, you're not efficient at all. A personal kanban is this billboard approach to a department, modified down to you and your workload. At the fundamental level (you can see this in my photo above) you divide your board into three sections:
- Backlog: Work that needs to be done
- Doing (X): Work that is in progress. The (X) indicates how many tasks you can work on at once. Don't go over that number!
- Done: Stuff you've completed. Woot! Happy Dance!
From there, the process is simple. When you get a feature request, bug fix, new project, etc, write it on a sticky note and put it in your "backlog" section. When you go to work on that item, put it in your "doing" section. What's that, another bug fix came in with a higher priority and you're at your limit? Well, move something out of the "doing" section back into the "backlog" section and move that one in. It's that simple. Hey hey! I fixed that bug! Put the sticky note to your "done" section and let it sit there for a day, maybe two. It helps you remember that you're actually making progress on things.
That's it! Its profound in its simplicity. There's no formula to what goes into your "doing" section or what your maximum tasks is, that is something you figure out for yourself as you continue to work. What's more important is that it gives you a visual representation of where you're at and where you're going. Additionally, it helps my manager see where I'm at if I happen to be out to lunch or something and they wanted a quick progress update. I've also found that my mind is a little more cleared up to focus on my work, because I haven't accidentally crammed 6 bug fixes into my head to remember or work on at the same time.
After a couple of weeks in, I decided to add a couple of sections that pertain to my work. Again, the beauty of this is that you tailor it to your style and needs. For me, I added the following sections:
- Fires: Yeah, the pathetic attempt at a flame integrated into my "doing" section. Sometimes that phone call comes in about something that has to be fixed right now. I put any of those extreme priority items into this special column to help distinguish them.
- Pending Done: Once I've finished a bug fix or application update, I do my own testing on it and then notify my end users of the change so they can test it as well. But often enough they are just as busy as I am and might not get to it the same day. I created this "Pending Done" section so that I don't forget to check up with them. I can't quite consider the task "done" since I don't have sign off from them, but I don't want to lose time by waiting for them to respond. I put the sticky note into here, so I can move another item from my "backlog" section into my "doing" section.
I absolutely LOVE this personal kanban! It has really started to streamline my work, given me a good workflow to work with, and I think I've started to peak the interest of a couple of developers in the shop since the board sits right next to me for all to see. I'd suggest you give it a try. Whiteboard, markers, and sticky notes are all standard fare in office land, so it shouldn't cost you anything out of pocket and it'll take you all of 5 minutes to get up and running. From you're on your way to making your work just a little more agile.