How to Make Accurate Project Estimations

Article by:
Yauheni Svartsevich
12 min
Can software project estimation be as realistic as possible? In this article, we share some hands-on project estimation techniques and useful tips on making the estimating process more accurate and robust.

Sometimes it seems that the project estimation process can significantly increase the cost of the pre-development phase. But, it is crucial to realize that the resources spent at the initial stage of the project are a good investment in the outcome. Since money and time are at stake, vague rough guesses or approximates given off the top of your head aren't an option if you aim for smooth development, safe from excessive spending.

On this page, you can find a step-by-step explanation of how to do project estimation. We'll also provide a detailed project cost estimate example that you can fall back on along with expert tips and insights. Let's roll!

What Is Project Estimation?

Project estimation is the process of calculating and predicting the costs necessary for its successful realization. It is usually handled the earliest stages of the product development life cycle like the discovery.

In software development, estimations imply making predictions regarding the most realistic scale of efforts that should be put into developing a software product. This information allows to determine:

  • the amount of money that needs to be invested in the project;
  • the number of specialists who would work on it;
  • and estimating software development time required for all that.

Our team has been providing discovery phase services for more than a decade, and based on our experience, handling estimation as well as other vitals during this stage leads to smoother processes down the line. Hence, it's best not to skip the phase.

Why Estimation Is an Essential Stage of Any Software Project?

Many in-house and outsourced software projects fail because their project estimation is not reliable. Failure means the developers did not meet the deadline, overran the budget, or did not deliver what was expected.

A study conducted by McKinsey found that 66% of software projects have cost overruns. A third of them go beyond the estimated schedule, and almost 20% of them fall short of promised benefits.

Predicting the time, effort, and resources required to complete a project is hard work. But it can enforce your product development roadmap and enhance project planning, budgeting, and resource allocation. The more accurate the IT project estimation, the more customer-satisfying the result will be. That is why a correct estimate is a crucial part of project management procedures, and it is really worth it.

Nonetheless, as estimating software development costs and time is based upon incomplete, imperfect knowledge and assumptions about the future, they all have uncertainty. There is no such thing as a precise, single-value estimate.

Are you not sure how to do the estimation for a software project properly? You're not alone. If we take software development models into account, the more traditional 'waterfall' approach implies that all the software specifications must be provided upfront before the project estimation process starts. But now, everyone is going agile.

Stakeholders and product teams want to begin immediately after preparing brief requirements and then add new features literally on the go. A minimum viable product (MVP) is released quickly, feedback is obtained, and improvements are made iteratively. In those conditions, planning and estimating project fundamentals can be rather challenging.

So the question we want to answer is, "How can we cover all those uncertainties and make the project estimation as realistic as possible?" We will walk you through how we approach the software project estimation process at Upsilon and share some tips that help us make it more accurate and robust.

Key Components of Project Estimation

In project management estimation, every project is a triangle balancing act with three components:

  • Cost
  • Scope
  • Time
project management triangle

The project management triangle is an important part of the project estimation process due to a deep connection between these three elements. Having enough information about two variables, you can easily estimate the third one.

As you adjust one area of the project management triangle to meet project needs, something else must change in order to keep it balanced. For example, when increasing project scope, the cost or the time must increase as well. One more example: if the project's cost decreases, either the scope or time should decrease to balance it out. 

Project risk is no less important than the triple constraint. Every project comes with risks and to mitigate them, it makes sense to include a risk management plan when estimating software development. 

Resources are another element that needs to be considered during effort, cost, and time estimation in project management. Resources are staff, vendors, contractors as well as equipment. Smart resource management is essential for successful team collaboration. By identifying what resources are needed for and when, teams can reduce delays due to equipment shortages or personnel unavailability. Knowing who has been assigned which task enables leaders to ensure that workloads stay balanced across the board.

Project Estimation Methods

Now that you understand the importance of project estimation and its elements, let's explore the most popular project estimation techniques. 

Project estimation methods

Top-Down Estimate

