To create accurate estimates, cost estimators use a combination of estimating techniques that allow for varying levels of accuracy. While the cost estimator always aims to create the most accurate estimate possible, they may have to start with less accurate estimates and revise once project scope and deliverables are fleshed out. The most widely used cost estimating techniques are:.
Analogous estimating: Like expert judgment, analogous estimating — also called top-down estimating or historical costing — relies on historical project data to form estimates for new projects. Analogous estimating draws from a purpose-built archive of historical project data, often specific to an organization. If an organization repeatedly performs similar projects, it becomes easier to draw parallels between project deliverables and their associated costs, and to adjust these according to the scale and complexity of a project.
Analogous estimating can be quite accurate if used to form estimates for similar projects and if experts can precisely assess the factors affecting costs. For example, a similar project conducted three years ago might be used as the basis for a new project cost estimate. These adjustments are typically stated as percentage changes — a new project might require 10 percent more preparation time and 15 percent more on resources.
However, project management professional Rupen Sharma stresses the need to make sure that projects really are comparable since projects that appear similar, such as road construction, can actually cost vastly different amounts depending on other factors — say, local landscapes and climates.
Bottom-up estimating: Also called analytical estimating, this is the most accurate estimating technique - if a complete work breakdown structure is available. A work breakdown structure divides project deliverables into a series of work packages each work package comprised of a series of tasks. The project team estimates the cost of completing each task, and eventually creates a cost estimate for the entire project by totaling the costs of all its constituent tasks and work packages — hence the name bottom-up.
Bottom-up estimates can draw from the knowledge of experienced project teams, who are better equipped to provide task cost estimates. While deterministic estimating techniques such as bottom-up estimating are undoubtedly the most accurate, they can also be time-consuming, especially in large and complex projects with numerous work breakdown structure components. It is not unusual for definitive estimates to also use techniques such as stochastic, parametric, and expert-judgment-based estimating if these have proved suitably accurate in early estimates.
That said, bottom-up estimating is also the most versatile estimating technique and you can use it for many types of projects. Parametric estimating: For projects that involve similar tasks with high degrees of repeatability, use a parametric estimating technique to create highly accurate estimates using unit costs.
To use parametric estimating, first divide a project into units of work. Then, you must determine the cost per unit, and then multiply the number of units by the cost per unit to estimate the total cost. These units might be the length in feet of pipeline to be laid, or the area in square yards of ceiling to be painted. As long as the cost per unit is accurate, estimators determine quite precise and accurate estimates.
It is difficult, for example, to come up with an accurate cost per chapter for editing a book written by 12 different authors, since each chapter is likely to require a different amount of work. Similarly, a writer penning a fantasy novel on commission may find herself struggling to advance the story at some points and fully immersed in its flow at others. Therefore, parametric estimating is a good choice only for skill-based projects with uniform, repeatable tasks.
Excel Word Smartsheet. Cost of quality: The cost of quality is a concept used in project management - and more broadly in product manufacturing - to measure the financial cost of ensuring that products meet agreed-upon specifications. It usually includes the costs of preventing, identifying, and addressing defects. As an aspect of quality management, the cost of quality is usually an indirect project cost.
Delphi cost estimation : An empirical estimation technique based on expert consensus, Delphi estimation can help resolve discrepancies among expert estimates. A coordinator has experts prepare anonymous cost estimates with rationales; once these anonymous estimates are submitted, the coordinator prepares and distributes a summary of the responses and experts create a new set of anonymous estimates. This exercise is repeated for several rounds. The coordinator may or may not allow the experts to discuss estimates after each round.
As the exercise progresses, the estimates should converge indicating growing consensus between the estimators. When an estimate consensus has been reached, the coordinator ends the exercise and prepares a final consensus-based estimate. Empirical costing methods: Empirical costing methods draw from previous project experiences using software- or paper-based systems.
These methods work well for projects that are similar and frequently conducted in certain industries. Since empirical costing methods draw from existing data and are increasingly automated, they are accurate, time-effective choices for less complicated projects. Expert judgment: Most commonly used in order of magnitude and intermediate estimates, expert judgment estimating is conducted by specialists who know how much similar projects have cost in the past.
As such, it relies mainly on drawing parallels between past and future projects to create and adjust estimates. Since any two projects are unlikely to be identical and project work is typically complex, expert judgment estimates are presented as a range.
While a wide range typically means these estimates have limited use, project management professional Billows points out that such broad estimates are only meant to indicate project feasibility and provide a ballpark figure to hold project managers accountable. Reserve analysis: Reserve analysis is an umbrella term for a number of methods used to determine the size of contingency reserves, which are budgetary allocations for the incidence of known risks.
One outcome of reserve analysis is a technique called padding, which involves increasing the budgeted cost for each scheduled activity beyond the actual expected cost by a fixed percentage. Critical path activities may have larger percentages assigned as padding. The Project Management Institute PMI also suggests other methods for managing contingency reserves, including the use of zero-duration activities that run in tandem with scheduled activities and the use of buffer activities that contain both time and cost contingency reserves.
Resource costing: Resource costing is a simple mathematical method to compute the costs of hiring resources for a project. It is easily done by multiplying the hourly cost of hiring a resource by the number of projected employment hours.
Three-point estimating: Three-point estimating has roots in a statistical method called the Program Analysis and Review Technique PERT , which is used to analyze activity, project costs, or durations by determining optimistic, pessimistic, and most likely estimates for each activity.
One commonly used formula for creating estimates is:. The standard deviation is also calculated to create confidence intervals for estimates:. Three-point estimating can construct probability distributions of estimates in a number of fields. In project cost estimating, estimators may create a three-point estimate of cost using optimistic, pessimistic, and most likely costs.
Alternatively, for projects that measure deliverables in units of time with fixed costs, estimators may use expected durations as the number of units and determine costs via parametric estimates. However, remember that three-point estimates are only as good as their initial optimistic, pessimistic, and most likely estimates - if these are not accurate, the expected values are useless.
Essentially a deterministic estimating technique, the step process is a systematic approach where estimators select an appropriate estimating technique for each component of a work breakdown structure, fully identify the assumptions underlying estimates, and conduct risk and uncertainty analyses for estimates.
Using cost estimating software: Project management software can simplify, speed up, and enhance cost estimating. You can use a variety of project management software to create cost estimates or to determine the levels of uncertainty involved in cost estimates via probabilistic modeling. The Monte Carlo method is one example of this modeling approach. It refers to the risk analysis simulations performed by researchers working on the atomic bomb and named after the gambling resort in Monaco.
The Monte Carlo method produces a range of potential outcomes and offers probabilities for their occurrence based on different variables. Vendor bid analysis: This estimating technique is used to supplement internally constructed estimates. It allows estimators to compare their own estimates with those stated in bids submitted by vendors, and can provide a useful point of comparison and external perspectives on what a project should cost.
The usefulness of a cost estimate depends on how well it performs in areas like reliability and precision. There are several characteristics for judging cost estimate quality. These include:. Accuracy: A cost estimate is only as useful as it is accurate. Aside from selecting the most accurate estimating techniques available, accuracy can be improved by revising estimates as the project is detailed and by building allowances into the estimate for resource downtime, project assessment and course correction, and contingencies.
Confidence level: Since even the best estimates contain some degree of uncertainty, it is important to communicate the amount of potential variability in any estimate to stakeholders.
Confidence levels can communicate estimates as ranges, such as those produced by three-point estimating techniques or Monte Carlo simulations. Credibility: Stakeholders or sponsors preparing to authorize budgets want to know that estimates are founded in established fact or in practical experience. Increase the credibility of an estimate by incorporating expert judgment and by using set values for variables, such as unit costs and work rates.
Documentation: Since project managers are eventually held accountable to cost estimates, it is important that the assumptions underlying estimates are identified and recorded in writing, and that regular budget statements are provided.
Thorough documentation precludes misunderstandings and helps stakeholders understand the reasons behind estimate revisions. Precision: To reduce the variation in cost estimates due to techniques used, estimators should compare and corroborate estimates. Cost estimating software makes this fairly easy. Reliability : Reliability is a concept based on the extent to which historical cost estimates for a certain type of project have been accurate.
For new projects that are similar to successfully-completed past projects, analogous estimating techniques will allow reliable estimates. Risk detailing: All projects can be affected by negative risks, so it is important to build allowances into cost estimates. Thorough risk identification and allocation of contingency reserves is the most common approach.
Estimates should be overestimated rather than underestimated, and estimators should establish tolerance levels for cost deviation. Uniformity: For performing organizations that conduct many projects of the same type, expect unit costs to be reasonably consistent across projects and only adjusted for inflation.
This type of unit cost uniformity is possible for organizations that have undertaken several similar projects, which enables them to create reference lists for recommended unit costs. Validity: Confirming the validity of a cost estimate involves checking the underlying data for accuracy. Improve validity by relying on established cost literature, and on cost indices when up-to-date literature is unavailable. Verification: Cost verification is the act of checking that mathematical operations used in an estimate were performed correctly.
Cost verification is much easier if estimates are properly documented. Nicholas of Loyola University and Herman Steyn of University of Pretoria, South Africa, say the best estimates are made by teams that include designers, builders, suppliers this is opposed to estimates from more homogenous teams. They describe these diverse estimating teams as concurrent engineering teams.
Typically, we are dealing with a single source of data. Projects such as a small mobile application or a web interface to an existing inventory system would fall into this category.
The external requirements for interaction with a client are more robust than small projects. This might include a few design sessions, weekly check-ins, and milestone sign-offs. Large projects may require integration with multiple systems, have a database component, and address security and logging features.
An underlying framework and a module-based design are common, taking into consideration scalability and maintainability. A multi-party application that works across numerous platforms iOS, Android, Web would fall into this category. The external requirements for interaction with the client are very robust, i. Daily calls and interactions with technical team members followed by weekly status calls with higher-level management are standard.
Enterprise-level projects are almost exclusively built upon an underlying framework. They have much more rigorous security, logging, and error handling.
Data integrity and security are paramount to these business-critical applications. Though not exclusive to this category, support systems are built to be resilient and able to handle concurrent faults in the underlying infrastructure before having a user impact. A mobile app like Uber would be an example. The external requirements for interaction with the client involve fully-integrated client and IT teams.
Now that project types and sizes are defined, they can be combined to put together the following possible timeframes:. Sales and Delivery can now give a quick estimate to clients regarding how long a project will take.
Once the project is defined in terms of type and size, the next factor to be determined is the team size. However, that does not mean that every role equates to one team resource. Some resources can fulfill more than one role. For example, In a small project, a Developer may also fill the role of Tester. For larger, complex projects — team resources usually fulfill only one role to effectively move the project forward.
Rough estimates of team sizes may include the following structural roles:. Unfortunately, it is not that easy. As mentioned earlier, some resources may play more than 1 role on a project. They may be needed to confirm coding is meeting design requirements, or be available to tweak the design, but full-time is no longer necessary. A project team should work like a well-rehearsed production. Done well, necessary resources come on and off the project with no noticeable lapses in productivity.
Now applying the cost of a team with the project time estimates from the chart above, we can finally come to a project cost. If the estimated cost is reasonable to everyone, then a more detailed quote can be generated, followed by a full project plan outlining the actual costs and milestones.
To put this all into context we put together the following list of representative projects:. Resolution of a known issue in existing software that we are maintaining. This assumes that the cause of the issue is known, and the issue affects a minimal number of objects. Often the first step for many startups, these projects tend to focus more on the look and feel of a new application and the possibility of achieving the desired outcome, more than providing functionality. Standalone application for iOS and Android.
Now you know the steps and factors that go into reaching a cost estimate for software development. As stated earlier, every project is unique and cannot be costed using an exact formula, but defining project type and size, team size and resource costing get you the basics when determining your budget range.
We have experience with projects at all levels of complexity and teams of all sizes. If you are in need of a custom software solution we can help you define and cost your project with no obligations. Contact us to help you improve your enterprise software. We offer a free consultation to give you a cost comparison specific to your environment. Contact Us. Your Name required. Your Email required. Company required. The image above shows triple constraints for software projects.
There are several factors, both internal and external, which may impact this triple constrain triangle. Any of three factor can severely impact the other two. Therefore, software project management is essential to incorporate user requirements along with budget and time constraints. A software project manager is a person who undertakes the responsibility of executing the software project. Software project manager is thoroughly aware of all the phases of SDLC that the software would go through.
Project manager may never directly involve in producing the end product but he controls and manages the activities involved in production. A project manager closely monitors the development process, prepares and executes various plans, arranges necessary and adequate resources, maintains communication among all team members in order to address issues of cost, budget, resources, time, quality and customer satisfaction.
Software project management comprises of a number of activities, which contains planning of project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events, and resource management. Project management activities may include:. Software project planning is task, which is performed before the production of software actually starts. It is there for the software production but involves no concrete activity that has any direction connection with software production; rather it is a set of multiple processes, which facilitates software production.
Project planning may include the following:. It defines the scope of project; this includes all the activities, process need to be done in order to make a deliverable software product. Scope management is essential because it creates boundaries of the project by clearly defining what would be done in the project and what would not be done. This makes project to contain limited and quantifiable tasks, which can easily be documented and in turn avoids cost and time overrun.
For an effective management accurate estimation of various measures is a must. With correct estimation managers can manage and control the project more efficiently and effectively. Lines of code depend upon coding practices and Function points vary according to the user or software requirement. The managers estimate efforts in terms of personnel requirement and man-hour required to produce the software. For effort estimation software size should be known.
Once size and efforts are estimated, the time required to produce the software can be estimated. Efforts required is segregated into sub categories as per the requirement specifications and interdependency of various components of software.
The tasks are scheduled on day-to-day basis or in calendar months. The sum of time required to complete all tasks in hours or days is the total time invested to complete the project.
This might be considered as the most difficult of all because it depends on more elements than any of the previous ones. For estimating project cost, it is required to consider -. We discussed various parameters involving project estimation such as size, effort, time and cost. This technique uses empirically derived formulae to make estimation.
This model is made by Lawrence H. Putnam model maps time and efforts required with software size. It divides the software product into three categories of software: organic, semi-detached and embedded. Project Scheduling in a project refers to roadmap of all activities to be done with specified order and within time slot allotted to each activity.
Project managers tend to define various tasks, and project milestones and arrange them keeping various factors in mind. They look for tasks lie in critical path in the schedule, which are necessary to complete in specific manner because of task interdependency and strictly within the time allocated.
0コメント