Skip to main content

Your Estimates Are Wrong
(… and What to Do About It)!

Estimates are always wrong. It is the sad reality of our industry. And they can be wrong for many reasons. From missing or poorly defined business requirements to false assumptions, from lack of technical expertise to overestimation of development team capabilities, there are a myriad of issues that can arise during a project that can cause even the most carefully constructed estimate to end up wildly off the mark. 

As a solution architect, or project manager, or someone else tasked with the responsibility for producing the estimate for your next project how do you proceed? First, the goal is not to be 100% right, it simply is not possible, and that is why it is called an estimate. The goal then is to be off by as little as possible, and more importantly, to be able to explain why if it happens. 

At Imaginet, we have a responsibility to our customers to produce detailed and accurate estimates so that their stakeholders can be assured about exactly where their financial investment is going and can accurately report on any change requests that come from the project team with confidence. Our customers expect a clear picture of how much their project is going to cost. Nobody wants the next money pit to be their responsibility. How do we achieve that? There are four keys to estimating accuracy. 

  1. Estimate for the team involved. There are two aspects to this. First, whether you have a large team of diverse skill sets or a small team of senior developers, it is important to estimate considering the median ability of the team. Your team will have differing levels of experience and areas of expertise. The same task may take one person more time than it would another. Also, be aware not just of the effort it will take to write the code, but also that to gather the requirements, design, and architect the solution, test it, deploy it, and manage the project according to what the expectation is for each of those roles in the project.
  2. Estimate more than one way. There are many methods for estimating the cost of building software, from the proverbial (not recommended) finger in the air to complex formulas. Whatever you choose, it is often good to re-estimate the project with a second technique to provide a sanity check against the first attempt. If the results do not end up within an acceptable measure of difference, something must be wrong and further evaluation of the estimate should occur. At Imaginet we apply 3 different formulas to our estimates.
  3. Estimate with more than one person. Another set of eyes provides an additional way to sanity check your estimate. Having someone review your estimate may uncover additional questions, assumptions you missed, and errors in your numbers. At Imaginet, custom software development estimates do not go out unless they have been vetted by our experienced estimation team as a group, especially for large-scale projects
  4. Assumptions, assumptions, assumptions. As part of your estimate, you should clearly document the assumptions that it is based on, to as granular a level of detail as you can. This can be difficult if the requirements given are threadbare, but detailed itemized assumptions serve two purposes. First, before the project begins, the customer has an opportunity to review our estimate, read the assumptions and agree that they are right, or point out where they are wrong so that we can re-issue the estimate having established a shared understanding of what is being built. Second, during the project, if an assumption is falsified that was previously agreed, there is now formal cause for both the development team and the project stakeholders to understand why an estimate may be more or less than the actual and provide justification for issuing change requests or adjusting the scope triangle of the project. 

Let us build something amazing together
Connect with us.

With over 20 years of experience working with Microsoft Technologies, Imaginet can help you choose the right Microsoft 365 solution to adopt an effective hybrid workplace model and improve employee engagement. Contact us to get your free virtual consultation.

Let's Talk

Like what you read?

Check out our recent articles.

January 19, 2023 in Application Development

UX and Dev: A Perfect Partnership

There are many benefits of utilizing a UX designer’s expertise during a project, which include making it more efficient for the development team to implement the functionality. At a high level, a UX designer focuses on improving the interactions between a user and an application or website. In the past, these were often left up to us as developers...
Read More
January 9, 2023 in Agile, Application Development

Agile Project Management in Consulting

One of the key benefits of agile project management is that it allows for a more iterative and incremental approach to software development giving a faster Return on Investment (ROI) for the customer. Rather than trying to plan out every aspect of a project in advance, agile teams focus on delivering small, usable features of software on a regular basis. This allows the development team to be more responsive to changes in the project's requirements…
Read More
November 16, 2022 in Azure, Managed Services, Office 365, SharePoint

Using Entitlement Management to Provide External Access to SharePoint Online

Azure Active Directory (Azure AD) entitlement management is an identity governance feature that enables organizations to manage identity and access lifecycle at scale, by automating access request workflows, access assignments, reviews, and expiration.
Read More
November 9, 2022 in Office 365, Power Platform, Productivity

Microsoft Power Pages

Power Pages provides a complete and modern set of tools for creating your website without any coding skills. It also provides support for Microsoft Office 365, Azure, SharePoint, OneDrive, and other Microsoft services.
Read More
Darren Kuik

Darren Kuik is the Practice Lead for Application Development and a Principal Consultant for Imaginet in Hamilton, ON. With over 20 years of experience as a software developer and solution consultant, he is highly engaged with identifying quality solutions that meet customer objectives and solve problems. His two decades of experience provide extensive familiarity with many modern technologies and a readiness to understand the customer's business domain.

Let‘s Talk.

Let's talk!