Estimating a technological project :
The art of predicting the unpredictable
As a supplier
Your client asked for an estimate and you’re wondering where you should start?
Rest assured, you are not the only one in this situation.
The Chaos Report estimates that only 16% of all IT projects are delivered on time and within the budget allocated at the beginning of the project, regardless of the method used. That’s not much, to say the least! It might be because estimating a technology project is first and foremost about predicting the unpredictable. In this context, how can we properly assess the cost of an IT project? Here are some ideas and best practices to guide you along this complex process.
An estimate is…
An estimate is a rough estimate of the costs and duration associated with the delivery of an IT project, from the first to the last step. This estimate is based on the variables presented by the customer to the supplier. This gives the client an idea of the budget and can be used as a basis for the rest of the project.
An estimate is not…
An estimate is not a fixed contract, nor is it a final commitment to deliver the project within the stated budget. Rather, it is an estimate of the costs related to the project, and it does not represent the fixed amount you will spend for your entire technology project.
The “Cone of Uncertainty” Theory
Source: Agile In A Nutshell – Cone of Uncertainty – http://www.agilenutshell.com/cone_of_uncertainty
In the above graphic, software engineer and project management expert Steve McConnell highlights the implications of a product estimate presented early on in the project. This quote should be taken with a grain of salt, as the final price could represent a cost four times higher or lower than the estimate!
Considering this theory, a client who asks you for an estimate representing “plus or minus 20%” of total costs, should have already carried out certain parts of his project for the numbers to match. A reality that is, more often than not, highly misunderstood by clients. In this context, the client has to be aware of the fact that the estimate of an IT project will never be 100% representative of its total costs. Which leads us to this crucial question: When can a client know precisely the price of a given project? The answer is simple: The final price will only be known… once the project has been delivered.
Minimizing the variability between the estimate and the final cost of a project
The only way to reduce this variability is to work hand in hand with your client to reduce the uncertainty related to the IT project. Several variables play a key role in producing a realistic estimate:
- The time spent by both the supplier and the client in producing the estimate. An estimation process carried out too quickly is more likely to result in an estimate that’s far from reality. It is crucial for your client and for the success of the project, that everyone involved understands the importance of devoting time and efforts to the process, so that all relevant information is shared, and all questions are answered at this stage of the project. As a rule of thumb, your client should devote at least 10% of the project’s total budget upstream, in order to prepare all that’s necessary to obtain a realistic estimate. That process could involve preliminary analyzes, creating mock-ups, participating in workshops, etc.
- The complexity of the project. The more complex the project, the more difficult it will be to produce a realistic estimate. Whether it is to create a mobile application, a software, a website or an IT platform, each additional feature involves its share of uncertainties, which complicates the evaluation of costs and efforts related to the project. This is a notion that should be well understood by the client, when considering the number of integrations required, the level of customization wanted, the business rules to be implemented, etc.
- The risks associated with the project. It’s difficult to assess the risks related to an IT project very early on in the process, especially when it’s your first time working with a client and you still don’t know much about its reality and technological challenges. In this context, many suppliers choose to add an extra 10 to 30% to the estimate to cover potential expenses related to the “risk factor”.
- The uncertainties associated with the project. A project that is poorly defined will be difficult to assess. The more you succeed in answering your team’s questions upstream of the estimate, the better equipped you’ll be to calculate the total duration and efforts related to the project. This will put you in a better position to provide the client with a realistic assessment.
Who to involve in the estimation process?
Throughout the process, it is the provider’s responsibility to make sure all pertinent resources are involved at the right time and that they communicate in all transparency with the client.
- The IT Experts. These specialists are key resources for properly evaluating the efforts required at every stage of the project, in addition to assessing the risks and uncertainties associated with the initiative.
- The sales team and the project manager. The estimate is the final step of the sales process initiated by your sales team. It is therefore crucial to involve them in the process of creating an estimate, since they have acquired some knowledge of the customer’s reality and may already be able to answer certain of your technical team’s questions. Project managers should also be involved to make sure everyone is on the same page.
- The client. The client should be involved throughout the process, so that they gain a deeper understanding of the thinking behind the numbers presented in the estimate, and so they can clarify any area of uncertainty that remains. It is the supplier’s responsibility to make sure the decision-makers are around the table early on in the process.
“How much is it going to cost?”: Best practices for producing a realistic estimate
Logient experts consider that a good estimation process should include the following steps:
- Ballpark estimate: an estimate not based on any systematic analysis. This step is intended to give the client a very rough idea of the budget that should be dedicated to the project, and can serve as a guideline for the client to plan for future expenses while in the process of budgeting for the year to come. As a reference, the provider can evaluate the total value of a client’s project at around $ 100K, $ 250K or $ 500K, for example.
- 360-degree workshop: a brainstorming workshop bringing the key players around the same table (designer, IT architect, client, etc.). This is a key step to further detail the ballpark estimate provided initially and to identify risks and concerns. During this workshop, all parties involved in the project discuss various elements – the business context, technical and interface (UX) requirements, project components, interactions, etc. – in order to consolidate the foundations of the project.
- Proof of Concept (POC): A proof of concept can be useful early on in the project, as this will act to reduce uncertainty. This investment in time and resources – which can be as minimal as a 2-day joint effort – helps your technical teams to better understand the client’s reality and technological challenges. This knowledge can then be used to feed the estimation process and produce a more realistic estimate.
- Estimating workshop with the client: As a supplier, it is crucial for you to get your client involved in the estimation process. Logient experts suggest this can be facilitated through a hands-on workshop of anywhere from a half day to a full day, depending on the size of the project. This will ensure the client understands the process, the costs related to the project, and its implications. The workshop will also be useful for your team to clarify any uncertainties remaining at this point, and to educate the client on the risks associated with the project. Ultimately, the client will gain a better understanding of each of the costs of the project.
- Estimates during the project: an updated estimate is provided to the client after each iteration or sprint, in order to validate or invalidate the next stages of the project. These estimates get closer to reality as the project progresses, because the risks and uncertainties are cleared up along the way.
Agreeing on the billing method
A well-handled estimation process will lead to an agreement, which will include one of the following billing options : fixed price, time and materials (T&M), or a combination of both methods. These methods all have specific advantages and disadvantages for each of the parties involved:
- Fixed-price billing: In this case, the final price of the project does not depend on the amount of resources or time spent on the project. This invoicing method is frequently used in short-term projects. While it gives the client more control over the project’s budget and expenses, it implies a major disadvantage for the supplier, who is the one absorbing 100% of the risk. In addition, this type of contract requires good upstream preparation in order to better identify the elements included and excluded from the mandate, because anything outside of the defined scope will be the client’s responsibility.
- Time & materials: In this scenario, the final price of the project varies according to the hours worked, multiplied by the hourly rate fixed in advance, plus the costs of all material necessary to respect all deliverables. Here, the risk is assumed equally by the supplier and by the customer. This method also offers more flexibility for both parties involved, so the challenges and needs of the project and teams involved can be better addressed throughout the collaboration.
- Combination of both methods: The agreement can also include a mix of both methods, with the core of the project being billed at a fixed price, and all extra efforts being billed in time and materials.
The Estimate : It’s all about teamwork
Estimating a technological project requires a thorough understanding of the client’s needs and requirements, but also a comprehensive grasp of its reality. Make sure you are transparent throughout the process. This will help clarify doubts and concerns, and mitigate uncertainties related to the project. More importantly, take your time! Educate your clients on the fact that spending a few extra hours on the estimate process will save them many surprises during the project.
Since producing an estimate is a team effort, clients should also be prepared to participate actively in the process. Read our next article to better understand the key role of the client in the estimation process.
On your marks, get set… Estimate!