Barry Boehm developed the Constructive Cost Methodology (COCOMO) in the 1970s as a procedural cost estimation model for cocomo software projects. It’s been used to estimate expenses for a wide range of projects and business operations.
The Cocomo (Constructive Cost Model) regression model is based on the number of lines of code or LOC. It is a procedural cost estimate model for software projects that are frequently used as a method of accurately estimating numerous cocomo project factors such as size, effort, cost, duration, and quality. Barry Boehm proposed it in 1970, and it is based on a study of 63 projects, making it one of the most well-documented models. Effort & Schedule are the primary characteristics that define the quality of any software product, which is cocomo also an output of the Cocomo:
- Effort: The amount of time and cocomo effort required to execute a task. It is expressed in person-months.
- Schedule: This simply refers to the length of time required to complete a task, which is related to the amount of effort cocomo expended. It is expressed in time units such as weeks and months.
Various Cocomo models have been presented to anticipate cost estimation at various levels, depending on the level of accuracy cocomo and correctness required. All of these models can be utilised on a wide range of projects, the characteristics of which define the constant value to be utilised in later calculations.
Types of Projects
The following table lists the characteristics of several system kinds. Organic, semidetached, and embedded systems are defined cocomo by Boehm as follows:
- Embedded – A software project that necessitates the highest level of complexity, creativity, and experience is classified as cocomo embedded. To design such sophisticated models, a larger team is required than for the other two models, and the developers must be sufficiently experienced and imaginative.
- Semi-detached — A software project is classified as Semi-detached if key criteria, including team size, experience, and understanding of several programming environments fall between organic and cocomo Embedded. Semi-detached projects are less familiar and difficult to produce compared to organic initiatives, and they demand more experience, better supervision, and inventiveness. Compilers or various Embedded Systems, for example, can be classified as Semi-Detached.
- Organic – A software project is considered to be organic if the required team size is small enough, the problem is well cocomo understood and has been solved before, and the team members have some expertise with the challenge.
The Constructive Cost Model is explained by Techopedia (COCOMO)
The COCOMO approach is based in part on judging projects based on their size or number of lines of code. Product qualities, personnel cocomo characteristics, hardware characteristics, and general project attributes are among the additional qualities or metrics that pertain to cocomo estimates. To put together a COCOMO estimate, engineers may look at phenomena and factors such as rough sizing, construct or buy models, or detail planning.
Different “flavours” of COCOMO are also used for business estimates. A step-by-step method, for example, includes attention cocomo to planning and requirements, system design, detail design, module code, and testing, integration and testing, and estimates in a model known as “detailed COCOMO.” COCOMO, in general, provides a useful framework for estimating the cost and scope of a software project.
Types of COCOMO
The COCOMO model allows software managers to choose how detailed they want to go when estimating costs for their own projects. COCOMO can reveal a software product’s efforts and timeline based on the size of the cocomo software at various levels. Basic COCOMO, Intermediate COCOMO, and Detailed/Completed COCOMO are the three levels of COCOMO.
Basic COCOMO model
For rough calculations, the basic COCOMO is employed, which limits the precision of software estimation. This is because the model only takes into account lines of source code and constant values derived from software project types rather than other elements that have a significant impact on the software development process as a whole.
Intermediate COCOMO model
The Intermediate COCOMO model is an expansion of the Basic COCOMO model that takes into account a collection of cost drivers in order to cocomo improve the cost estimating model’s accuracy.
Complete/detailed COCOMO model
On each software engineering process, the model contains all qualities of both Basic COCOMO and Intermediate COCOMO techniques. The model cocomo takes into account the impact of each project’s development phase (analysis, design, and so on).
For example, in each development phase of the Waterfall Model, a detailed COCOMO will undertake cost estimation.
COCOMO has been extended
Although this article only covers the COCOMO I model (1981), it is worthwhile for you to conduct additional research on the COCOMO model’s extension.
COCOMO II (1995) is a natural cocomo extension of COCOMO I and is used in a variety of software development processes, including Agile, Iterative waterfall, and spiral waterfall models.
On top of the COCOMO I and COCOMO II models, a number of cost estimation models are being created. Constructive Rapid Application Development Schedule Estimation Model (CORADMO) and Constructive Phased Schedule & Effort cocomo Model are two examples of such models (COPSEMO).
- COCOMO is transparent, and unlike other models such as SLIM, it is possible to observe how it operates.
- COCOMO is more predictable and reliable cocomo because it is based on historical data or previous experience.
- Elements that are simple to execute, such as the drivers, aid in estimating the influence of many factors that affect projects.
- The entire cost of the projects is easy to cocomo estimate. This is due to COCOMO’s usage of a regression algorithm based on previous projects.
The following are some of COCOMO’s drawbacks:
- It doesn’t take into account the fluctuation of requirements (but an organization may add this as an extra adjustment factor cocomo in computing EAF).
- It does not take into account documents or other criteria.
- It disregards consumer characteristics such as skill, cooperation, knowledge, and response.
- It exaggerates the impact of security concerns.
- It is unconcerned with software security.
- It doesn’t take into account cocomo the software development environment.
- It doesn’t take into account employee churn.
- It overlooks a lot of hardware concerns.
- The accuracy of the effort, development time, staffing, and productivity estimates are all dependent on the size estimate; the size estimate drives the accuracy of the effort, development time, staffing, and cocomo productivity predictions.
- Experience-based estimation can be incorrect due to the outdated nature of the historical data used or the estimators’ faulty cocomo memory of previous projects.
COCOMO is made up of three more detailed and exact forms that are arranged in a hierarchy. Basic COCOMO is good for quick, early, rough cocomo order-of-magnitude software cost estimates, but its accuracy is limited due to the lack of factors to account for differences in project parameters (Cost Drivers). These Cost Drivers are taken into account in Intermediate COCOMO, while the impact of various project phases is taken into cocomo account in Detailed COCOMO. COCOMO calculates software development effort (and cost) as a function of program size in its most basic form. The size of a program is measured in thousands cocomo of lines of code (KLOC).
- A progression of increasingly cocomo complicated models
- D and E are computed using COCOMO, and manpower is obtained from D and E.
(We frequently estimate E, decide M, and only compute D.)
- Project cost estimates may be cocomo self-fulfilling in that they define the scope of the project.
To fulfill the budget, the budget and the product are both changed.
- A precise application necessitates an organization’s own structure.
Programs for measuring (to fine-tune parameters)
- Models must be updated to reflect new technologies and the environment.
Technology evolves at a rapid pace, making it challenging to stay current.
The COCOMO Model
COCOMO is based on a physical device (source lines of code) • As we progress, our estimates get more precise.
• Errors in estimation:
– Initial estimates might be up to four times off.
– As the development process progresses, estimates will be made.
become more exact
(In addition, the model considers more specific parameters)
OUTPUT = A · (size)B · M
The underlying structure of all COCOMO models is the same.
• The primary metric is code size.
• OUTPUT can be effort or time.
(as stated in source code lines)
• The effort and size of a program are proportional to the size of the code.
(even if it’s extremely near to 1)
• To make the model more realistic, various correction parameters are applied.