When you need to get a project done in an exact amount of time, the top-down estimation technique can be a good solution. Utilizing this classic method for estimating software projects starts by defining an overarching timeline. You then logically break it down into progressively more granular phases and tasks – known as Work Breakdown Structure (WBS) – so that all objectives can be met within the allotted timeframe. Top-down estimating in project management provides clients with peace of mind knowing their projects will stay on track for delivery before the deadline.

Bottom-Up Estimate

This is the reverse of the above project estimation method. In it, you estimate each task individually - then combine them for a more precise schedule. Though such project management estimation techniques take longer, you'll ultimately get a more accurate estimate of the time needed to complete the project.

Analogous Estimation

The analogous project estimation technique involves comparing your current undertaking with one similar in scope that has already been completed. Thus, you leverage past experience for greater precision when resources are limited. Analogous estimating in project management is rather effective as by studying variables from similar previous projects and applying them top-down to estimation calculations, you'll have more data and accuracy to rely upon. 

Parametric Estimation

Parametric estimating in project management is another powerful estimation method to gather the insights of past projects and incorporate them into current time estimates. By utilizing parametric modeling, managers can predict timelines for their upcoming venture more accurately by adjusting old project data in accordance with any discrepancies between them. With the parametric estimating method, it is possible to get more precise estimates based on the details from a previous project and pro-rating it.

Expert Estimation

Consulting with experts who have PMP certification or those with experience managing such projects is often one of the most effortless and reliable project estimation methods. This technique provides an advantage in its flexibility, allowing estimators to apply it either top-down or bottom-up according to their current objectives, OKRs and KPIs. In cases where the usage of experienced personnel does not coincide with your present conditions, expert views should still be taken into account — though weighed against other estimation approaches as well.

How to do estimation for a software project?

At Upsilon, we use plenty of methods for estimating software development efforts. Depending on your project specifics, our experts will provide you with a robust estimation taking into account all tech aspects of your future software product.

Get the estimation

How to do estimation for a software project?

At Upsilon, we use plenty of methods for estimating software development efforts. Depending on your project specifics, our experts will provide you with a robust estimation taking into account all tech aspects of your future software product.

Get the estimation

Project Estimation Process: How We Run It at Upsilon

Let's look at the whole process of project analysis and estimations at Upsilon: from the moment of figuring out the client's expectations to giving the final project cost estimation. 

Preparation

Creating reliable estimates for software development is a multistage task. At Upsilon, we always start by digging into the client's main challenges to paint a clear picture of their business and development goals. It's important to gather as much information on the future project as possible.

There are two main sources where we get it:

  • Online video calls via Skype, Zoom, or Hangouts (we discuss the project in general by asking questions and getting answers);
  • Documents and data provided by the client (mockups, wireframes, use cases, user stories, software specifications, etc.).

All of this helps us estimate the cost of building the client's product more precisely. The more information we get our hands on at this stage, the more accurate our software project cost estimation will be. Here is a list of things we usually try to clarify at the very beginning: 

  • What is the pain that you are solving for your customers?
  • Do you have a product problem statement?
  • What are the main features of the product?
  • What platforms will the product be based on (web, mobile, back-end)?
  • What existing components or parts of the system do you already have?
  • Can you describe the main use cases of the new application? 
  • Can you prioritize the features or note the must-have functionality of the future product?  
  • Do you have a specific tech stack that needs to be used for this project?
  • What is your expected timeframe for the project?
  • What is your expected budget for this project?

Once we are sure that nothing is missing and that we're in line with the client's expectations, we go to the next phase: assembling the team. 

Assembling the Right Team

After collecting all the information, we gather professionals who have the most extensive competence in the respective domain. The team responsible for the project estimation is usually composed of senior-level specialists and includes:

  • CTO;
  • Senior back-end developer;
  • Senior front-end developer;
  • Other specialists upon request: a project manager, UX/UI designer, QA specialist, technical writer, and others.

In the vast majority of cases, specialists who make the estimation subsequently become a part of a project's web development team. The key criteria for selecting that team's members are:

  • Professional expertise: the relevant experience of working with specific technologies and similar projects;
  • Ability to start the project as soon as possible;
  • Other factors: presence in the client's timezone, full- or part-time employment, language proficiency, etc.

