




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Project Management is the art of maximizing the probability that a project delivers its goals on Time, to Budget and at the required Quality. This lecture handout was provided by Sir Debashis Koppale. It includes: Estimation, Tool, Project, Effort, Basic, Intermidiate, Advance, Cocomo, Delivered, Project, Management, Code
Typology: Study notes
1 / 8
This page cannot be seen from the preview
Don't miss anything!





6.5 Estimation – Tools
iii. Measuring effort for a project
c) Constructive Cost Model (COCOMO)
The COCOMO technique is another popular estimation technique. Dr: Barry Boehm propounded this technique in 1981. COCOMO uses cost driver attributes to calculate the effort and duration of a project. The COCOMO technique has three levels of implementation. With each level, the complexity of the model increases. The levels of the COCOMO technique are:
i. Basic ii. Intermediate iii. Advanced
i. Basic COCOMO The basic COCOMO technique estimates the effort and cost of a software project by using only the lines of code. You, use basic COCOMO when you need a rough estimate of effort, such as during maintenance projects. This is because in such projects, a majority of the work is already completed. Estimating the effort in the basic COCOMO technique involves three steps.
**_1. Estimating the total delivered lines of code
You have already seen how the total delivered lines of code are estimated. The next step in the COCOMO model is to determine the type of the project being developed. The basic COCOMO technique considers three types of projects to calculate effort.
Organic projects have sufficient and defined objectives. The organizations that undertake organic projects have ample experience in development and use small development teams. These are simple business and financial applications; such as a banking system and inventory system.
Embedded projects have stringent and specialized hardware, software, and human resources requirements. Organizations usually have less experience in developing such projects. Examples of such projects include real-time operating systems (RTOS), industrial automation systems, and sophisticated space and aviation systems.
Semidetached projects are a combination of the preceding two types of software projects. A new operating system and a database management system (DBMS) are examples of such projects.
The last step in calculating effort by using the COCOMO technique is to substitute the values of lines of code and effort constants in the following formula:
Ej = a1 * (KLOC) a
In the formula, Ei is the effort for a project. The effort constants, al and a depend on the type of project being developed.
ii. Intermediate COCOMO Calculation of effort by using the intermediate COCOMO technique involves an additional step of calculating the effort adjustment factor (EAF). The effort adjustment factor is calculated by assigning ratings to 15 cost driver attributes.
These cost driver attributes relate to the various aspects of a software project, such as project, product, personnel, and computer attributes. Using the intermediate COCOMO technique, you can accurately estimate effort and cost required for a project. Accurate estimates are very helpful to start new development projects.
Calculating the effort by using the intermediate COCOMO technique is a three- step process:
In the formula the initial development effort, KLOC refers to 1,000 lines of code. The constant values a1 and a2 differ with every project.
Usually, in organizations, the average rating is assigned a static value of 1.0. To calculate the estimated effort using the intermediate COCOMO technique, you use the formula:
E = EAF * Ei
Consider an example for using the intermediate COCOMO technique to calculate the estimated total effort of a project life cycle. In a customized insurance project, there are four modules. The total effort estimate of the modules is 3.0 KLOC. The management has identified four cost driver attributes with the respective multiplying factors that might affect the project most. In this situation, the values of al and a2 are 3.2 and 1.05, respectively, because the insurance project is an organic project. Therefore, you apply the following formula to calculate the initial effort estimate.
Ei = a1 (KLOC) a Ei =3.2 * 31. Ei = 3.2 * 3. Ei = 10.
The values assigned to the cost driver attributes that are applicable to a particular software application are displayed in Table 2. According to the table, the time to execute a software program is of high importance. Therefore, the attribute TIME is assigned a value of 1.35. In contrast, the software application does not require a very high analyst involvement. Therefore, the value assigned to ACAP is very low or 0.95. Using the same logic, the values for other cost driver attributes are assigned.
Table 2: Applicable Cost Driver Attributes
Applicable cost driver attributes Rating Multiplying factors
CPLX High 1.
TIME Very high 1.
ACAP Low.
MODP Average 1.
Referring to Table 7.9, EAP can be calculated as, EAF = 1.2 * 1.35 * 0.95 * 1.0 EAF = 1.
After obtaining the values for the variables Ei and EAF, you can substitute these values in the formula to calculate the total effort.
E = EAF * Ei E = 1.53 * 10.
E = 15.5 person months
iii. Advanced COCOMO
The advanced COCOl\l10 technique uses the steps of the intermediate COCOMO technique. In addition, it uses costs driver attributes assigned to each phase of the SDLC such as analysis and design.
Applicability of COCOMO
COCOMO is flexible and capable of using SLOC, FP, and even object points. Object points are measurable code sections in an object-oriented programming language, such as C++, Ada, and Java.
You can use COCOMO when the size of a project is extensive and the requirements of the project are vague. In contrast, SLOC and FP can be used for projects where either the requirements are more or less known or developers possess the relevant experience in developing projects.
COCOMO is suitable for complex and sophisticated projects that are expected to operate within intensive hardware, software, and personnel constraints.
Generally, you can use COCOMO when the software development environment is new to an organization. In addition, you can use COCOMO when you do not have baseline data about past projects. However, you need complete data about your current project to assign weight age to each cost driver attribute. You can use FP or SLOC techniques when you have enough past project data to assign accurate weight age to the 14 GSC s and the various information domain value elements.
d) Delphi Technique
The Delphi technique is a Human-based estimation technique. Human-based estimation techniques use human experience and analytical skills to estimate the size, productivity, and effort required for a project. This is a trusted technique and is widely used in many established organizations to facilitate practical and reasonable estimation.
The rationale of using the Delphi technique is that when many experts independently arrive at the same estimate on the basis of similar assumptions, the estimate is likely to be correct.
The Delphi technique has eight basic steps:
the high percentage of the variance value, some tasks may be broken down further or combined. This activity of breaking down tasks into smaller levels involves fresh estimates for those tasks at the smaller levels.
Identify the teams that will estimate.
Present project details to the expert group.
Finalize the acceptable variance value.
Prepare a list of tasks.
Estimate done by the expert group
Prepare a summary of estimates for each task.
Discuss tasks and assumptions for not acceptable estimates.
Figure 1: Steps of the Delphi Technique
The Delphi technique is a simple and subjective method of estimation. However, it is a very effective method because most of the estimates are tried and tested. You can use this method if the project is small or if you have the data and expertise that can enable unambiguous estimates.
Repeat steps until all estimates are finalized.