What Is an IT Project Cost Estimation?
An IT project cost estimation helps forecast the cost of a project. The project team uses this forecast to decide if a project makes sense to execute. The estimate includes an analysis of the required resources for the project.
Before starting a project, the project manager and sponsor need data to determine if the cost of a project is a good use of resources, considering business objectives. The cost estimation provides an overview of the required resources and scope of the potential project, and also helps the team determine if the necessary resources are available to complete the project.
An IT project cost estimation is similar to a general project cost estimation, but each IT project falls under one of two primary areas: hardware and software. Hardware projects involve physical structures and permanent solutions, which include upgrading the existing infrastructure (either facilities or operating system or cloud storage, or changing any large-scale structures). Software projects focus on a specific product that is modified over time, such as developing and launching a new app or creating a website.
Carol Dekkers, President of Quality Plus Technologies, Inc and lead author of the International Cost Estimating & Analysis Association’s (ICEAA) future publication related to a Software Cost Estimating Body of Knowledge, helps to clarify the difference between estimating software development versus other types of projects: “Think about a physical aircraft or a piece of hardware—you design it once and then can reproduce it over and over. Software development isn't like that because the initial software is designed, constructed, and then progressively enhanced. Typically, the cost of building the first release of the software is only a fraction of the total cost. The subsequent maintenance, support, and enhancement of the software can be up to 80% of the overall lifecycle cost. When you build a house or a building, generally that is the bulk of the overall cost and you’re not adding floors to it once it is complete. You can renovate, but typically this does not change the square footage under the roof. Whereas in software, after the initial release, the software maintenance and enhancement can add substantive costs over the next 20 years or more. Software (development) cost estimating is different.”
All teams create cost estimations at the start of a project, which allows the project manager and sponsor to decide whether to proceed. Depending on the size of the project, an estimation can occur during either project initiation or project planning in the IT project management lifecycle. An IT estimation may take up to three months to prepare, due to the amount of information and research needed to create the most accurate document possible.
Characteristics of a Cost Estimation
Every IT cost estimation project is different, but each requires four characteristics to create a quality, substantive document. These characteristics have been codified and refined by the U.S. Government IT Accountability Office as recommendations for improving its agency policy and practices:
- Comprehensive: The costs need to be inclusive throughout the entire lifecycle — from initiation to project close. The cost estimation must completely define the project, including the schedule and technical needs. The document should map out the cost and schedule necessary to complete the defined deliverables. If there is limited historical data to use as a precedent, the document should note so and include assumptions.
- Well-Documented: A cost estimate relies on detailed documentation. The estimate should describe how you acquired the information and allocate the funds to execute the project. Use a work breakdown structure (WBS) and capture the source data, calculations, and methodology you used to assemble the project's cost, so that stakeholders can verify any information you provide and replicate the process for future projects. The document needs a technical baseline that measures the project’s progress and a description for how you organized the data, known as data normalization. Finally, the cost estimate must be reviewed and accepted by management to confirm the accuracy.
- Accurate: Be sure you create an unbiased cost estimation. Create the estimate by assessing the most likely costs (with inflation adjustments), based on historical data, including similar past projects. If applicable, update the document with actual costs and schedule as you progress through the project.
- Credible: Include any limitations to the estimate, due to uncertainty, bias, or assumptions concerning the data. Demonstrate a sensitivity analysis to show revisions based on these found assumptions, as well as a risk analysis. Use a range of costs, from the lowest to highest estimated price point, to convey confidence in achieving the project outcome and provide options, given technical, cost, and schedule risks. Cross-check the results by an independent group or an internal team.
In addition to constructing a comprehensive, well-documented, accurate, and credible estimate, a project manager should explain the purpose of the document to the stakeholders and project sponsor, as well as what the estimate process does not provide for, including the following:
- Addressing management or project control issues leading to scope creep
- Predicting how the project impacts stakeholder consensus
- Producing better results than the suggested estimate
- Relying on the document as the sole factor in decision-making
- Using the same method for every project
IT expert and author of 10 books on IT and management topics, Murali Chemuturi, shares the necessary specifics for assembling an IT project cost estimate as size, schedule, cost, and effort:
- Size: The size of the software that will be developed or the number of lines of code, or any other software size measure.
- Schedule: The project’s duration, anticipated start and end dates, as well as the dates for all important milestones.
- Cost: Estimated from the size of the project, the effort expended, the equipment or tools procured for this project, and the duration of the implementation.
- Effort: The human resources needed to complete the project based on the team’s capacity.
IT Project Estimation Model
There are several common IT project cost estimation models, also called methods. There is no one-size-fits-all solution; rather, select a method by identifying your project’s needs using IT heuristics, such as project size, complexity, necessary resources, and preparation time.
For example, some models base the estimate on the smallest building block, such as a line of code, while others compare the average size of previous projects. Use the following heuristics as you consider which model best serves your project:
- Complexity: Estimate the project’s complexity. Measure both subjective (based on your past experience) and objective (such as limited resources) factors.
- Method Reliability: While there is not necessarily a preferred method, some methods are more reliable than others in their estimated accuracy.
- Necessary Resources: Some projects have a wealth of historical data that is easily accessible through public databases. Others may have inconsistent or incomplete data, which will impact your ability to conduct thorough research. You may also run into personnel ability issues, such as working with a new or inexperienced team.
- Preparation Time: Some methods are more time-consuming to prepare. Your project schedule, size, and complexity influence operational time constraints within your allotted schedule.
- Project Size: Measure the project size using one of several common methods, such as function points (a unit of measurement to approximate the functional business value of a product), T-shirt sizing (an estimation tool defining the relative size of work), or lines of code.
Depending on your project and circumstances, you might need a method that produces quicker results. Remember that the primary goals of the cost estimate are reliability and accuracy — be aware that there may be tradeoffs without the proper time to prepare a detailed estimate.
IT Project Estimation Methods
There are two categories ofIT project estimation methods: algorithmic and non-algorithmic. Algorithmic methods involve an equation to quantify the effort. Non-algorithmic methods use data and analysis. Use at least two methods in your cost estimation to increase accuracy.
Algorithmic estimation methods are formalized estimation models. These methods use a mechanical process, most often a formula created from patterns in historic data, and are the most standardized.
- Constructive Cost Model (COCOMO): This method estimates effort, cost, and schedule using a three-tiered process: basic, intermediate, and detailed. It uses complex algorithmic formulas derived from historic project data to construct. This parametric method is one of the most accurate techniques for estimating project costs and often used for incremental software development.
- Function Point (FP): This is the industry standard for sizing software. FPs are a measurement unit to show how functional an information system is to the user in the business. It uses past projects to calculate the hourly or monetary cost.
- Revised Enhanced Version of Intermediate COCOMO (REVIC): This method modifies the COCOMO process by including testing, integration, and maintenance in the publicly available copyrighted program. It is primarily used for military projects.
- Source Lines of Code (SLOC): Also called lines of code (LOC), this method counts the number of all source code command lines as the base unit metric of the project size. Many complex software methods use this method as the base.
- Weighted Micro Function Points (WMFP): This method calculates the size of the project by parsing the program code into micro functions to create volume metrics and code complexity. Teams calculate a final effort score with the WMFPs. This method is compatible with Waterfall software development lifecycle, Agile, and Six Sigma. The estimate results are more accurate than traditional sizing methods.
Non-algorithmic estimations analyze assembled historic data to infer the best estimate.
- Activity-Based Costing: This method considers the activities of the people and equipment necessary to deliver the product. This style evaluates the indirect costs in proportion to the type of work, as well as the resource demand of each activity.
- Analogy: This method uses previous projects to compare and estimate the cost, size, complexity, or schedule. The method takes into account the similarities, differences, and actual results. You do not need an expert for this method, but must have fully accurate historic data.
- Bottom-Up: This technique starts the estimate from the low-level details of the work breakdown structure (WBS) and builds up to a higher level. This method provides a high level of accuracy due to its attention to detail.
- Delphi: This is a structured and systematic Expert Judgment method subset to forecast with an expert panel. The panel weighs in with opinions and debates the factors that influence the estimate. The method assumes that the accuracy from structured group interactions is more reliable than from unstructured group interactions. Other subset adaptations of Delphi are available, like the mini-Delphi or the estimate-talk-estimate (ETE). This method removes politics and bias from the estimate, but it may be time-consuming.
- Expert Judgment (EJ): In this method, you consult experts who have extensive experience and have completed similar projects. This method can be highly subjective, inconsistent, and unstructured, which poses risks to accuracy.
- Planning Poker: In this gamified method, teams use a card deck to build consensus. This helps to avoid anchoring, which is a bias toward the first estimate. This method is a variation of the Wideband Delphi, most often used in Scrum and XP in Agile development.
- Process Group: This is another Wideband Delphi variant. Here, the estimation team collectively creates a WBS and details any assumptions. From this meeting, individual team members estimate effort, and use these projections in a second meeting, where they reach a consensus.
- Relative Sizing (T-Shirt Sizing and Fibonacci Sequence): Here, the team breaks down work tasks and sizes them in relative values to each other. These methods are popular in Agile software development, especially when there is a significant amount of ambiguity. These methods use an iterative process to quickly assemble historic data from the team’s past projects to improve estimate accuracy over time. The most common methods are T-Shirt sizing and Fibonacci sequence sizing, which estimate the relative sizes of T-shirts (XS, S, M, L, XL) or the Fibonacci sequence (1, 2, 3, 5, 8, 13). This method provides a quick estimate, which allows the team to get started more quickly. However, this method requires a greater degree of management trust up front, since accuracy only improves by continually using this method over time.
Teams break down their work into tasks, or story points, and then place them on an empty chart or graph based on the amount of effort and risk in relation to the other tasks. At this stage, only the facilitator knows the specific sizing numbers to keep the team focused on the relative size to each other. Once all story points are placed on the chart, the facilitator reveals the sizing underneath. The team then organizes the assigned points and estimates how long the project will take (or how much work can be completed in a given cycle, or sprint) based on the team’s capacity.
Agile estimation methods like T-shirt sizing also help to create quicker feedback loops, which allow you to respond to mistakes.
Johanna Rothman, management consultant and author of Predicting the Unpredictable: Pragmatic Approaches to Estimating Cost or Schedule, asks, “Why do people think they need to estimate the project at the start when they know the least amount about the project? There is no project where we have all of the requirements to start. Because software is so malleable and ephemeral, we know even less about it when we start. We don’t know enough at the very beginning to do that. You’re going to make mistakes, not understand all the requirements, or maybe [have other unknowns, if] this team hasn’t worked together. Instead of avoiding mistakes, how can you create feedback loops to allow you to respond to mistakes?”
- Wideband Delphi: In this method, each member of the group individually completes an estimation form in the first round. Then, the facilitator combines the responses and leads a team discussion on points of disagreement or wide variation. The team completes multiples of these rounds until the estimate falls into an agreeable range. This method is more structured and requires more communication than Delphi.
- 3-Point or Program Evaluation and Review Technique (PERT): This method evaluates uncertainties and risks using the following three evaluation points:
- Most likely (M): The most realistic estimation.
- Optimistic (O): The best-case scenario estimation.
- Pessimistic (P): The worst-case scenario estimation.
The team applies the points to two distribution formulas to calculate the estimate.
How to Estimate an IT Project
Always starts with data when estimating an IT project. Your approach will depend on your IT project. To choose the best method(s), the preparer needs to be informed on your project’s needs and assess it using IT heuristics.
IT project management requires unique skills, as technical projects are highly complex and constantly changing. The estimator should answer the following questions at the start of any IT project:
- What is the purpose of this project? What are the deliverables?
- What type of project is this (new, addition, repair, or something else)?
- How complicated will this project be to deliver?
- What are the high-level requirements?
- What information do I need to gather? How will I collate the data?
- Who needs to be involved, and at which stages?
The question of cost can be challenging in IT projects. Dekkers notes that when considering analogous historical data to use in software cost estimating “there’s data everywhere, but seldom are they normalized or collected using standardized definitions. Often it is difficult to tell if the data that are available are comparable. When it is possible to get solid, reliable data-founded estimates, perform cross-checks, incorporate risks and sensitivity analyses, and communicate clearly what we’re estimating, the result will be better software estimates. These will hopefully lead to more reasonable and more realistic software development contracts, which in turn should lead to more successful projects.”
In addition to the historic data you use as a foundation for your estimate, the document you present to management may include the following, depending on your IT project and method(s) you select:
- Basic Information: List the project title, project manager, and company name.
- Cost Estimates: Include the baseline, minimum, and maximum project estimates, as well as the risk contingency.
- Phases: Include the estimate and a space to later record the actual hours for business requirements, functional specifications, detailed design, code and unit testing, system testing, user acceptance testing, project manager, project control office, and project management office (PMO).
- Phase Activity: Here, break down the standardized work effort metric, phase team size, computed work effort hours, average hourly cost of each resource, and the estimated cost of each phase.
- Roles: List the required participants, including their hourly rate and the resource count allocation per project phase.
- Schedule: Include the estimated start and end dates, length of each work day, and project duration in weeks.
To make this process easier, check out our roundup of free project cost estimation templates.
Designate a team member to cross-check the accuracy and depth of the document, with special attention to the following often overlooked areas:
- Documented Requirements: Ensure that the project manager has documented all project requirements. A requirements document specifies the technical and design details. It includes any resource requirements and connects the project with business goals. A separate IT requirements document helps support the cost estimate. A business analysis requirements document summarizes interface and functional requirements.
- Meetings: Aligning your team requires regular meetings. Account for this time when determining the schedule.
- Nonfunctional Project Requirements: Set any terms for these potential requirements, such as automatic scaling, prior to the project's start.
- Project Management: This category often accounts for approximately 15 percent of the budget.
- Testing: Unit testing ensures the deliverable quality. Make a plan to test throughout the project.
- Additional Costs: Consider less obvious costs, such as the time it takes to perform project analysis or set up a new team environment.
IT Project Estimation Process
While IT project estimation processes vary depending on project requirements, each process follows the same general steps. First, define the estimate’s purpose and scope. Next, collect and analyze historical data. Finally, document the estimate and adjust it for risk and uncertainty.
IT Cost Estimating Steps
Dekkers outlines a five-step estimating process adapted from best practices from such guides as the GAO (Government Accountability Office) Cost Estimating and Assessment Guide: GAO-20-195G Mar 2020, and others:
- Develop the Scope and Approach: During this step, the primary goal is to articulate the purpose and scope for the estimate. This step also involves documenting the ground rules and assumptions used by the estimating team. Such documentation facilitates understanding of the estimate by anyone who reviews it or makes decisions based on it.
- Collect and Analyze the Data: This step involves collecting as much relevant, historic data as possible relevant to the software development at hand. As you review and analyze the data, be certain to normalize it and double-check that the information used is accurate and reliable. Note that often lack historical data that are comparable to the current software development being estimated. In such cases, software estimators often rely on industry databases, such as the International Software Benchmarking Standards Group (ISBSG application development repository), or those included in commercial software estimating tools.
- Create the Software Estimate: This step involves selecting and applying the estimation approach(es) that best suits the project to create a point estimate, then cross-checking it using the additional technique(s).
- Conduct Analyses: The estimate should be adjusted using both sensitivity and risk/uncertainty analyses.
- Document and Present Estimate: This step assembles the various parts of the software estimate (typically a size estimate, an effort estimate, a cost estimate, and a schedule/duration estimate) into a cohesive document for presentation to stakeholders. After presenting the estimate, update it with any new data or feedback as applicable.
Website Development Estimation Example
Below, you’ll find an overview of the above steps, as applied to a sample website development and launch example IT project:
- Use a website project scope template to outline the estimate’s parameters and team member roles. Document any high-level requirements at this stage, then select the estimate approaches that best suit the website development and launch.
- Research and collect any data from similar, past website projects that you consider to be well documented. Use a ratio to normalize any projects outside of the size of your project.
- Tap into your team to analyze and assemble the data with the selected model(s) and method(s). Collate the information into the estimate document. Use a requirements document to support the estimate, detail technical specifications, and further connect the website development to business goals.
Tip: Dekkers presses that an estimate is “only a best guess based on what is known today. Adjust based on what happened in the past historically, and the estimate will be better.”
- Assess the risk and uncertainty with a tool, such as the risk breakdown structure diagram, to list all areas that may interrupt the website’s success during the development and launch. Determine the level of risk with a risk assessment matrix. Then, adjust your estimate based on your evaluation.
- Put it all together and implement a sound oversight plan for your projects. Use our guide to learn how to set up your own IT project management office.
IT Project Estimation Best Practices
An IT project estimation should be thorough and rooted in data. Because there is a high risk for error, due to the reliance on historical data and a combination of expertise, the preparer must be realistic and hold high standards to get the most accurate estimate.
Here are best practices for IT cost estimating:
- Thoroughly detail the tangible (e.g., physical deliverables) and intangible (e.g., team development) scope.
- Do not omit the scope in your estimate.
- Ensure greater accuracy by making the estimate as detailed as possible.
- Account for internal and external risks and uncertainties (as a guideline, risk typically creates a 20 percent margin within the budget).
- Keep your assumptions realistic. Every project encounters challenges and issues, so consider the weaknesses of the project.
- Overestimate the amount of time needed to prepare the estimate.
- Onboard your team to the estimation process.
- Vet your experts. Find people who are seasoned in the IT estimation and have successfully executed several projects.
- Cross-check the estimate, especially those that move quickly to execution.
- Avoid underestimating.
- After you complete your project, identify how your comparables performed. Account for any underperformance in your estimate and note it in the document.
- Document all projects, and use that data as an internal database for future estimations.
As mentioned, the key to strong IT cost estimation is thoroughness, especially as it concerns reviewing other past cost estimates.
Dekkers recommends asking the following types of questions when reviewing software estimates:
- Consistency: Are the estimated costs and the schedule consistent with other projects of similar size and scope?
- Overall Estimate: Does the estimate use a structured process that relates the estimate to the actual costs and completed work schedules?
- Normalized: Are the cost and schedule estimates (based on historical data) normalized for software product/project differences? Do they quantifiably demonstrate organizational performance?
- Change: If new software is being introduced, did the estimate account for changes when applying the new technology or processes?
- Trends: Does the estimate observe long-term trends in software technology improvement?
Chemuturi recommends that the preparer understands the technical aspects of the job and reinforces the necessity for thoroughness: “The main practice is preparing an exhaustive bill of material.” For IT estimating, he encourages starting the process with the high-level (conceptual) design, followed by the low-level (more detailed) design.
IT Project Estimation Tools
The primary tools to use in IT project estimation are existing public databases for external projects, which you use to compare and estimate your project’s costs. Use more than one estimation method to cross-check for accuracy, and consult experts to access historical data.
Dekkers shares that there are both commercial and free public resources containing historical software development project data. “If you’re starting from scratch or don’t have any data, there are publicly available repositories that contain submitted projects. Major commercial tools usually have databases embedded within their tools.”
You can also use parallel resources for other IT projects, such as the Standish CHAOS report, released every five years. A more recent report released in 2020 is available for subscribers. This report is a collection of information about IT project failures meant to improve industry project success rates.
Drive Accurate IT Project Cost Estimation with Real-Time Work Management in Smartsheet
Empower your people to go above and beyond with a flexible platform designed to match the needs of your team — and adapt as those needs change.
The Smartsheet platform makes it easy to plan, capture, manage, and report on work from anywhere, helping your team be more effective and get more done. Report on key metrics and get real-time visibility into work as it happens with roll-up reports, dashboards, and automated workflows built to keep your team connected and informed.
When teams have clarity into the work getting done, there’s no telling how much more they can accomplish in the same amount of time. Try Smartsheet for free, today.