Development

Web Development

Estimation is Crucial to a Software Development Project

January 9, 2020

How much does a new car cost? That depends on the car. How much does a new software application cost? That depends on the application.

In either case, estimation isn’t an exact science. Until you have a somewhat detailed understanding of the application system and its specific features, you will have uncertainty in estimates. However, estimation is still crucial to the early stages of a custom software development project.

Custom Software, Emphasis on the Custom

Key question: Why do I need to pay you to do research or planning?

Custom software can be compared to buying a high-end home completely tailored to you versus buying one that you have to fit into. Or a custom fit suit versus one that kind of fits well. Or building your own business versus buying another franchise.

There are many benefits to custom software because you can completely customize it to fit your business needs. Integration with your other systems, scalability to your needs, unique branding, and ownership are also some of the key benefits.

That said, however, renting or buying software ready for purchase is a much simpler and more straightforward process than building custom software from scratch.

Uncertainty Factors

When building a custom car from scratch, you won’t know the bottom-line cost until every component is accounted for. Even then, there are complications: wrong parts, more safety tests, changing preferences that all have to be factored in along the way. There will also be fluctuations.

By definition, custom software is custom to a certain use case. In some situations, the development team will be building a novel application that requires a custom approach. Even with the most skilled team, there will always be levels of uncertainty throughout the process. This means estimates or understanding of functionality upfront will change as the project progresses.

Adding Detail Adds Certainty

Key questions: Why are some price ranges so wide? Why can’t you tell me no what this will cost?

Now that you know you want to build a car from scratch, you need to understand the requirements for the car’s design and performance. To truly accomplish what you set out to build, you’ll need more information to make key decisions before getting too deep into the process.

As development decisions are made, research is conducted, and requirements are refined, the initial variability decreases because the team has more certainty around what they’re delivering. The more you research and plan upfront, you’ll often have more certainty about an estimate.

Estimates are typically provided during the initial product stage or approval. This happens upfront before most of the discovery and requirements gathering has taken place. While the estimate may be accurate, its accuracy can’t be assumed without further exploration. For this reason, you will see large ranges for the first estimates and narrow it down as you gather more information.

This demonstrates that it isn’t particularly valuable to give supposedly precise estimates on development efforts until the project matures and has more complete requirements. Instead, sticking with ranges of possibilities while understanding the project’s level of uncertainty will allow you to have more realistic expectations moving forward. The more you put into the planning stages, the more you can hone in on a realistic estimate and avoid surprises down the line.

The Payoff of Effective Estimation

Whether you’re buying a custom-made car or investing in custom-made software, the same truth of estimation applies: It’s an imperfect but crucially important process. Given the reality of technical, temporal, and budgetary constraints, it’s important to develop as accurate an estimation as possible when planning for a major software development project.

As a company that delivers software, in our experience, one of the most important things is to build trust with clients. It begins with setting the right expectations for a successful partnership. Accurate estimates set the stage for the entire project, provide understanding, establish parameters, and identify constraints that lend higher certainty to the project. Clearly understanding how the estimates were made – by both the client and the agency – will make it easy to identify why overages and rescoping need to occur.

Dangers of Inaccurate Estimation:

  • Undue stress
  • Unhappy team
  • One party is bearing all the risk of overages
  • Project risk for completion
  • Trust deficit

Benefits of Accurate Estimation:

  • A healthy, productive working relationship
  • A happy team whose expectations are met
  • A risk-free partnership
  • Trust, which is built and maintained throughout the project lifecycle

Wrap Up

Estimation can be extremely difficult. But it’s worth investing time and energy into understanding the process and the various approaches to feel confident about establishing a strong partnership. The end result? Delivering a successful product that brings value to your company.

Download our free white paper: Your Guide to Estimation to learn how to build the most high-end products for your company.

Fresh Consulting's white paper, Your Guide to Estimation

Whitepaper

Resources

Your Guide to Estimation

Download

You might also like...

5

Aug.

Everything as Code

Writing code isn’t the only skill you need to deliver software, but it might be the most important skill for everyone involved. Every role involved in delivering and operating modern systems is beginning to use tools to automate their jobs. Instead of having a deployment checklist, you can define each step in code and have … Continued

25

May.

Using Containers to Automate Your Development Environment

Beginning to work on an existing codebase can be daunting, but it can be even more time-consuming if the team hasn’t taken time to automate the creation of their development environment. When you start working on an existing project, you’ll likely follow similar steps to the ones below to run the code on your machine: … Continued

19

Mar.

The 10-Phase Product Development Process: A Framework

The product development process is often unknown to the end-consumer. When walking into a store or shopping online, we might take for granted how all of the products came to fill the shelves. Since we simply see a finished product in front of us, we don’t often stop to think about how it got there. … Continued