Introduction to Software Cost Estimation
The Software Cost Estimation is a process top predict /estimate the approximate cost of the software project before the development starts i.e. it describes the approximate requirements of effort, development time and resources to complete the software project. It is one of the vital processes to start development for software by considering all internal & external cost factors.
How Software Cost Estimation Work?
The cost estimation is a tool to estimate the planning, budgeting and resource utilization for the software projects. Before cost estimation for a software project, we will have known that what are the actual requirements for a project, what is the complexity of those requirements, and other cost driver factors that affect the development (like, product factor, project factor, personal factor& hardware factor).These are the input to the cost estimation process. So, in general, the process provides three responses. Such as Effort, Development Duration, and Resources
- Effort: The amount of effort required to complete the development of software projects in terms of Man-Months (MM).
- Development Duration: The time duration required to complete the development of a software project i.e. total development time.
- Resources: The number of Manpower required for a software project in terms of time to complete.
But in actually the SCE process follows on cost driver factors i.e. it will affect the cost of the software. These factors are such as design methodology, memory management, experienced skills, hardware requirements, software tools, risk analysis, project complexity, project delay, size of project database, performance parameter, virtual memory environment, etc.
Software Cost Estimation Models
There is multiple SCE method/model in terms of size or type of project or in static nature with dependent factors (single parameter or multi parameters). Such as:
- COCOMO or Algorithmic Model
- Wideband Delphi or expert Judgment Model
- Static Single Variable Model
- Static Multi-Variable Model
- Estimation by Past Project Model
1. COCOMO or Algorithmic Model
It is called the Constructive Cost Model, which is mainly used for software cost estimation i.e. it estimates/predicts the effort required for the project, total project cost and scheduled time for the project. This model depends on the number of lines of code for software product development. It also estimates the required number of Man-Months (MM) for the full development of software products.
2. Wideband Delphi or Expert Judgment Model
It is one type of software cost estimation model prepared by the highly qualified/experienced manager/estimator based on the previous project estimation report. So the model name shows as Expert Judgement Model.
PARAMETERS | a | b |
Effort | 1.4 | 0.93 |
Dev. Duration | 4.2 | 0.26 |
3. Static Single Variable Model
This model is used to estimate the effort, cost and development time for a software project which depends on a single variable. The relationship is given by:
- Cost (C) = a*(LOC)b
- Effort (E) = a*(LOC)b MM
- Development Time (DT) = a*(LOC)b Months
- Where LOC = Number of Lines of Code.
4. Static Multi-Variable Model
This model is used to estimate the effort, cost and development time for a software project with depends on multiple internal or external variables I .e.Effort Adjustment Factor (cost driver factors). The relationship is given by:
PARAMETERS | a | b |
Effort | 5.2 | 0.91 |
Dev. Duration | 4.1 | 0.36 |
- Cost (C) = a*(LOC)b
- Effort (E) = a*(LOC)b MM
- Development Time (DT) = a*(LOC)b Months
- Where LOC = Number of Lines of Code.
5. Estimation by Past Project Model
The software cost estimation is done for the new project by comparing the previous completed project estimation. Here the estimation cost should be reconsidered. Sometimes we manipulate estimation to win the Contract of project.
Applications of SCE
- It is used to predict the total cost of the software project development in terms of effort, scheduled time.
- It directly affects the planning and budgeting of software projects.
- It shows the proper utilization of resources or manpower in the project.
- It provides continuous monitoring, planning, and control of the software projects.
- The software cost estimation process started at the initial level to each step of the development life cycle process.
- It shows the pre-planned structures of the software project with including the cost derived factors.
- It also derives the risk analysis of software projects.
- The new software project contract sign depends on the proper software cost estimation.
- The industry may gain profit or loss; it indirectly depends upon the good software cost estimation.
- Accurate indicates a smooth flow of the development process.
Conclusion
In this article, we briefly discuss the different SCE models in software application development with proper use of it. As the software industries are very competitive so the software cost estimation process plays an important role in the development process to improve the effort and assumption. The experience-based estimation is the most common estimation model as it is lightweight and easy to implement. But the COCOMO is the one best model for SCE methodology by considering the size of the code and other cost driver parameters.
Recommended Article
This is a guide to Software Cost Estimation. Here we discuss an introduction of SCE with respective working and applications. You can also go through our other related articles to learn more –