← All articles

Design and Modeling

Use Case Point Estimation

A real-life example of estimating a project with use case points.

Personnel Processing Application (PPA)

Project Estimation for Retraining Module

Summary

Number Full-time Developers Time to Complete (in months)
1 24
2 14
3 11
4 10

Table 1: PPA Estimate using an Enterprise Architecture (built from scratch)

Number Full-time Developers Time to Complete (in months)
1 6
2 4
3 3
4 3

Table 2: PPA Estimate using the existing architecture

Introduction to the Estimation Method

The Use Case Point (UCP) estimation method was used to produce the estimate from the project’s use cases. The UCP method analyzes the project’s use case actors, scenarios and various technical and environmental factors and abstracts them into an equation.

The UCP equation is composed of three variables:

  1. Unadjusted Use Case Points (UUCP).
  2. The Technical Complexity Factor (TCF).
  3. The Environment Complexity Factor (ECF).

According to industry usage, the UCP equation is generally accurate to within 20%.

The necessary steps to generate the estimate based on the UCP method are:

  1. Determine and compute the Unadjusted Use Case Points.
  2. Determine and compute the Technical Complexity Factors.
  3. Determine and compute the Environmental Factors.
  4. Determine the Productivity Factor.
  5. Compute the estimated number of hours.

Estimation Procedure

The PPA SRM was analyzed to estimate the number of use cases and actors which became the foundation for the estimate. In reality, the number of use cases is likely higher.

For purposes of this document the following definitions apply:

Actors

  1. Military Member: Active Duty, Reserve Guard
  2. External Reviewer: Anyone required review request before submission to Internal Reviewer
  3. Internal Reviewer: Air Force Contact Center (AF CC), Business Process Owners (BPO), Personnel Services, Delivery Support Office (PSD SO)
  4. System: Infrastructure services, i.e; Logging, Monitoring, Security, Data Source services, etc.
Actor Use Case Complexity
Military Member Select PPA Request Type 1. systems displays list of requests Simple
Enter Required Data 1. system populates form from data sources 2. member completes online form Average
Add Attachment 1. member completes required forms 2. member attaches form to request 3. system processes attachment Average
Print Request 1. system prints the request form Simple
Save Changes 1. system display warning 2. system saves request into PPA data source Average
Submit to AF CC 1. validate form elements 2. display warning 3. display disposition and confirmation Average
Cancel Request 1. update data source with cancelled date Simple
Close and Disregard 1. Display warning Simple
Refer Request 1. validate email 2. system emails reviewer Average
Chat Complex
External Reviewer Access PPA 1. reviewer uses link in email to connect to request Simple
Return to Member 1. systems notifies member by email Average
Note: Remaining use cases are the same as for Military Member
Internal Reviewer Select PPA 1. reviewer selects request from PPA in-box. 2. system displays Agent Review Screen Simple
Finalize and Approve 1. system notifies military member and reviewer(s) 2. change status in data source Average
Add Reports 1. Systems saves sql query to data source Average
Generate Reports 1. System executes stored reports Simple
Maintain Agent 1. add 2. delete 3. change permissions 4. change basic information Complex
Maintain Preformatted Comments 1. New 2. Change 3. Save Average
Assign Agent Average
Run Ad Hoc reports Average
Display Cases Average
Select Important Links Simple
Note: Remaining use cases are the same as for External Reviewer

Table 3: Use Cases by Actors

New Architecture

1. Determine and compute the Unadjusted Use Case Points

Unadjusted Use Case Points are computed based on two computations:

  1. The Unadjusted Use Case Weight (UUCW) based on the total number of activities (or steps) contained in all the use case scenarios.
  2. The Unadjusted Actor Weight (UAW) based on the combined complexity of all the actors in all the use cases.

Base on the above requirements analysis, the PPA project has the following values.

Use Case Type Description Weight Number of Use Cases Result
Simple Simple user interface; touches only a single database entity; its success scenario has 3 steps or less; its implementation involves less than 5 classes. 5 8 40
Average More interface design; touches 2 or more database entities; between 4 to 7 steps; its implementation involves between 5 to 10 classes. 10 12 120
Complex Complex user interface or processing; touches 3 or more database entities; over 7 steps; its implementation involves more than 10 classes. 15 2 30
Total UUCW 190

Table 4: Computing UUCW

Actor Type Description Weight Number of Actors Result
Simple The Actor represents another system with a defined Application Programming Interface (API). 1 0 0
Average The Actor represents another system interacting through a protocol, like Transmission Control Protocol/Internet Protocol (TCP/IP). 2 1 2
Complex The Actor is a person interacting via an interface. 3 3 9
Total UAW 11

Table 5: Computing UAW

The UUCP is computed by adding the UUCW and the UAW.

UUCP = 190 + 11 = 201

2. Determine and compute the Technical Complexity Factors

Thirteen standard technical factors exist to estimate the impact on productivity that various technical issues have on a project. For each project, the technical factors are evaluated by the development team and assigned a perceived complexity value from 0 to 5. The perceived complexity factor is subjectively determined by the development team’s perception of the project’s complexity – concurrent applications, for example, require more skill and time than single threaded applications. A perceived complexity of 0 means the technical factor is irrelevant for this project; 3 is average; 5 is strong influence. When in doubt, use 3.

Technical Factor Description Weight Perceived Complexity Calculated Factor (weight*perceived complexity)
T1 Distributed System 2 4 8
T2 Performance 1 4 4
T3 End User Efficiency 1 3 3
T4 Complex Internal Processing 1 1 1
T5 Reusability 1 4 4
T6 Easy to install 0.5 0 0
T7 Easy to use 0.5 3 1.5
T8 Portable 2 0 0
T9 Easy to change 1 4 4
T10 Concurrency 1 0 0
T11 Special security features 1 0 0
T12 Provides direct access for third parties 1 0 0
T13 Special user training facilities are required 1 0 0
Technical Total Factor 25.5

