You are on page 1of 7

Group - Akshay Phalke, Anuraag Jajoo, Harsh Gawli, Harsh Nag, Omkar Mudam

Topic - Vehicle Management System


Experiment 03
Aim
Perform Cost and effort Estimation for the Vehicle Management Information System.
Theory
Whenever we develop a software project, the main questions that arise in our mind is how much
it will cost to develop and how much time it will take for development. These estimates are
necessary and needed before initiating development. But the main critical problem that arises
during software cost estimation is lack of case studies of projects usually created in a
well-documented manner. The software industry has inconsistently defined and explained
metrics or atomic units of measure, data from real and actual projects are largely and highly
suspect in terms of consistency and comparability.
There are many questions as debates among developers and vendors of software cost estimation
models and tools. The main topics of these debates are given below :
● Which model of cost estimation should be used?
● Whether or not to measure software size in source lines of code or function points.
● What constitutes a good estimate?
Nowadays, there are several models available for cost estimation like the COCOMO model,
Checkpoint, ESTIMACS, SLIM, Knowledge Plan, etc.). Among all of them, the COCOMO
model is one of most open and well-documented cost estimation models. At present, most
real-world use of cost models is bottom-up rather than top-down. Below, a diagram is given that
illustrates and represents predominant practice. The manager of a software project defines and
describes the target cost of software, and after then until target cost can be justified, it
manipulates parameters and size.
The process described in the diagram is very necessary to analyze and predict cost risks and
understand sensitivities and trade-offs objectively. It simply forces managers of software projects
to examine and find out risks associated with achieving target costs and to discuss and explain
this gained information with other stakeholders.
Following are the attributes that Good Software Cost Estimate Contains :
1. It is simply conceived i.e. planned and supported by project manager, architecture team,
development team, and test team responsible for performing work and task.
2. All the stakeholders generally accept it as ambitious but realizable.
3. It is based on a well-defined and efficient cost model of software on a credible basis.
4. It is also based on a similar project experience database that includes and contains similar
processes, relevant technologies, relevant environments, relevant quality requirements,
and all similar people.
5. It is also defined and explained in much detail so that all of its key risks are simply
understood and probability of success is objectively assessed.
6. It contains any extra details, supporting documentation or any information that could be
relevant to the estimate.
7. It stresses how important it is to keep the cost estimates updated and revised on a frequent
basis as the project moves forward and new information becomes available.
8. Any assumptions that were made throughout the estimation process are documented.
9. It generates a project schedule and calculates the amount of time needed for each task or
activity.
Extrapolating from a good estimate, an ideal estimate would be derived from a mature cost
model with an experience base that generally reflects more similar projects that are done by same
team with similar mature processes and tools.
Use of Cost Estimation
1. One needs to choose and determine how many engineers are required for a project to
develop and establish a schedule during the planning stage.
2. While monitoring the project's progress, one needs to assess whether the project is
progressing towards achieving the goal according to procedure and whether it takes
corrective action or not.
3. It makes it possible to allocate resources such as labor, tools and supplies in a way that
maximizes effectiveness and reduces waste.
4. Cost estimates are used as a starting point for talks and agreements between parties when
negotiating contracts or project requirements.
5. It offers a shared understanding of the financial concerns and facilitates open and honest
communication among project stakeholders.
6. It affects resource allocation and project duration, that is why the amount of time needed
for various project activities is a crucial component in cost assessment.
Effort Estimation
Effort estimation in software development involves predicting the amount of human resources, in
terms of person-months or person-hours, required to complete a project. It encompasses
analyzing project requirements, complexity, team expertise, development tools, and historical
data to forecast the time and effort needed for development, testing, and deployment phases.
Effort estimation aids in setting realistic timelines, allocating resources efficiently, and managing
project schedules effectively. It serves as a foundation for project planning, budgeting, and risk
management, allowing stakeholders to make informed decisions and optimize project outcomes.
Continuous monitoring and adjustment of effort estimates throughout the project lifecycle are
crucial to adapt to evolving project dynamics and ensure successful delivery.
These approaches leverage project-specific attributes, such as size, scope, and domain
complexity, to derive effort estimates. Additionally, parametric models like COCOMO integrate
historical data and organizational experience to enhance estimation accuracy.
COCOMO model
The COCOMO (Constructive Cost Model) is a widely used software engineering model for
estimating effort, cost, and duration of software projects. Developed by Barry Boehm in the late
1970s, COCOMO categorizes projects into three modes: Basic, Intermediate, and Detailed.
Basic COCOMO: Suitable for small to medium-sized projects, it estimates effort based on the
size of the software in lines of code (LOC) using the formula Effort = a × (LOC)^b × EAF
Intermediate COCOMO: An extension of Basic COCOMO, it considers additional factors such
as development flexibility and team cohesion to provide more detailed effort estimation.
Detailed COCOMO: Suitable for large-scale projects with well-defined requirements, it
incorporates a wide range of factors including software complexity and personnel capability to
provide a refined effort estimation.
Key concepts
Effort Estimation: COCOMO estimates effort in person-months (PM), representing the total
effort required by the project team.
Cost Estimation: Effort estimation is used to calculate the total cost of the project based on the
hourly rate of the project team.
Size Estimation: COCOMO uses lines of code (LOC) as a measure of the software size, though
other metrics like function points can also be used.
Risk Management: COCOMO allows for the incorporation of risk factors into the estimation
process, enabling project managers to account for uncertainties and mitigate risks.