Pro Tip: Assembling the right team is one of the most sensitive questions in software outsourcing. A customer wants to be ensured that the most skilled specialists with relevant expertise will be assigned to the project. That will guarantee the expected quality and hassle-free delivery of the final product. Also, customers want to see 'real faces' not just abstract 'senior front-end developers' in the estimations, in order to understand further whom they are speaking to on the conference call. That is why every project estimate made by Upsilon is accompanied by a document in the CV format with key information about each team member, including his or her:

  • Expertise
  • Skill matrix
  • Project history 
  • Personal info
Example: Team member's professional profile

Research and Analysis

During this phase, the team members set up a number of meetings to discuss project requirements, exchange their opinions, brainstorm ideas, and try to find answers to vital product development questions. If some details need more clarification, the discussions may alternate with the research sessions. At the end of the Research and Analysis phase, our team provides potential clients with the following deliverables:

Example: Wireframes developed at the Research and Analysis phase

Defining the Scope and Size of the Project

The next step during the estimation of software projects is defining the scope of work that covers software requirements and creating an app or website development timeline. At Upsilon, we use the Work Breakdown Structure (WBS), which visualizes each software development stage with related tasks.

To achieve the project's goal, we split it into milestones, which are broken down into tasks, subtasks, etc. We define a milestone as a marker that indicates an achievement or a deliverable, for example, the completion of a large task or reaching a phase in a project. For most of the projects, we figure out the following milestones:

  • Discovery phase: documentation analysis, choice of third party apps and software tools, decisions on possible integrations, preparation of wireframes (if not provided by a client), feature prioritization, etc.
  • Design phase: collaborative work with a product owner that can include design theme workshops, brand identity design, UX and UI design, product prototyping, etc.
  • Project setup phase: setting up the infrastructure, deployment of environments, configuring security, etc.
  • Development phase: development of the functionality based on user stories (and also tasks grouped into milestones). It can include user authentication, messaging, integrating payment gateways like Stripe, PayPal, or Braintree, mapping, video streaming, reporting, etc.
  • Testing phase: functional QA testing, usability testing, user acceptance testing (UAT).
  • Delivery phase: transfer of documentation and intellectual property, deployment, and implementation of the solution, including publishing on marketplaces, training, presentation of the product, if necessary, and more.

How does it work in practice? Here you can see an example of how we broke down the structure of a Health and Wellness digital platform into milestones and user stories.

Example: Breaking a project down into milestones and user stories - Health & Wellness Digital Platform

Another significant question is to decide whether to build a turnkey solution or start from a minimum viable product (MVP). About 80% of startups and SMEs we worked with had an MVP first. This may also be a factor to consider when choosing between outsourcing models.

From our experience, we recommend to ignore non-primary features or functions and focus on MVP development before the finished product, especially if:

  • project requirements are unspecified;
  • you're in your early days of finding product-market fit and need to validate the feasibility of your ideas;
  • features must be added and tested quickly;
  • the company or startup budget is limited.

Pro Tip: When defining the scope of the project, it can be very helpful to visualize everything needed to be accomplished, organize tasks into multiple levels, and display these elements graphically. For that purpose, we use the Miro platform. This MVP tool for product development helps develop the project's hierarchical structure making it easier to oversee a complex project and ensure every task gets done.

Example: A fragment of the hierarchical project structure (prepared in Miro)

When creating a WBS for a future project, we follow four fundamental principles that help with project management cost estimation and prioritization:

  • Hierarchy: every 'child' on the graph has a hierarchical relationship with its parent task.
  • 100% rule: every level of the graph must make up 100% of the 'parent' level, and it must have at least two 'child' elements.
  • Mutually exclusive elements: every element at each level has to be mutually exclusive - there can't be any overlap between deliverables or work.
  • Outcome-oriented: graphic depiction must focus on the outcomes rather than the activities required to produce them.

Project Estimate by PERT Method

