I was having an informal chat with a former colleague1 today. After shooting the breeze about this and that, he announced how he had become a big fan of 37Signals’ Get Real methodology and was applying it to his own work. Fine, I thought… Until he started going on about how it allows him to start a project without much of any sort of planning. “Oh no it doesn’t” says I. You still have to know what you’re building and why, before you jump in and code. Without some sort of plan, you end up with a mess. A big unwieldy app that doesn’t focus on the job (nor do it well). You end up missing one of the big points of “Getting Real” – Lean Software
You Have to Know Where You Are Going, Before You Can Get There.
I never managed to convince my ex-colleague of this point, but the very article at 37Signals he thought was telling him to “dive right in” describes what he should be doing instead:
So what do we do in place of a functional spec? We write a one page story about what the app should do. If it takes more than a page to explain it, then it’s too complex. If it’s simple and it takes more than a page to write it then we’re not writing clearly enough. This process should take no longer than a few days.
Personally, I don’t even go this in-depth. A simple list of bullet-points describing what I need to achieve is usually sufficient. This then gets tape to the edge of my screen as a constant reminder.
1 He’s an ex-colleague because he left to try and cash-in on the success of Flickr and Basecamp et al. That was 9 months ago or so and he’s still not got anything to show for it.