Use Case Points (UCP) Guide
Overview
Use Case Points is a software estimation technique that calculates project effort based on use cases and complexity factors.
Step-by-Step Calculation Process
Step 1: Count Unadjusted Use Case Points (UUCP)
Use Case Complexity Classification
Type | Description | Weight |
Simple | 1-3 transactions | 5 |
Average | 4-7 transactions | 10 |
Complex | 8+ transactions | 15 |
Actor Complexity Classification
Type | Description | Weight |
Simple | System interface (API) | 1 |
Average | Protocol interface (HTTP, database) | 2 |
Complex | Human user interface (GUI) | 3 |
UUCP Calculation
UUCP = (Use Case Points) + (Actor Points)
Step 2: Apply Technical Complexity Factor (TCF)
Technical Factors
Factor | Description | Weight | Rating (0-5) |
T1 | Distributed system | 2 | |
T2 | Response time/performance | 2 | |
T3 | End-user efficiency | 1 | |
T4 | Complex internal processing | 1 | |
T5 | Reusable code | 1 | |
T6 | Easy to install | 0.5 | |
T7 | Easy to use | 0.5 | |
T8 | Portable to other platforms | 2 | |
T9 | Easy to change | 1 | |
T10 | Concurrent users | 1 | |
T11 | Security features | 1 | |
T12 | Access for third parties | 1 | |
T13 | Training needs | 1 | |
TCF Calculation
TFactor = Sum of (Weight × Rating)
TCF = 0.6 + (0.01 × TFactor)
Step 3: Apply Environmental Complexity Factor (ECF)
Environmental Factors
Factor | Description | Weight | Rating (0-5) |
E1 | Familiar with development process | 1.5 | |
E2 | Application experience | 0.5 | |
E3 | Object-oriented experience | 1 | |
E4 | Lead analyst capability | 0.5 | |
E5 | Motivation | 1 | |
E6 | Stable requirements | 2 | |
E7 | Part-time staff | -1 | |
E8 | Difficult programming language | -1 | |
ECF Calculation
EFactor = Sum of (Weight × Rating)
ECF = 1.4 + (-0.03 × EFactor)
Step 4: Calculate Use Case Points
Step 5: Convert to Effort
Person-Hours = UCP × Productivity Factor
Productivity Factor Guidelines
Project Type | Hours per UCP |
Simple project | 20 |
Average project | 28 |
Complex project | 36 |
Quick Reference Example
Sample Project
- 5 Simple Use Cases (5 × 5 = 25)
- 8 Average Use Cases (8 × 10 = 80)
- 3 Complex Use Cases (3 × 15 = 45)
- 2 Simple Actors (2 × 1 = 2)
- 3 Average Actors (3 × 2 = 6)
- 1 Complex Actor (1 × 3 = 3)
UUCP = 25 + 80 + 45 + 2 + 6 + 3 = 161
Technical Factors (Example)
- T1=3, T2=4, T3=3, T4=2, T5=3, T6=2, T7=3, T8=1, T9=3, T10=4, T11=3, T12=1, T13=2
- TFactor = (2×3)+(2×4)+(1×3)+(1×2)+(1×3)+(0.5×2)+(0.5×3)+(2×1)+(1×3)+(1×4)+(1×3)+(1×1)+(1×2) = 39
- TCF = 0.6 + (0.01 × 39) = 0.99
Environmental Factors (Example)
- E1=4, E2=3, E3=3, E4=3, E5=4, E6=2, E7=1, E8=2
- EFactor = (1.5×4)+(0.5×3)+(1×3)+(0.5×3)+(1×4)+(2×2)+(-1×1)+(-1×2) = 18.5
- ECF = 1.4 + (-0.03 × 18.5) = 0.845
Final Calculation
UCP = 161 × 0.99 × 0.845 = 135 Use Case Points
Effort = 135 × 28 = 3,780 person-hours
Best Practices
Accuracy Tips
- Have experienced analysts classify use cases
- Be consistent in complexity classification
- Review ratings with the development team
- Consider project-specific productivity factors
Common Pitfalls
- Inconsistent use case granularity
- Overly optimistic environmental ratings
- Ignoring project-specific factors
- Not updating estimates as requirements evolve
Validation
- Compare with historical project data
- Cross-check with other estimation methods
- Review complexity ratings regularly
- Adjust productivity factors based on team experience
Integration with Other Methods
Use Case Points + COCOMO
- Use UCP for initial sizing
- Apply COCOMO adjustments for technology
- Combine for more robust estimates
Use Case Points + Planning Poker
- Use UCP for baseline estimates
- Validate with team planning poker sessions
- Reconcile differences through discussion