Project estimation techniques in software engineering - DO OK

Project estimation techniques in software engineering

If you are working in software development, you are most likely familiar with project estimation concepts. In the world of project management, several techniques and methods may be used for project estimation. In this article, we will describe the most common approaches, share our experience from DO OK, and provide tips for your next project estimation.

Project estimation techniques in software engineering

The 2020 PMI Pulse of the Profession® presents results from the questionnaire among 3 060 project professionals globally.

what percentage of project completed

Source: PMI.org

Based on the answers, 59% of projects were completed within budget, 53% were completed on time, while 35% experienced scope creep.

Many factors impact project outcomes, but in this article, we will focus on our experience with the project estimation process and share tips for software projects.

In future articles, we will share our experience in project budgeting and cost calculation, which are crucial steps after the project is estimated.

 

Why is project estimation important?

Do you remember when you started with the project estimation process? Once the estimation was completed and the project received formal approval, you kicked off the development.

The beginning of the project was very successful, but after some time, you realized that the development was taking more time than planned. You discussed it with your team, but this trend continued, and the only conclusion was that we underestimated the project.

If you’re the Project Manager, you know that this isn't the best time in the project, but unfortunately, these situations can happen. You have probably asked yourself: Is there anything we can do to prevent similar cases in the future?

This article will share several models, techniques, and concepts that will help you with your next estimation. In conclusion, we will return to that question and share our recommendations.

 

Speed of change

 

Michele Sliger in the article “Goodbye, scope creep--hello, agile!” defines the speed of change for project scope, which is much faster nowadays than it used to be in the past. Before agile methods were defined, projects followed cascading concepts with detailed planning, estimations, development, testing, and release. According to Michele Sliger's article, this approach was fine as products were developed before customers could change their minds. However, with inventions that increased the speed of communication, knowledge, and change, customers may change their minds in a relatively short time; hence, it’s important to keep the time to market at a manageable level.

 

Step 1 -  Define project type and environment

 

 Before you start working on project estimation, it's important to consider the framework in which the project will be executed. There are two most typical types of projects in the project management world - waterfall (also called cascade) and agile. Each type has frameworks and methodologies, such as Prince2 (waterfall), Scrum (agile), Extreme Programming (agile), and more. The below graph presents the percentage of projects that used the following types of approaches according to the PMI 2020 Pulse of the Profession.

 

project types

Source: PMI.org

 

Secondly, it's important to consider the environmental factors that will impact the customer and the project. For example, you may work on a project with a client who will need almost 100% precise estimation, because even one day of project delay will cause high costs. On the other hand, there may be a client who prefers to estimate the phases of a project. In such a scenario, you may focus on detailed estimation for the next phase and ROM (Rough Order of Magnitude) estimation for future phases. To provide a precise project estimation cost, the team needs detailed information and time for analysis. The project estimation process in such a situation will take more time and be more expensive, but more precise. The below graph shows how estimation accuracy grows with the time and detailed information available.

how estimation accuracy grows with the time

Source: Ictinstitute.nl

 

Tips:

 Start with a meeting - try to understand the client's motivation for the project, the environmental factors that may impact the project, and the business case. This will help you choose the best project estimation methods for the project. Understand the timeline - there are projects with predefined deadlines, such as planned events. It's important to discuss this with the client and consider project estimation techniques. New products - if the goal of a project is to create a new product on the market, it may be worth starting with a high-level estimation. This kind of estimation at the early stage of a project has a risk factor and is not precise; however, it may help verify if the business case is valid and if the return on investment will be as expected.

Step 2 - Choose an estimation approach - methods and concepts

There are several methods and techniques that you may use when performing project estimation.

Top-down estimating

The top-down method is used for initial estimations / ROM (Rough Order of Magnitude). Team review the project scope at the high level and divide it into features or epics (deliverables) that are estimated. It does not include dividing the project scope into small pieces of work with details. 

 

It’s used for projects at the initial stage, where the team does not have lots of details about the project. It’s less time consuming than bottom-up but provides high-level estimation.

 

Bottom-up estimating

The bottom-up estimation method, which requires in-deep knowledge of the project’s details, is adequate for mature projects. The project’s scope needs to be described at a low level with all the details, and those small components of work are then estimated. Work Breakdown Structure may be used to present the detailed scope of the project. 

It’s usually very precise, but at the same time, there may be no buffer in the estimation for scope changes. 

Bottom-up estimation should not be used for immature projects, where there are no details. Otherwise, when using this method for immature projects, assumptions will need to be made. 

 

It’s more time-consuming than the top-down method and provides a more precise estimation.

 

Three-point estimating

Three figures are defined in this method - most reasonable estimation, pessimistic estimation, and optimistic estimation. Pessimistic estimation considers negative risks that may occur in the project, while optimistic estimation includes positive risk. 

 

 • Beta (PERT) Distribution

