Scrum and the single developer
As I mentioned in a previous post, I’ve decided to use the Agile methodology Scrum for the NoTooMi project.
It’s lightweight, and still enables me to do the design I need, without having to resort to tons of extra documentation just to keep with an arbitrary methodology. So the question remains, what is Scrum?
I can’t possibly explain it any better than Hamid Shojaee:
Scrum in Under 10 Minutes
So how does a single developer make use of Scrum? One way is to use tools such as AxoSoft OnTime. (There’s a free download, but for reasons that are undoubtedly local to my system, I wasn’t able to install it.) In fact, in accordance with the spirit of this project, I should be using one of the web-based tools for Scrum management, such as:
But what I found is two things:
1) I couldn’t find a tool I liked that gave me everything I needed and still provided public access
2) I didn’t want to spend time learning a new tool when I could do it the old fashioned way, with sticky notes.
So I’m afraid we’re on to sticky notes, at least until things get too big to manage that way. So I start by writing down every use-case I can think of that will be involved in creating NoTooMi. Each one goes on a sticky note, along with an estimate of how many hours I think it will take.
I can then put all the sticky notes on the “Project Board”, which is one wall behind my desk. This is the Project Backlog:
Then I define the first sprint. In this case, it’s “Initial release of simple Twitter client.” I then move all the tasks that are involved in getting to that point to the “Sprint board”, which is the wall next to my desk:
So then I’ve got a total for the Project and the Sprint:
Once I’ve been working on this for a while, I will revise my estimates of what’s left, and create the burndown chart, which will give us an estimate of when the sprint will be finished. On a normal project, we’d do this every day, but since I’m not working on the project every day, this will just have to be one of those adaptations I’ll have to make.
