Most of the clients and many software developers have not complete realization that software development process involves granular refinement that makes early estimates daunting. It involves tons of brainstorming sessions with the team and recall of the memories with the same kinds of project.
Therefore, it is an art to extract the right thing. It involves multiple tools and data to churn, to reach some acceptable accuracy. Therefore, it is a science.
- Effort estimation
- Schedule estimation
- Final project cost estimation
When a client is landing on the website of a software development company and run inquiry for a project, the first expectation is the cost of the project. Therefore, the company has to run a short process for a ballpark estimate and, later on, a long process for accurate estimation. Generally, if a software development company is going to estimate the final cost of the project, it has to undergo to pass four basic steps of the project estimation process and those are:
Practically the size of a project is defined based on the project requirements supplied by the client and the data collected through the multiple interactions with the client. In short, a project manager (PM) can’t define the size of the project. It is because the only client knows what her business needs.
Only the client can tell that what she wants to do with the intended software (a website or an app for modern computing device). Therefore, PM has to extract all from the client to assume the size of the project, at first, hand.
Of course, a smart project manager can help clients to decide the features and functionality the software should have to render it the most functional and futuristic, albeit after knowing the budget and business scopes.
A knowledge-rich and experienced project manager can apply the prevailing project estimation techniques in the market and reduce the project estimation time and resources to allocate. The following techniques work for different project in different conditions:
Analogous Estimation Technique
Analogous means ‘The same.’ Suppose your company has done the somewhat similar project. It should have actual project data of the time, resources, and rates of the previous project development.
Thus, based on it a seasoned PM can guess the size of the new project by comparing it with the past project. The success of the analogous project estimation technique depends on the following considerations:
- The similarity of the new project with the historical project data
- The level of adjustment made to the formula for the differences between new and previous projects
- Accuracy and authenticity of the historical data
- The nature of the historical data, internal or external impacts on accuracy
- The missed external factors
Since it is a rapid process with low-level of accuracy, it cost less in terms of time and Man-hours allocated.
Parametric Estimation Technique
If your client is a techie and can provide you details of the features and functionality of the new project with enough advance work, some algorithms let you count the cost through the given parameters. Lines of Code (LOC), Function Points (FP), etc. help you to convert the counts into an estimated size of a project.
- The Subsystems, Methods/Functions, Classes/Modules, etc. used for the Macro-level – “product features”.
- The number of Screens, Dialogs, Files, Database Tables, Reports, Messages, etc. used for the More detailed – “Product features”.
Bottom-Up Estimation Technique
If you want to ease the estimation process and increase the accuracy of estimates, the project components should break down into the smaller components. For instance, the designing part breaks down into the wire-frames, prototypes, and final designing.
No doubt, estimating each smaller project components in a detailed manner is a time-consuming and laborious task, but give higher accuracy compared to other methods. Therefore, it is used for the final round of project costing and initial estimation given through analogous or another relevant method for quick trade-offs.
Three-Point Estimation (PERT) Technique
In this PERT technique, three data points are gathered in following way:
- Best Case (O) scenario estimation
- Most Likely Case (L) scenario estimation
- Worst Case (P) scenario estimation
Practically, if you ask your team to give the best and worst-case scenario estimation, the weighted mean of both can yield the most likely case scenario estimation using the math formulas.
Vendor Bid Analysis Estimation Technique
This technique is used by the most in B2B project development clients in the outsourcing industry. In this scenario, your B2B clients are allocating either the entire project for outsourcing or some parts/components of the project for offshore work.
In due course, the client is asking for the project cost in Bid format by involving more than one vendors to bid on the project and give accurate cost as well as a timeline for the project. Based on the vendor bids, the project cost decided and the work allocated to the most appropriate vendor/s with desired advance fees.
Many smart bidders/vendors accept the big scale project to bid and run sub-projects on the same platform with different experts to leverage expertise and cost-effectiveness available in the market.
Reserve Analysis Estimation Technique
Once the cost estimation has done with available accuracy and now, the project is under the closed-deal process, the development company or developers ask for the uncertainty analysis. Through this analysis, they reserved some percentage of overall project cost for the uncertain risks hence expenditure.
Combine Multiple Project Estimation Techniques
In some cases, only single project estimation technique is not sufficient to woo the clients and achieve the desired accuracy. Therefore, we at Addon Solutions, employ more than one techniques at a time. Our favorite technique is PERT or three point estimation technique for initial estimation. Later on, we follow Bottom-Up estimation technique for the higher level of accuracy for big budgeted projects.
Now, you have perfect ideas regarding the project size estimation so you can convert from software size to total project efforts. Of course, you can do this only when you have defined software lifecycle and the development process stages such as:
- Project documentation
- Initial research and planning
- Designing steps
- Programming steps
- Testing steps
- Marketing steps, if involved
No doubt, each step has several sub-steps and require a lot of efforts to estimate how many hours/days/weeks/months are a need to accomplish all. It is better you have kept the data of previously completed project and can compare the present project needs with your historical data.
Thus, your historical data may reduce a lot of burden for the project effort estimation and can bring a good level of accuracy in the tasks. Suppose your organization lacks such historical data, there are ready to use models available in the market like:
- Barry Boehm’s COCOMO 1 & 2 models
- The Putnam Methodology
Thus, you will able to offer a ballpark estimation of Man-hours and Man-numbers easily.
Now, you have project size, based on it, the required efforts in the form of the workforce. These all will enable you to compute the work schedule or timeline in techie language. No doubt, your historical data again come to your rescue and help you to count the calendar for the project with each main and sub-step. If you have nothing to compare with historical data, you can apply several mathematical formulas to compute the project schedule.
Now, costing is easy for you because you know how many human resources will involve in the entire project and how long the project will run. For accurate project cost counting, you need to add several other expenditures and overhead costs in it. For instance,
- Recurring cost of software and hardware used in the project
- Designing and testing instruments used or purchased for the project
- Communication and support service charges
- If the project involves any traveling, conference, or training seminars, you have to add all expenditure in the project cost
Thus, project costs certainly don’t solely relying on the labor cost only. The overall project estimation process could visualize in the following manner.
The Project Trade-offs
During the entire process, you have marked one thing interesting that none can give accurate project estimation anyhow. Other end, clients have their priority and needs regarding timeline, cost, and quality. Therefore, adjustments in project estimation are essential, and it can be done in many ways including:
- If your clients put stress on the schedule, you can shorten the schedule by adjusting cost and efforts. Thus, cost will hire when you allocate more resources.
- If your clients focus on low-cost of the project but ready to wait for longer, you can reduce it by withdrawing resources nd lengthening the schedule.
Thus, following exemplary project estimation table help you to understand how you can make project trade-offs based on the requirements of clients.
|Management Metric||Planning Value|
|Nominal Plan||Shortest-Schedule Plan||Least-Cost Plan|
|Effort (Staff Weeks)||24||37||14|
|Schedule (Calendar Weeks)||12.4||10||16.2|
|Peak Staff (People)||4.8||14.6||1.3|
|Average Staff (People)||3.2||9.8||0.9|
Recent trends in the market and on many marketplaces indicate that newbie and some lesser-experienced clients treat the project estimation, as it is cast-in-stone and suffer at the end, or miss the good team to work with.
Considering these facts, Addon Solutions is working hard to give the most accurate project estimation as much as possible, but also, acknowledge clients that where fluctuations or changes are possible and how much percentage they have to keep ready for it. Our smart project managers always put fingers on the nerves of the clients and find out which trade-offs will work.
Thus, you will get different sorts of project estimations for the same project according to your preferences. Of course, to be more accurate, Addon Solutions is keeping its historical data intact for long and use it almost all project estimations of Web and Mobile App Development. We know that not all project inquiries ever turn into the project. However, we never miss the chance to offer good accuracy and do hard work on each project proposal.
Yes, we would like your valuable inputs in this regard. The comment box below provides an opportunity for both of us to express our thoughts and exchange some words publicly for the people by-and-large.