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:
- Unadjusted Use Case Points (UUCP).
- The Technical Complexity Factor (TCF).
- 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:
- Determine and compute the Unadjusted Use Case Points.
- Determine and compute the Technical Complexity Factors.
- Determine and compute the Environmental Factors.
- Determine the Productivity Factor.
- 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
- Military Member: Active Duty, Reserve Guard
- External Reviewer: Anyone required review request before submission to Internal Reviewer
- Internal Reviewer: Air Force Contact Center (AF CC), Business Process Owners (BPO), Personnel Services, Delivery Support Office (PSD SO)
- 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:
- The Unadjusted Use Case Weight (UUCW) based on the total number of activities (or steps) contained in all the use case scenarios.
- 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
The 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:

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