Software Quality Assurance: Estimating Duration and Cost

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 34

Software Quality Assurance

Estimating Duration and Cost

The Steps in Estimating


Step 1. Establish Cost-Estimation Objectives Step 2. Develop a Plan for Estimation Activities; Plan for Resources Step 3. Clarify Software Requirements Step 4. Explore as Much Detail as Feasible Step 5. Use Several Independent Techniques Step 6. Compare, Understand, and Iterate Estimates Step 7. Review Estimate Accuracy
2

COCOMO
[Constructive Cost Model] Developed by Barry Bohem Modeled Cost, Effort and Schedule

COCOMO: A Regression Model


Regression Models in General
A regression model is derived from a statistical interpretation of historical data to describe a mean or "typical" relationship between variables.

Organic The organic mode is typified by systems such as payroll, inventory, and scientific calculation. Other characterizations are that the project team is small, little innovation is required, constraints and deadlines are few, and the development environment is stable.

Semidetached
The semidetached mode is typified by utility systems such as compilers, database systems, and editors. Other characterizations are that the project team is medium-size, some innovation is required, constraints and deadlines are moderate, and the development environment is somewhat fluid. Embedded The embedded mode is typified by real-time systems such as those for air traffic control, ATMs, or weapon systems. Other characterizations are that the project team is large, a great deal of innovation is required, constraints and deadlines are tight, and the development environment consists of many complex interfaces, including those with hardware and with customers.

COCOMO Levels
Basic This level uses only size and mode to determine the effort and schedule. It is useful for fast, rough estimates of small to medium-size projects. Intermediate This level uses size, mode, and 15 additional variables to determine effort. The additional variables are called "cost drivers" and relate to product, personnel, computer, and project attributes that will result in more effort or less effort required for the software project. The product of the cost drivers is known as the environmental adjustment factor (EAF). Detailed This level builds upon intermediate COCOMO by introducing the additional capabilities of phasesensitive effort multipliers and a three-level product hierarchy. The intermediate level may be tailored to phase and product level to achieve the detailed level. An example of phase-sensitive effort multipliers would be consideration of memory constraints when attempting to estimate the coding or testing phases of a project. At the same time, though, memory size may not affect the effort or cost of the analysis phase. This will become more obvious after the effort multipliers (or cost drivers) are described. Phase-sensitive multipliers are generally reserved for use in mature organizations and require the use of an automated tool.

Basic COCOMO

Basic COCOMO is good for quick estimate of software costs. However it does not account for differences in hardware constraints, personnel quality and experience, use of modern tools and techniques, and so on.

Basic COCOMO
Effort Estimation
KLOC is the only input variable. An exponential formula is used to calculate effort. COCOMO Basic Effort Formula Effort (E) = a x (Size)b Where a and b = constants derived from regression analysis (depends on the project) Size = thousands of lines of code (KLOC) E = effort expressed in staff-months
9

Basic COCOMO Effort Formulas for Three Modes


Effort for Organic Mode: E = 2.4 x (Size)1.05 Effort for Semidetached Mode: E = 3.0 x (Size)1.12 Effort for Embedded Mode: E = 3.6 x (Size)1.20

10

11

Basic COCOMO Average Staff Estimate


When effort (E) and development time (TDEV) are known, the average staff size (SS) to complete the project may be calculated.
Average Staff: SS = Effort/TDEV

12

Basic COCOMO Average Staff and Productivity Estimation


The productivity level may be calculated.
Productivity: P = Size/Effort

13

Basic COCOMO Example 1


A development project is sized at 7.5 KLOC and is evaluated as being simplein the organic mode.
The basic COCOMO equation for effort (E) in staff-months (SM) is: Effort (SM) = 2.4(KLOC)1.05 = 2.4(7.5)1.05 = 2.4(8.49296) = 20 staff-months Development time (TDEV): TDEV = 2.5(SM)0.38 = 2.5(20)0.38 = 2.5(3.1217) = 8 months The average number of staff members (S): Staff = Effort/TDEV = 20 staff-months/8 months = 2.5 staff members on average The productivity rate (P): Productivity = Size/Effort = 7,500 LOC/ 20 staff-months = 375 LOC/staff-month
14

Basic COCOMO Example 2


A development project is estimated to be about 55 KLOC when complete and is believed to be of medium complexity. It will be a Web-enabled system with a robust back-end database. It is assumed to be in the semidetached mode.
For a rough estimate of the effort that will be required to complete the project, use the formula: E (effort in staff-months) = 3.0(KLOC)1.12 E (effort in staff-months) = 3.0(55)1.12 E = 3.0(88.96) E = 267 staff-months
15

