0% found this document useful (0 votes)
10 views5 pages

COCOMO

Uploaded by

nandhu172004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views5 pages

COCOMO

Uploaded by

nandhu172004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

COCOMO MODEL

The COCOMO (Constructive Cost Model) is a widely used algorithmic model in


Software Project Management for estimating the cost, effort, and schedule required for
software development. It was developed by Barry Boehm in 1981 and is based on
historical data and empirical research from previous software projects. COCOMO
provides a systematic approach for estimating the resources (such as time, manpower,
and costs) needed for software projects, depending on various project attributes.

Key Objectives of COCOMO:


1. Effort Estimation: Estimate the total effort required to develop the software in terms of
person-months.
2. Cost Estimation: Calculate the cost of the project based on effort and resource
utilization.
3. Schedule Estimation: Predict how long the project will take to complete, based on
effort and complexity.

Types of COCOMO Models:


COCOMO offers three levels of model complexity to estimate software development
effort, depending on the availability of project details and the desired accuracy:

1. Basic COCOMO Model:


- Objective: Provides a rough estimate of effort and duration using a single set of
equations.
- Applicability: Ideal for early-stage projects where only limited information is available.
- Formula: The basic COCOMO model uses the following formula:
E = a x ( KLoC ) ^ b
Where:
- E = Effort required (person-months)
- KLOC = Number of Delivered Source Lines of Code (KLOC)
- a, b = Constants determined from empirical data based on the software project
type.
Effort (E) is calculated as the product of constants (a) and the number of thousands of
lines of code (KLOC) raised to the power of constant (b). The values of a and b depend
on the project’s type: Organic, Semi-Detached, and Embedded.

2. Intermediate COCOMO Model:


- Objective: Provides a more accurate estimate by incorporating project attributes
(cost drivers).
- Applicability: Useful when there is more information available, including project
constraints and environments.
- Formula: The intermediate COCOMO model refines the basic formula by multiplying
the effort by a series of cost driver factors:
E=a×(KLOC)b×∏(Cost Drivers)
Where:
- Cost Drivers are factors like reliability, complexity, team experience, etc., each of
which is rated on a scale, and their values are used to adjust the estimate.

Cost Drivers include factors like:


- Product reliability
- Hardware constraints
- Personnel experience
- Application complexity

The model also provides an estimate for the **development time (T)** based on the
following formula:
T=c×(E)d
Where:
- T = Development time (in months)
- E = Effort (in person-months)
- c, d = Constants based on the project type.

3. Detailed COCOMO Model:


- Objective: Provides a highly detailed and accurate estimate by further refining the
intermediate model.
- Applicability: Suitable for projects where detailed information about the software’s
design and development process is available.
- Formula: It expands the intermediate model by including additional factors like the
impact of software tools, training, and team experience, along with detailed breakdowns
of the development phases (requirements, design, coding, testing, etc.).
- This model uses a series of adjustments based on the different phases of
development and their specific constraints.

COCOMO Categories:
COCOMO defines three types of software projects based on their complexity and team
experience:

1. Organic: Small teams with good experience working on simple, less complex
systems. (e.g., small software products, applications)
2. Semi-Detached: Medium-sized teams working on moderately complex systems. (e.g.,
custom applications or systems)
3. Embedded: Large teams working on highly complex systems with strict hardware
constraints. (e.g., safety-critical software, embedded systems)

COCOMO Constants:
Here are some values for constants used in the COCOMO formulas for different project
categories:
Project Type a b c d
Organic 2.4 1.05 2.5 0.38
Semi-Detached 3.0 1.12 2.5 0.35
Embedded 3.6 1.20 2.5 0.32

Example:
Suppose you are developing a software project with 50,000 lines of code (50 KLOC),
categorized as Semi-Detached. Using the intermediate COCOMO model, you would
proceed as follows:
1. Effort Estimation:
-KLOC = 5
- Constants for Semi-Detached:
- a = 3.0, b = 1.12
- Formula for effort:
E=3.0× (50) ^ 1.12

E≈3.0×83.98=251.94 person-months
2.Development Time Estimation
- Constants for semi-Detached:
- c = 2.,d = 0.35
- Formula for time:
T=2.5×(251.94)0.35
T≈2.5×14.14=35.35 months
Pros of COCOMO Model:
1. Quantitative Approach: Provides an empirical, data-driven approach to estimating
effort, cost, and schedule.
2. Scalability: Suitable for a wide range of software projects, from small to large-scale
systems.
3. Flexibility: Allows for refinements based on more detailed project attributes and cost
drivers.
4. Risk Mitigation: Helps identify resource and time constraints early in the project
lifecycle.
5. Benchmarking: Provides a basis for comparing the current project with similar past
projects, aiding in estimation accuracy.

Cons of COCOMO Model:


1. Data Dependency: The model relies on historical data, so it may be less accurate for
novel or one-of-a-kind projects.
2. Assumes Linear Relationships: Assumes that the relationships between project size
and effort, time, etc., are linear, which may not always be true in practice.
3. Cost Drivers May Be Subjective: Rating the cost drivers requires judgment, which can
introduce biases or inconsistencies.
4. Not Well-Suited for Agile Projects: Agile projects with rapidly changing requirements
may not fit well with COCOMO’s predictive nature, as it assumes a stable, defined
scope.
5. Complexity in Detailed Model: The Detailed COCOMO model can become quite
complex and time-consuming, requiring a lot of information to provide meaningful
results.

Conclusion:
COCOMO is a widely used and effective tool for software project management,
providing a structured way to estimate effort, cost, and schedule. While it can provide
valuable insights and forecasts, the model’s accuracy depends on the availability of
reliable historical data and its applicability to the project at hand.

You might also like