COST AND EFFORT ESTIMATION FOR THE VEHICLE MANAGEMENT SYSTEM


USING COCOMO MODEL
COCOMO is a widely used model for estimating software development effort, cost, and
duration. It categorizes projects into three modes: Organic, Semi-Detached, and Embedded,
based on the size and complexity of the project.
The project has 11000 lines of code and is a group project with 5 people. Let's estimate the effort
and cost using COCOMO. We'll assume an average team productivity rate and adjust the
parameters accordingly.
Size Estimation: Lines of Code (LOC): 11000
Effort Estimation:
COCOMO estimates effort in Person-Months (PM). We'll use the basic COCOMO formula:
Effort = a × (LOC)^b × EAF
Where:
● a and b are constants determined by the project type.
● EAF (Effort Adjustment Factor) accounts for various project and team attributes.
Team Size Adjustment:
Since it's a group project with 5 people, we'll adjust the effort based on the team size.
Cost Estimation:
We'll estimate the cost based on the effort and the hourly rate of the team.
Let's calculate:
For an organic project:
a=2.4
b=1.05
Effort Adjustment Factor (EAF):
To calculate the Effort Adjustment Factor (EAF):
Identify Cost Drivers:
These cost drivers include factors such as personnel capability, software complexity,
development tools, etc.
Assign Rating for Each Cost Driver:
Based on your project's characteristics, assign a rating to each cost driver. Ratings typically range
from "Very Low" to "Extra High" or are represented numerically (e.g., 1 to 5).
Lookup Table or Formula:
Use the COCOMO lookup table to find the adjustment factor corresponding to each rating
assigned to the cost drivers. The lookup table may be specific to the version of COCOMO being
used (e.g., Basic, Intermediate, Detailed).
Calculate EAF:
Multiply the adjustment factors obtained for each cost driver to calculate the overall Effort
Adjustment Factor (EAF). This will provide the adjustment factor to be applied to the basic
effort estimation.
Now, let's assume ratings for some cost drivers and calculate the EAF:
1. Required Software Reliability (RELY): High
2. Database Size (DATA): high
3. Product Complexity (CPLX): High
4. Programming Language Experience: nominal
5. Application of software engineering methods: nominal
Using the lookup table, we find the adjustment factors corresponding to each rating:
1. Required Software Reliability (RELY): High (1.15)
2. Database Size (DATA): high (1.08)
3. Product Complexity (CPLX): High (1.15)
4. Programming Language Experience: nominal (1)
5. Application of software engineering methods: nominal (1)
Now, let's calculate the overall EAF:
EAF = 1.15 × 1.08 × 1.15 × 1 × 1
EAF≈1.43
So, the calculated Effort Adjustment Factor (EAF) for the project is approximately 1.96.
Basic Effort Estimation:
Effort = 2.4 × (11000)^1.05 × 1.43
Calculate Effort:
Substituting the values:
Effort = 2.4 × (11000)^1.05 × 1.43
Calculating:
Effort = 2.4 × (11000)^1.05 × 1.43
Effort ≈ 2.4 × 11550 × 1.43
Effort ≈ 2.4 × 16516.5
Effort ≈ 39369 PM

Team Size Adjustment:


Team size: 5 people
Effort per Person (PM) = Total Effort / Team Size
Effort per Person (PM) = 39369 / 5
Effort per Person (PM) ≈ 7874 PM/Person
Cost Estimation:
Let’s assume hourly rate per team member: ₹50
Number of Working Hours per Month: 160
Team Size: 5 people
Total Cost=Effort per Person (PM)×Hourly Rate×Number of Working Hours per Month×Team
Size
Total Cost= 7874 × 50 × 160 × 5
Total Cost≈ 314,960,000 INR
So, the total cost of the project, considering a team size of 5 people, and an hourly rate of ₹50, is
approximately ₹314,960,000.
Conclusion
In summary, we've calculated the costs and effort needed for our Vehicle Management System
project. This study highlights how crucial it is to accurately estimate these factors for project
success. It also sets a strong foundation for future research and improvements in managing
software projects more effectively.

You might also like