Example 2 (cont)
To determine how long it will take to complete the project, use the formula: TDEV = 2.5 x (E)0.35 TDEV = 2.5 x (267)0.35 TDEV = 2.5(7.07) TDEV = 17.67 months To obtain a rough estimate of how many developers will be needed, use the formula: S (average staff) = effortTDEV S (average staff) = 26717.67 S (average staff) = 15.11 To determine a rough estimate of the productivity rate, use the formula: P (productivity) = sizeeffort P (productivity) = 55,000267 P (productivity) = 206 LOC/staff-month

16

Basic COCOMO Phase Distribution of Effort and Schedule

In addition to estimating development effort and schedule, it is often necessary to estimate how the effort is distributed among the primary life cycle activities. COCOMO takes a pretty simplistic view of the life cycle phases, considering only plans and requirements, product design, coding, and integration and test as the four development phases, and maintenance as the final life cycle phase.
17

Example of phase distribution of effort and schedule.


Let's look at an example of phase distribution of effort and schedule.
Suppose that an embedded mode project is sized at 80 KLOC. E (effort in staff-months) = 3.6(KLOC)1.20 = 3.6(80)1.20 = 3.6(192.18) = 692 staff-months TDEV (development time) = 2.5(E)0.32 = 2.5(692)0.32 = 2.5(8.106) = 20 months
18

19

Intermediate COCOMO
Intermediate COCOMO uses size and modes just like the basic model, plus 15 additional variables called cost drivers. The idea is that there are characteristics of a given project that drive the cost (effort) up or down.

20

Intermediate COCOMO Formula


Effort (E) = a x (Size)b x C
Effort for Organic Mode: E = 3.2 x (Size)1.05 x C Effort for Semidetached Mode: E = 3.0 x (Size)1.12 x C Effort for Embedded Mode: E = 2.8 x (Size)1.20 x C

21

Cost Drivers

The concept of the effort adjustment factor (EAF) is that it has the effect of increasing or decreasing the effort, and therefore cost, depending on a set of environmental factors. These environmental factors are also known as cost adjustment factors [Cis], or cost drivers. There are two steps in determining this multiplying factor:

Step 1. is to assign numerical values to the cost drivers. Step 2. is to multiply the cost drivers together to generate the effort adjustment factor, C. When multiplied together, the cost adjustment factors can affect project cost and schedule estimates by 10 times or more!
22

Product of Cost Drivers Is the Effort Adjustment Factor


EAF = C1 x C2 x . . . x Cn
Ci = 1 implies the cost driver does not apply Ci > 1 implies increased cost due to this factor Ci < 1 implies decreased cost due to this factor

23

24

Other Cost Drivers


Although product, computer, personnel, and project attributes are the four categories that are commonly associated with applications of the intermediate COCOMO model, additional attributes are often added by a project manager aware of other organizational (or project) strengths and/or weaknesses. Some common ones include:

Requirements volatilitysome is expected, but too much can be a big problem; Development machine volatilityunstable OS, compilers, CASE tools, and so on; Security requirements Access to datasometimes very difficult; Impact of standards and imposed methods; Impact of physical surroundings.
25

Product of Cost Drivers


C = RELY x DATA x CPLX x TIME x STOR x VIRT x TURN x ACAP x AEXP x PCAP x VEXP x LEXP x MODP x TOOL x SCED

26

27

28

Rationale behind the assigned values of cost drivers

29

Intermediate COCOMO Example 1 A 10 KLOC embedded-mode software product is to perform communications processing functions on a commercial microprocessor. The embedded mode formula gives nominal effort: En = 2.8(10)1.20 = 2.8(15.85) = 44 staffmonths

30

An evaluation of the project environment yields choices for cost driver multiplier values

31

Intermediate COCOMO Example 1 (cont)

The adjustment factor is applied to the nominal effort:


E = 2.8(10)1.20 x C = 44 x 1.17 = 51 staffmonths

32

Intermediate COCOMO Example 2


Problem: A project is estimated at 44 staff-months (SM). Using more capable personnel on the project decreases both the ACAP and PCAP ratings from nominal (1.00) to high (0.86), but the staff cost increases from $5,000 to $6,000 per SM. Assume that all other cost drivers are rated nominal (1.00).
Solution: Effort Adjustment Factor (EAF) = C = RELY x DATA x CPLX x TIME x STOR x VIRT x TURN x ACAP x AEXP x PCAP x VEXP x LEXP x MODP x TOOL x SCED = 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 x 0.86 x 1.00 x 0.86 x 1.00 x 1.00 x 1.00 x 1.00 x 1.00 = 0.74 staff-month adjustment: 44 SM x 0.74 = 32.6

33

Intermediate COCOMO Example 2 (cont)

Conclusion: In this example, upgrading of the personnel more than pays for itself in the form of overall project savings.

34

You might also like