After conducting a detailed scope breakdown, we start to create a more accurate project estimate using the PERT (Program Evaluation and Review Technique) method. We calculate a realistic project cost estimation using an optimistic case estimate, a pessimistic case estimate, and a most likely case estimate within this approach. There are different ways of interpreting the numbers depending on how we want to weigh potential risks, but in most cases, we use this formula for PERT calculations:

(optimistic + pessimistic + (4 x most likely))/6 = expected estimate

Let us consider a project estimate example to see how these formulas work. Pretend we have to calculate the expected travel time it takes to deliver a shipment from point A to point B. There could be 3 different scenarios:

  • Optimistic scenario: roads would be free of traffic congestion, and there will be no stops at traffic signals.
  • Pessimistic scenario: there would be severe traffic bottlenecks (may be due to a major accident), or there will be some unscheduled stops (may be due to vehicle breakdown).
  • Most likely scenario: there would be normal traffic conditions.

Let's assume that our 3 estimates (optimistic, pessimistic, and most likely) were 450 minutes, 2250 minutes, and 900 minutes respectively. Putting these values in the formulas, we get:

Expected travel time = (450 + 2250 + 4 x 900))/6 = 1050 minutes

It essentially means that, in most cases, the expected travel time will take 1050 minutes.

How can the cost estimation process look in a real project estimate? Let us explain how we estimated the task 'Credits (Bank) & Prize claim' by PERT method for a social sports application.

Example: Estimation by PERT method - Social Sports Application (fragment)
  • Optimistic scenario: 7 days (including 7 days for back-end and 6 days for front-end development. Both teams work simultaneously).
  • Pessimistic scenario: 14 days (including 14 days for back-end and 12 days for front-end development).
  • Most likely scenario: 11 days (including 11 days for back-end and 10 days for front-end development).
  • Expected estimate: (7 + 14 + (4 x 11))/6 = 10.83 days

At the output, we get a software project estimate which takes into account some uncertainty and risk in tasks. The PERT method can be quite time-consuming, but such time and cost estimation techniques in project management can provide a high degree of accuracy. Yet if you need a quick estimate, you may use the MVP cost calculator.

Need more project cost estimation examples?

Our managers are always happy to share their best practices in calculating project costs. If you want to learn more about PERT and other methods of software project estimation, just drop us a line.

Contact us

Need more project cost estimation examples?

Our managers are always happy to share their best practices in calculating project costs. If you want to learn more about PERT and other methods of software project estimation, just drop us a line.

Contact us

Building a Timeline Chart

Let's move on to learning how to make reliable project schedule and cost estimates. After determining the total time needed for each task and milestone, we build the project timeline. We line tasks end-to-end, adjust their lengths to reflect the amount of time allotted, and then add milestones. We turn that all into a solid timeline chart with expected delivery dates provided. It is especially helpful to have such data visualization on projects where several teams work simultaneously on several milestones.

Example: Timeline Chart - Social Sports Application

Such a timeline chart shapes the entire project, indicating which tasks are to be completed at which stage and which resources need to be involved along the way. Such project estimation techniques in software engineering also allow us to quickly see the proportion of time allocated to each project task or milestone and provides a visual interpretation of how the project will run phase by phase.

Project Cost Estimation

After estimating the number of hours of work required to complete the defined scope, it's time for project cost estimation. We calculate the total project cost by multiplying the number of man-hours (estimated using the PERT method) by the applicable rates. For ease of calculation, let's make the following assumptions:

  • One man-hour = work completed in an hour of uninterrupted effort by a specialist
  • One day = a standard 8-hour working day

In IT projects, hourly rates range depending on the specialist's professional category, which is defined by his or her job functionality, level of seniority, uniqueness of skills, etc. Of course, a junior programmer's quote won't be the same as a senior's, so this has to be taken into consideration. Therefore, when estimating the project, we take into account that the multiplication of the cost must be factorized by the hourly rate of each professional category:

Total cost = (RH1 x H1) + … + (RHn x Hn)

This formula can be applied as one of the project cost estimation techniques. In this case, RH1 is equal to the hourly rate of the professional category #1, and H1 is the total number of hours estimated by the professional category #1.

How does it work in practice when hiring developers for a startup or project? Here you can see the software project cost estimation example: 

