IT Project Estimation Techniques: Top-Down and Bottoms-Up Approaches
Every Information Technology (IT) project has direct and indirect cost implications. Therefore, an effective and practical estimation of any information technology project is crucial.
As evident from the name, the direct cost is the money invested in executing the project. However, the impact of the indirect costs can also be substantial for a software project. Regardless, while the accurate estimation of the indirect cost of a software project is challenging, it’s crucial to estimate the direct cost of the project.
In the direct cost of an IT project, the effort estimation of the development or implementation life cycle is a major factor in the overall estimate of the project.
As this article is about software project estimation techniques, we will discuss only the direct costs of any IT project and how to estimate those.
Direct Cost of a Sofware Project
The direct cost for any Information Technology project involves the following:
- Hardware cost
- Software licensing cost
- Human resources efforts and cost of development
Out of all these, the main challenge lies in effort estimation in developing and implementing the project, arriving at the right team structure, and then arriving at the cost estimation.
The first thought about a new IT project starts with questions about the duration of the execution, total efforts, and the cost. While the cost estimation of a project is crucial for the business side and the IT department, the completion of the project and the go-live time are crucial for the business.
Importance of Accurate Project Estimation for Project Manager
This question may seem silly because every estimate should be as accurate as possible. However, it is not because a wrong estimation of a software project, especially a large one, has far-reaching implications for the overall business.
The project manager is responsible and answerable to the following:
- The Program Manager for large initiatives
- The CIO, through the program manager
- The business through the IT department
With the increasing IT expenditure and the need to balance the cost with the business benefits, a wrong estimate for a project is like a do-and-die situation.
Changing Role of the IT Departments
In the past, the Information Technology departments mainly supported business functions. The IT department’s function was limited to developing and maintaining systems and ensuring stable, secure technological environments, thereby supporting the core functions of a business.
Those functions of the IT departments remain the same; however, the digital era has dramatically redefined this role to bring IT into the spotlight as a pivotal arm that not only supports but often drives business strategies. Today, IT is no longer a mere supportive function but an integral element of the business that can dictate the trajectory of a business.
From enhancing customer experiences and spearheading innovations to unlocking new revenue streams via digital products and platforms, the IT department is now integrated deeply with business strategies, influencing decision-making and organizational growth.
This above change in the roles makes it more important for IT project managers to develop careful project estimations to sell their vision about the technology adoption to the business.
Estimation on the lower side can either result in cost overruns and delay go-to-market initiatives to harm the business or result in poor deliveries, further increasing the risks. All such things would put the information team in a bad picture.
Some IT initiatives may die before taking off because of the expected implementation costs. On the other hand, if they take off and fail to meet the successful delivery or face cost overrun, the project manager must listen to the music. And yes, a piece of music that is not relaxing.
Main Factors of a Project Estimation
The accuracy with which the estimates are provided can have challenging impacts on the business. Three major parts, Effort estimation, Cost estimation, and Resource estimation, are crucial while estimating the project and answering the above-stated question.
Software Project Estimation Techniques
There are various techniques to estimate the project, including Top-Down estimation, Bottom-Up estimation, Analogous estimation, Three-Point estimation, Parametric estimation, Delphi method, Expert Judgment, Published Data estimates, Vendor Bid analysis, Reserve analysis, Simulation, etc. However, this article will focus only on the top-down and bottom-up effort estimation techniques.
It is ideal to involve all the stakeholders in the project estimation planning and ultimately help reduce the chances of miscommunication. It is also good to generate reports to manage the deliverables and check the milestones.
Let’s dig into the details of the top-down and bottom-up project estimation techniques.
Top-Down Project Estimation
The Top-Down estimation approach is the most common method of estimating projects. It is a quick, high-level method to estimate an IT project’s overall cost and timeline. The top-down estimation approach for IT projects starts with a general overview and breaks down the project into smaller parts, assigning each one a piece of the total budget. The top-down estimation approach is often in the early stages of a project because it doesn’t get into tiny details.
Such kind of estimation techniques work well when,
- A project is at an early stage or where there are many unknowns.
- The project is small or internal; there is no need to bother with estimates and costs.
- Unstable or not clear scope and used to evaluate the project proposal.
Key Steps in Top-Down Project Estimation:
- Define the Project:
- Understand what needs to be done and what the final outcome should be.
- High-Level Estimation:
- Make a ballpark figure of the total cost and time based on past projects or expert advice.
- Distribute Resources:
- Divide the total estimated cost and time among different project segments.
- Refine Estimates:
- Adjust the estimates as more details become available.
Advantages of To-Down Estimation:
- Fast and Efficient: You can make quick estimates without entering micro details.
- Strategic Alignment: It helps to check if the project aligns with the company’s goals and budget from the beginning.
- Easy to Understand: Stakeholders can grasp the big picture without diving into technical details.
Drawbacks of Top-Down Estimation:
- Accuracy Issues: It might not be very precise because it doesn’t consider all small details.
- Risk of Oversight: There is always a possibility of overlooking important tasks since the focus is on a high level.
- Potential for Overspending: Due to its general nature, it might overlook cost overruns in specific tasks.
Top-Down Estimation in a Nutshell
Top-down estimation starts with the big picture and then breaks it into smaller pieces. It’s a good fit for the early stages of a project or when we need quick decisions. However, revisiting and refining estimates as the project progresses is essential to avoid running over budget or time.
Bottom-Up Project Estimation
Bottom-up estimation takes the opposite approach of the top-down method by starting with the smallest tasks and then building up to an overall project estimate. It involves a detailed analysis of every task and sub-task, summing them up to get the total project time and cost.
Essential Steps in Bottom-Up Estimation:
- Break Down the Project:
- Identify all tasks and sub-tasks required to complete the project.
- Estimate Each Task:
- Determine each task’s resources, time, and costs based on detailed analysis or historical data.
- Sum Up the Estimates:
- Add all the individual estimates to derive the total project cost and time.
- Risk Assessment:
- Identify and evaluate potential risks and incorporate mitigation strategies.
Such kind of estimation techniques work well when,
- Used to determine the overall cost and timeline at the granular level of detail
- Presents a clear picture of project components or modules
- Understand the work package more comprehensively and anticipate potential roadblocks/challenges from the ground up
- Create a WBS (Work Breakdown Structure) and assign modules to individual team members who take responsibility for that task
Template for the bottom-up estimation
Generally, we need three sheets to do the bottom-up estimation. The sheets needed are:
- Estimates using Bottom-Up
- Analysis Sheet
- Drivers
Estimates Using Bottom-Up Approach
This is the main sheet in which we break down the task estimates to the most granular level, i.e., tasks. This sheet generally has the below-mentioned columns:
- Functional Module: The module for which the estimates are provided.
- Functional Component: This is under the functional module. It represents the specific story of the module.
- Functional Sub-Component / Task Description: This is the most granular level and represents the task that a development team needs to work on.
- Dev, Design, Testing, UAT (for estimation): These four columns contain the actual person-hours that the user needs to spend. The estimation is provided for the development phase in person-hours. The efforts for the other phases of the SDLC (Software Development Life Cycle) come from the Driver’s Sheet. The driver sheet contains the efforts for the following as the percentage of total Development phase efforts:
- Design phase, i.e. (functional and technical specifications)
- Various phases of testing (unit testing, integration testing, system testing, and user acceptance testing)
- Risk factor
- Override Risk%: The column contains the risk percentage, which is further incorporated in calculating total person-days. We can specify the overall project risk in the driver’s sheet or at the task level.
- Total Person-Hours and Total Person-Days: The total column is the sum of development, design, testing, and UAT efforts. Now, we add the risk percentage to the total estimation. Total person-days is calculated as the total effort by the total hours a developer will spend each day (generally 8 for IT services).
Example of Bottoms-up Estimation
The below example shows how the estimates using the bottom-up approach work. In this, firstly, we estimate the efforts for the Development. The efforts for the other phases and risks come from the driver’s sheet:
The design, testing, and UAT (User Acceptance Testing) estimates are calculated based on the driver sheet. The column contains the SDLC’s total efforts, i.e., the design, development, various testing phases, and risk factors.
And finally, we calculate the total person-days as total hours divided by 8 (8 working hours per day).
Drivers
The Drivers are the various heads for the cost estimation, and the drivers’ sheet defines the fixed estimate for the design, testing, UAT, and risk based on various external and internal factors responsible for project delivery.
For example, if we see estimates for the “Setup EC2 machine” task in the “Estimates using Bottom-Up” section. The development effort is 30. The break-up of this is as follows:
- Design Effort = 15% of Development Efforts = 15% of 30 = 4.5
- Testing Effort = 20% of Development Efforts = 20% of 30 = 6
- UAT Effort = 20% of Development Efforts = 20% of 30 = 6
- Risk = 10% of Dev, Design, Testing and UAT Efforts = 10% of (30 + 4.5 + 6 + 6) = 4.65
And then total efforts calculation is as follows:
Design + Development + Testing + UAT + Risk = 4.5 + 30 + 6 + 6 + 4.65 = 51.15.
Now, we round up it to the nearest highest value, i.e., 52.
Analysis Sheet for the Estimate
The sheet gives insights into the module level. However, we can prepare it on the component or sub-component levels. This sheet helps in sizing the scope and helps zoom out and get an overall project picture.
The example sheet is as follows:
Pros of Bottom-Up Project Estimation:
- High Accuracy: Detailed analysis leads to precise estimates.
- In-depth Insight: It identifies every task to ensure we do not overlook anything.
- Risk Mitigation: Detailed planning helps in identifying and mitigating potential risks early.
Cons of Bottoms-up Project Estimation:
- Time-Consuming: Analyzing every task in detail can be laborious and slow.
- Complex: Handling numerous small details can be complicated and might require specialized knowledge.
- Initial Investment: It may demand more upfront time and resources, which might be challenging for some projects.
Bottoms-up Project Estimation in a Nutshell
Bottom-up estimation requires a meticulous analysis of every task involved in a project, providing a thorough and accurate estimate of project time and costs.
While bottoms-up estimation offers precision and thorough planning, it also comes with the trade-off of being time-intensive and complex. This approach is particularly useful in projects where accuracy is paramount and where there’s little room for budget and timeline overruns.
Bottom-up vs. Top-Down Project Estimation
- Bottom-up allows teams to estimate how long each sub-task will take, and the top-down helps estimate the entire project.
- Bottom-up estimation is ideal for unique projects or work, unlike the team’s previous work. Top-down estimation, however, is ideal for duplicate projects, recurring assignments, or work that needs fast completion.
Once we finalize the roadmap and finish the estimation phase, it is time to assign the task to the development team and track the progress.
Use of Technology in Project Management
In project management, technology has become a key piece that helps keep things organized, clear, and moving smoothly from one step to the next. With many new project management tools and software becoming available recently, how we manage projects has definitely changed. Now, projects can be more neatly organized, easy to follow, and better matched with the big-picture goals of the whole organization.
Facets of Technological Utility
- Task Management: Tools like Asana, Jira, and Trello have rendered task tracking, assignment, and status updating more centralized and transparent. By providing visual dashboards and real-time updates, they ensure all team members are in sync with task progression and dependencies, thereby preventing bottlenecks and ensuring timely delivery.
- Communication and Collaboration: Platforms like Slack, Microsoft Teams, or Zoom are conduits for seamless communication and collaboration among team members, stakeholders, and clients. They pave the way for centralized communication, ensuring crucial information and updates are effectively shared across all pertinent entities.
- Document Management and Sharing: With tools like Google Workspace and SharePoint, document creation, sharing, and collaborative editing have been simplified. They ensure that all project documentation, from requirements to design documents, is stored centrally, is easily accessible, and can be worked upon collaboratively, thereby reducing redundancy and ensuring data consistency.
- Time Tracking and Productivity: Solutions such as Harvest and Clockify facilitate detailed time tracking against tasks, allowing project managers to gauge productivity, manage workloads effectively, and ensure that efforts are aptly mapped to project timelines and billing.
Resource Allocation and Budget Management
Technology integration provides a coherent view of resource utilization and budget allocation. Project managers can use resource management software to prevent resource burnout, optimize skill-based task allocation, and ensure project expenditures are closely monitored and aligned with the estimated budgets.
Risk Management
Sophisticated project management tools enable identifying, tracking, and mitigating potential risks. Establishing a centralized risk log, which can be updated in real-time and accessed by relevant stakeholders, ensures proactive risk management and enhances the project’s resilience to external or internal turbulences.
Quality Assurance Automation
Technological advancements also permeate quality assurance by introducing automation in testing, ensuring robustness in identifying system glitches or shortcomings. Tools like Selenium or JUnit ensure that developed features adhere to specified requirements and are devoid of critical issues, thus upholding the quality benchmark.
Feedback Loops and Continuous Improvement
Integrating feedback tools or platforms ensures that client and stakeholder feedback is systematically gathered, analyzed, and acted upon. This continuous feedback loop, underpinned by technology, ensures that project deliverables are tightly aligned with client expectations and facilitates ongoing improvement in processes and outcomes.
Agile Frameworks and DevOps Integration
In Agile project methodology and DevOps, technology plays a pivotal role in continuous integration, continuous delivery (CI/CD), and enhancing the collaboration between development and operations, ensuring faster and more reliable software delivery.
Summary
In short, mixing technology and project management is changing the game. It’s making it normal to run projects smart, orderly, and effective. There are tons of tools available that do more than just help; they change the way we manage projects for the better. They’re making it possible to manage projects in a way that’s more forward-looking, open, and teamwork-focused.
Note: Ensure you navigate the plethora of available tools and choose those that align most closely with your project needs, organizational structure, and team dynamics, thereby ensuring a cohesive and streamlined project management experience.
Conclusion
Effective project estimation is a critical cornerstone in ensuring successful project delivery. By integrating precise estimation techniques, whether a detailed bottom-up approach or a broader top-down strategy, project managers can navigate the complexities and uncertainties with enhanced clarity and control.
Utilizing technology and adhering to well-defined methodologies while adapting to emerging details and changes facilitates a harmonious blend of predictability and flexibility in managing projects. The key is to balance the firmness of structured processes with the agility to pivot as needed, aligning consistently with evolving requirements and contexts for optimal project outcomes.
Tavish lives in Hyderabad, India, and works as a result-oriented data scientist specializing in improving the major key performance business indicators.
He understands how data can be used for business excellence and is a focused learner who enjoys sharing knowledge.