photo of a software engineer sitting at his desk and looking over his shoulders
Work Culture

How to ensure software projects won't take longer and cost more than expected

July 18, 2023
Pedro Paranhos

Recently, I listened to a great episode of the Freakonomics Radio podcast titled “Why your projects are always late — and what to do about it”. In it, host Stephen J. Dubner and his guests explore why so many projects take longer and cost more than originally planned.

The examples they discussed are the usual suspects — home renovations, public infrastructure, personal time management. Yet I couldn’t help but thinking about how that also applies to many software development projects out there.

We don’t want software projects to get this bad rap and we know from experience that it’s possible to do better.

We hope, that this article will help you ensure your investment, in custom software development or IT staff augmentation, will run smoothly, on time and on budget.

Why planning often fails

Nearly anyone who has ever attempted to complete a project has fallen prey to a cognitive bias called the planning fallacy. This phenomenon, first proposed in 1979 by Nobel laureates Daniel Kahneman and Amos Tversky, refers to our tendency to underestimate the amount of time and resources required to complete a task, leading to unrealistic expectations and missed deadlines.

Sounds bad? It gets worse: the planning fallacy makes us blind to our own previous experiences in similar projects, and only works when we're evaluating our own tasks — when we're evaluating other people's tasks, we tend to display a pessimistic bias and overestimate the costs and time it will take.

Of course, this is a well-known problem and there’s a whole field of study devoted to it: Project Management.

Now you might be thinking: most software projects have at least one Project Manager on board – sometimes several! So why do these projects end up costing more and taking longer than expected?

Why software projects often take longer and cost more than anticipated

It’s not so much that it’s impossible to anticipate a software project’s actual cost and timeline – although there are always “unknown unknowns”. It’s just that doing this takes time and effort, and not many software houses are willing or able (or neither) to put in all this work to create a proposal that might be rejected anyway.

At first glance, this might seem logical. However, we believe that the effort put into making every proposal as accurate as possible has a great ROI. Here’s why:

  • The more assertive the proposal is, the higher the chances that it will turn into a signed contract.
  • Both sides will be happier and collaborate better once the project is underway.
  • It's a good way to hedge against future problems for both sides, including legal issues.
  • It's just good business — satisfied clients can bring in new business through referrals, while dissatisfied clients can severely damage a contractor's reputation.

Of course, being realistic often means bringing expectations down, and that's bound to make selling harder than just saying it will be "good, quick, and cheap".

Even so, we are confident in our capabilities and accept this additional layer of difficulty in exchange for staying true to our values.

To bring this point home, consider the following scenario:

graphic showing two software project estimates and costs over time

With which contractor do you think this client would rather work again? Which would they recommend to someone else?

That's how important it is to make accurate proposals – and this is the starting point for any successful project.

Good Project Management starts at the proposal

If you want to ensure your software project will be successful, you should consider how realistic the proposal is as much as you care about the price and quality of the service.

Of course, out of these factors, price is the easiest to evaluate and compare.

As for the quality of service, you will need someone in your company with the technical know-how to evaluate the contractor’s portfolio. If you don’t have that person, you can check their reviews on reputable platforms. Here are two of the most popular:

This leaves us with proposal accuracy. This is indeed tricky to evaluate, especially if you don’t have a lot of experience hiring software services. So here are some tips that might help minimise unwanted surprises down the line.

  • Notice how much information the contractor has gathered before sending the proposal — if they are asking a lot of questions, this is a good sign that they are trying to understand your specific needs and constraints before giving you an estimate.
  • Verify if they work with standard fees — sure, they probably work with a specific hourly rate for each level of expertise or type of service. However, if they offer set amounts for certain types of projects (e.g. X dollars for a web app, delivered in Y months), that is a sign that they’re not considering the unique characteristics of each project.
  • Pay attention to how long they take to give you a proposal — yes, I know we're all in a hurry, but if you expect a well-thought-out proposal, you must be patient. If the contractor sends you a proposal within a very short time, maybe they care more about closing the deal fast rather than committing to accuracy. And what would be a very short time? That depends on the complexity of your project. You'll need to use your judgment for that.
  • Beware the small print — when contractors aren't confident in their estimates, they'll often include terms allowing them to add contract annexes with more time and money when things inevitably go off the rails.
  • Evaluate if the contractor is a good fit for your company. Check their portfolio for companies similar to yours in terms of size, industry or needs. This can be a good indicator of how accurate you can expect the proposals to be.

Once you have considered all of these items, together with price and quality, it will be much easier to choose the right contractor for your business.

Summary

  • Planning projects is challenging, but this doesn’t mean contractors should get away with sending one-size-fits-all proposals and endless contract revisions.
  • The best way to avoid frustration on both sides is to ensure proper Project Management, and that starts with an accurate proposal.
  • Nothing beats experience, but there are a lot of ways to evaluate how accurate and thorough a proposal is – check the list above. This must be considered together with the price and quality of service in order to choose the best possible contractor for your needs.
  • If you want a deeper dive into the project planning concepts presented in this article, check out the podcast episode I mentioned in the intro:

Continue reading