Professional category Hourly rate Number of hours required
Senior back-end developer $55/hour 180 h
Senior front-end developer $55/hour 150 h
Middle UX/UI designer $45/hour 60 h
Project cost estimation example

Based on the numbers above, the total cost of the project will be: 55x180 + 55x150 + 45x60 = $20850. Surely, there are other ways to calculate the cost of the product. As such, the MVP pricing will differ from developing a full-scale solution. But based on the above, you already know how to estimate a software project or what to expect from your possible partners.

What's Next?

Having put all things together and made our calculations, we share them with the client in personor during an online conference meeting. We give a detailed explanation of our project estimation instead of just sending over a number without context. We schedule a meeting and go over the document together, row by row. It allows us to discuss any questions that may have come up along the way.

If it becomes clear that the project isn't doable within the client's limitations, we offer other options. Upsilon can help go through early stages like proof of concept (POC), conduct the discovery phase that'll let you prioritize the functionality and map out the project, or we advise to start by developing a minimum viable product (MVP) instead of a huge feature-rich one. We try to include this kind of out-of-the-box thinking in our project estimation process whenever possible, to add value at every step of our collaboration.

Surely, project time tracking can also come in handy. Various project types and industries can benefit greatly from digital tools designed to enhance project management (for instance, construction apps) for tracking progress and managing resources more effectively. They can also be useful for making further project estimates and data reporting.

Concluding Thoughts on Project Estimation

Estimating software development is prone to error. The overall complexity becomes fully visible only at the point of execution. In the conditions of uncertainty and lack of information, there is a temptation to provide lower numbers to outbid the competition. But that doesn't mean that the final price for your product will be lower. It may just mean more stress, more unforeseen costs along the way, and as a result, your dissatisfaction. And this is definitely not how great products are built.

Our goal is to predict as closely as possible with quality at its core. Feel free to share your thoughts with our developers and enjoy transparent communication. Upsilon provides MVP development services for early-stage startups as well as team augmentation and other services for growth-stage businesses. So, don't hesitate to contact us, we will be happy to do our best to make your ideas happen!

FAQ

1. What is software project estimation?

Detailed planning and accurate estimates are the cornerstones of successful software development. Project estimation means making a realistic prediction about the time, effort, and resources that'll be needed to bring a software project to life.

2. What is cost estimation in project management?

Cost estimation in project management and product development likewise refers to calculating the approximate sum of money for building a feature or product. As a rule, IT project cost estimation is based on multiple factors like project complexity, deadlines, tech stack, developer rates, team size and location, in-house or outsourced work, and so on.

3. Why are accurate estimates critical to effective project management?

Accurate project estimation ultimately leads to saved resources. Many projects failed or didn't meet expectations because the estimations weren't realistic or complete. This generally leads to extended release times, missed deadlines, budget overruns, and other disappointments.

4. How do you estimate time for a project?

The time that's necessary for carrying out a software development project is evaluated according to factors like product complexity or how many people will be working on it. Usually, estimates are broken down into milestones (e.g., by two-week sprints).

5. What are some software development estimation techniques?

Commonly used software estimation techniques include such methods as top-down or bottom-up estimation, analogous estimation, and parametric estimation. Turning to the experts for a consultation is another option.

6. What is analogous estimating in project management?

Analogous estimation is considered one of the project management estimation best practices as it lets you rely on the past experience of creating similar products. Such estimates are often quite accurate as previously obtained data can be counted in your variables.

7. What is parametric estimating in project management?

Parametric estimation is also based on insights gained from past projects, yet these projects don't necessarily have to be analogous products developed. With parametric modeling, you adjust data from old projects to help you form a realistic timeline and cost estimate for your current one being planned.

scroll
to top

Read Next

App Monetization Strategies: Which One to Choose in 2024?
Product Development

App Monetization Strategies: Which One to Choose in 2024?

12 min
Ways to Find Your Minimum Viable Audience
MVP

Ways to Find Your Minimum Viable Audience

8 min
Product Redesign: Reasons, Benefits, and Process
Product development

Product Redesign: Reasons, Benefits, and Process

15 min