Table 6: Calculating the Technical Total Factor

Figure 1The TCF formula is:

Where Constant 1 (C1)= 0.6; Constant 2 (C2)=.01; W = Weight; F = perceived complexity factor.

The TCF for the PPA project = 0.6 + (.01 * 25.5) = 0.855

3. Determine and compute the Environmental Complexity Factors

The Environmental Complexity Factor provides a concession for the development team’s experience. More experienced teams will have a greater impact on the UCP computation than less experienced teams.

The development team determines each factor’s perceived impact based on their perception the factor has on the project’s success. A value of 0 means the factor has a strong, negative impact for the project; 3 is average; 5 means it has a strong, positive impact. For example, team members with little or no motivation for the project will have a strong negative impact (0) on the project’s success while team members with strong object oriented experience will have a strong, positive impact (5) on the project’s success.

Each factor’s weight is multiplied by its perceived impact to produce its calculated factor. The calculated factors are summed to produce the Environmental Total Factor.

Environmental Factor Description Weight Perceived Impact Calculated Factor (weight*perceived complexity)
E1 Familiarity with Architecture 1.5 2 3
E2 Familiarity with Design Tools 0.5 3 1.5
E3 Analyst Capability 0.5 3 1.5
E4 Application Experience 0.5 3 1.5
E5 Object Oriented Experience 1 3 3
E6 Motivation 1 5 5
E7 Difficult Programming language -1 0 0
E8 Stable Requirements 2 5 10
Environmental Total Factor 25.5

Table 7: Calculating the Environmental Total Factor

To produce the final ECF, two constants are computed with the Environmental Total Factor. The equation is:

Figure 2

Where Constant 1 (C1)= 1.4; Constant 2 (C2)= -0.03; W = Weight; F = Perceived Impact.

For the PPA project, the ECF = 1.4 + (-0.03 * 25.5) = 0.635

4. Determine the Productivity Factor

The Productivity Factor (PF) is the ratio of development man-hours needed per use case point. Statistics from past projects provide the data to estimate the initial Productivity Factor. For instance, if a past project with a UCP of 120 took 2200 hours to complete, divide 2200 by 120 to obtain a Productivity Factor of 18 man-hours per use case point.

Since no historical data has been collected, and it’s a brand new team use a the industry recommended value of 20 for the first project.

5. Calculating the Estimate

definitions used for estimation:

  • man-day = 6 hours
  • man-week = 30 hours or 5 man-days
  • one month = 4.3 calendar weeks

To calculate the UCP, multiply all the variables of the equation.

The UCP total for the PPA project is: 201 * 0.855 * 0.635 * 20 = 2183 hours.

Dividing the estimate by 30 hours results in 73 man-weeks. Therefore, it would take one developer around 17 months (73/4.3) to complete the project.

Number Full-time Developers Time to Complete (in months)
1 17
2 10
3 8
4 7

Table 8: Unadjusted Estimations

However, these estimates are relevant to implement the business logic only. It assumes an architectural infrastructure is already in place and the design has completed. If not, the estimate needs to be increased to include the time to implement the infrastructure.

Infrastructure: 40% (subjective based on past experience*)*

Therefore, accounting for these values produces a new estimate:

Number Full-time Developers Time to Complete (in months)
1 24
2 14
3 11
4 10

Table 9: Adjusted Estimations

Existing Architecture

1. Determine and compute the Unadjusted Use Case Points

Nothing changes from the new architecture; the values remain the same.

2. Determine and compute the Technical Complexity Factors

Technical Factor Description Weight Perceived Complexity Calculated Factor (weight*perceived complexity)
T1 Distributed System 2 1 2
T2 Performance 1 1 1
T3 End User Efficiency 1 3 3
T4 Complex Internal Processing 1 1 1
T5 Reusability 1 1 1
T6 Easy to install 0.5 0 0
T7 Easy to use 0.5 3 1.5
T8 Portable 2 0 0
T9 Easy to change 1 1 1
T10 Concurrency 1 0 0
T11 Special security features 1 0 0
T12 Provides direct access for third parties 1 0 0
T13 Special user training facilities are required 1 0 0
Technical Total Factor 10.5

Table 10: Calculating the Technical Total Factor

The TCF for the PPA project = 0.6 + (.01 * 10.5) = 0.705

3. Determine and compute the Environmental Complexity Factors

Environmental Factor Description Weight Perceived Impact Calculated Factor (weight*perceived complexity)
E1 Familiarity with Architecture 1.5 5 5
E2 Familiarity with Design Tools 0.5 5 5
E3 Analyst Capability 0.5 5 5
E4 Application Experience 0.5 4 2
E5 Object Oriented Experience 1 5 5
E6 Motivation 1 5 5
E7 Difficult Programming language -1 5 0
E8 Stable Requirements 2 5 10
Environmental Total Factor 37

Table 11: Calculating the Environmental Total Factor

The ECF = 1.4 + (-0.03 * 37) = 0.29

4. Determine the Productivity Factor

Nothing changes from the new architecture; the Productivity Factor remains the same.

5. Calculating the Estimate

The UCP is: 201 * 0.705 * 0.29 * 20 = 822 hours.

Dividing the estimate by 30 hours (adjust as necessary) results in 27 man-weeks. Therefore, it would take one developer around 6 months (27/4.3) to complete the project.

Number Full-time Developers Time to Complete (in months)
1 6
2 4
3 3
4 3

Table 12: Unadjusted Estimations