A lot of effort has gone into freeing software developers from the shackles and constraints of prescriptive planning regimes. Advocates say that, rather like the difference between Soviet-style command economies and the responsive, entrepreneurial markets which gave us the world’s commercial success stories, development teams should focus on doing things, on getting working code out the door. The language, replete with sporting metaphors of scrums and sprints and extreme programming reflects this. There is, however, another sporting analogy which bears examination: the tortoise and the hare. The tortoise won in the end by running a steady race focused on the goal whilst the hare quite literally hared off in different directions and got distracted from the goal. This week, we have some articles for you considering the need to do some preparatory work before embarking on a deliver project. Waiting until the sprint or iteration has started before getting a definition of completion is probably leaving it too late. Just because agile methods don’t rely on having a complete plan before commencing delivery doesn’t mean that planning is no longer required.
- Know what you’re going to deliver, and when. Accept that not everything can be shoehorned into a single release, so plan delivery of features and functions across a number of releases
- Front load your risk: identify dependencies, technologies or deliverables which are key to the overall success and concentrate on those first. You can’t build a house without first putting in the foundations
- Plan your sprints. If you can’t go into a sprint with clear definitions of what is to be achieved and the criteria for measuring success then you’re not ready to start
- “Agile” does not mean “Anarchy”. There are many apocryphal tales of business stakeholders or even product owners who think that “Agile” means that random tasks can be inserted at any point in the process. Constantly changing goals mean never being able to achieve anything meaningful.
To summarise: investment of a short period of planning in advance of deliver will pay dividends. Do resist the temptation to plan in too much detail – that’s what the sprints are for – but the framework, outline and release planning matching deliverables to sprints/iterations are key.