The art of planning software development seems to be lost. In the old days, we had elaborate 1-year plans that almost always exceeded budget. Management would present their MS Project file and call it “ambitious“. Developers would despair or laugh, depending on the company culture. The rise of agile software development has replaced big upfront design and planning with a more feedback-driven approach.
Iterative and incremental delivery has revolutionized our field. Yet planning’s bad reputation has stuck around. The general consensus among software developers these days seems to be that plans are pointless – that we don’t need any. If it’s impossible to plan software at all, why even bother?
Yet those of us who are responsible for budgets and customer relations know that plans are still a vital part of this industry. Without them, we’re just building stuff.
In my work with software teams, it’s a recurring theme how bad we are at basic planning. We’ve almost given up. On the one hand, we’ll have developers who look no further than the current sprint. On the other, some managers have all but given up on planning.
The pushback against this general lack of planning usually comes as a return to the old ways. Abominations like SAFe will have extensive quarterly PI planning sessions and “Agile Release Trains .” I’ve seen Marvel movies that were more realistic.
The key to planning agile software development lies in adapting based on feedback. We must accept that we don’t know the future and that continuous iterative planning is the only way to stick to the mission.
Instead of giving up on planning or reverting to what didn’t work in the past, we must embrace iterative, incremental planning
Planning software development is a fantastic topic. If you’re as fascinated as me, why not sign up for the Planned Attention newsletter?