Includes weight in the estimation formula

Estimation = (p + 4m + o) / 6

P - pessimistic

O - optimistic

M - most likely 

 • Triangular Distribution

Estimation = (p + m + o) / 3

P - pessimistic

O - optimistic 

M - most likely

 

Analogous estimating

 

This method might be used by the project team if there were similar projects delivered in the past. Usually, it’s used as the first/initial estimation of the project and it provides ROM (Rough Order of Magnitude) estimation. 

 

• Absolute or One-point estimation

 

The team will pick the most similar project from the past and use it as an estimation for the new project. For example, if a mobile application with the same features has been developed by the team in the past, they will use it when estimating similar applications.

 

one point estimating

• Estimate Range

 

If the project team has developed a couple of similar projects in the past, then they may estimate the new project as a range based on experience. 

estimation in range

Step 3 - Consider those estimation techniques

Planning poker

Agile teams use Planning Poker to estimate project backlogs. It's called planning poker because the team uses cards, similar to poker while estimating. Each item in the backlog is estimated by team members using the cards. After the Product Owner describes the items, each team member thinks about the estimation and prepares their card. All members show their cards simultaneously, and then they start a discussion. The session ends when the team reaches a consensus. Agile teams usually use this technique to estimate work in story points. Even for virtual teams, it's possible to use this technique, thanks to tools available on the market. The benefits of using this technique are that every team member thinks about the estimation independently, and everybody shows their cards at the same time. This ensures that team members are not influenced by their colleagues.

Expert judgment

 The involvement of experts in the project estimation process is very crucial for project success. Experts have vast experience in similar projects, and they may use it for more accurate project estimation costs. Moreover, they will highlight risks that may occur in the project. The Project Team may involve experts by introducing interviews, brainstorming, or the Delphi Method.

 

Rolling wave planning

 

 Rolling wave planning is a progressive elaboration technique that adds more details to project requirements on an ongoing basis. This concept focuses on defining detailed requirements for the near future, e.g., for the next phase, while leaving future requirements at a high level. As the project progresses, the requirements for future phases are decomposed into smaller parts, and details are added. This allows continuous work on the scope and defines it instead of detailed planning before the project starts. The project team may use the rolling wave planning concept and apply different project estimation methods—for example, bottom-up for the next phases and top-down for future requirements.

 

Delphi Technique

 

This is a technique in which participants, who are invited, try to reach a consensus on a specific question or subject. A facilitator shares the question and then gathers the answers, consolidates them, and sends another question that is more detailed or narrowed into a specific topic. This process continues until a consensus is reached. Participants work separately on answers, hence there is no risk of being influenced by another person’s opinion. Also, the facilitator analyzes responses and, when sending the next question, he/she removes unnecessary details.

 

Step 4 - You are ready to start your estimation - Conclusion

The estimation process is a crucial factor for project success, as based on estimates, you need to determine the project budget and project schedule. As a Project Manager, you need to be well-prepared to start the estimates.

7 Tips to estimate your software project:

1. Check if your company has similar projects in the portfolio. This gives you a chance to use experts from those projects as well as analogous estimation techniques.

2. Invite experts to support the estimation process and risk identification.

3. Do not forget to involve all the project roles in the estimation process. 

a. Technical Architects / Delivery Leaders / Tech Leads will have an essential role in assigning the complexity of the project and drafting architecture.
b. Business Analysts will work with requirements and prepare a backlog for estimation.
c. Product Designers may support the team with product wireframes. 
d. The Sales Team will coordinate the sales of the project if there is a new customer. 
e. Project Managers will coordinate the estimation and control project constraints such as a timeline. 
 

4. Define artifacts that should be produced at the end of the estimation phase. This will help your team to focus on expected deliverables. 

5. Standards and project estimation templates will bring professionalism to the project, reduce the number of potential mistakes, and speed up the estimation process.

6. If you spend more time on project preparation and project estimation, you will have more precise estimates. The process is time-consuming; however, it may be essential for your project. Ensure that you discuss it with the client before you start.

7. Be transparent and clear in communicating the approach and results. Everyone must be on the same page.

Need a professional project team? Contact us! 

Author: Marta Maciaszek

DO OK is part of the top 7% global software engineering vendors on Pangea
We are proud to announce that DO OK is now a verified ...
25.11.2022, min read
Anca Papainog
Read more
Time to market is more critical than in-house engineering
What is near-sourcing? How to start a development project fast without in-house enginee...
22.03.2022, min read
Dmitrij Żatuchin
Read more
DO OK Recognized as One of Estonia’s Most Reviewed IT Services Companies by The Manifest
Our team is among the few companies that were listed as the most reviewed IT services i...
06.12.2021, min read
Mihail Yarashuk
Read more
Cookies

Our website has cookies. more info

EU Flag