How to Manage Budget and Deadlines on Agile Projects
Software projects are notorious for taking longer than expected to deliver. As a result, those projects cost more than expected. Usually the fingers point at project managers in those situations, but that's not always just. In my experience, those original expectations are to blame.
These expectations are unreliable, and often untrue. Hanging your project plan from a scaffolding of unrealistic expectations is dangerous. There is a better way.
How to manufacture pizzas
You may be familiar with the way manufacturers manage projects. Colleges teach this classical style of project management in most management courses, and it's the go-to approach for most projects in the business world.
Here is an example. A pizza shop manages their business using this manufacturing approach. They build the same product over and over from the same set of ingredients. All of the necessary processes, from the assembly, to cooking and delivery, can be measured and managed predictably.
I’m not in the pizza business, but I’m confident they watch numbers like these at each store:
- How much time it takes to prepare the dough
- How much time it takes to apply toppings
- How much time it takes to go through the oven
When you couple these measurements with a few variables, like delivery distance and weather conditions, you can predict with some accuracy how long it takes to create and deliver a pizza.
This style of project management is tried and true for predictable environments where the path to the finished product is relatively constant. But for projects where something new and challenging appears at every bend, like software projects, this style of management falls apart.
A better analogy for Agile software development
Software features are developed using a process for consistent quality control, but those processes don’t predict the production time nearly as accurately as they do in a pizza parlor.
Perhaps a more apt analogy would be that of a transporter.
Let's say you were hired to transport a valuable art collection from San Francisco to Paris. That trip involves many round trips, each consisting of several flights, and driving. Each piece of art is different in size, weight, and material. Some are more fragile than others. That journey would involve going through customs, security, and other obstacles. Travel delays, weather conditions, amid many other reasons, can create unpredictable situations which affect the cost and timing.
As a professional transporter, you face these situations all the time. The trip can, and should, be meticulously planned to ensure you can meet the delivery timeframe. You know how many miles to drive, the timing of the flights, the layover between trips and can account for the likely delay scenarios. All of that helps inform expectations of what a reasonable delivery window would be.
Can you guarantee a delivery timeframe for the full collection? It’s not quite that simple, is it?
Despite your best efforts of planning and estimation, ultimately it takes what it takes. Flights are delayed, connections are missed, the artwork had to be scanned for drugs, and so on. Obstacles are unavoidable.
A person with experience will be prepared to handle unexpected situations. You can’t predict what will happen, but as an experienced professional, you are more likely to have encountered those obstacles before. You’ll be less surprised, and more prepared to handle those situations.
So, this is chaos? How do we track budget and deadlines?
The key to wrangling projects to fit within timelines and budgets is to understand what you can control, and what you can’t. Rather than fight a rigid plan, embrace change. As new obstacles and information arise, you communicate progress and collaborate on changes to the plan.
Too often our prospects see this "changing plan" as a "lack of accountability." I appreciate their concern. Predictable costs are crucial to ensuring there's an ROI for the work.
Again, the harsh reality is that it takes what it takes. You can't will five days of work into two. Doing so just creates bigger problems. It introduces silly mistakes as a result of rushing. Much more damaging, it puts you at odds with the development team, which kills morale and almost guarantees slower delivery in the future. As a result, those developers will pad all the estimates they give you from now on to avoid the fight.
Embrace the reality. Our insurance comes from the flexibility to adjust to a 2-day plan when the 5-day plan is no longer feasible. Together, with the team, you can explore ways to deliver a smaller feature that produces the same value, or a way to phase that feature in at a future time.
The most important aspect of any team is the shared motivation to deliver as much value as possible. If you can remove the obstacles that demotivate your team, their loyalty will pay massive dividends on this, and future projects.