This is in continuation of the blog series on `Effort Estimation Techniques.
History of Use-Case Points
The Use-Case Point estimation method was introduced by Gustav Karner in 1993. The work was later licensed by Rational Software that merged into IBM.
Use-Case Points Counting Process:
The Use-Case Points counting process has the following steps:
- Calculate unadjusted UCPs
- Adjust for technical complexity
- Adjust for environmental complexity
- Calculate adjusted UCPs
Step 1: Calculate Unadjusted Use-Case Points.
You calculate Unadjusted Use-Case Points first, by the following steps:
- Determine Unadjusted Use-Case Weight
- Determine Unadjusted Actor Weight
- Calculate Unadjusted Use-Case Points
Step 1.1 − Determine Unadjusted Use-Case Weight.
Step 1.1.1 − Find the number of transactions in each Use-Case.
If the Use-Cases are written with User Goal Levels, a transaction is equivalent to a step in the Use-Case. Find the number of transactions by counting the steps in the Use-Case.
Step 1.1.2 − Classify each Use-Case as Simple, Average or Complex based on the number of transactions in the Use-Case. Also, assign Use-Case Weight as shown in the following table:
Use-Case Complexity | Number of Transactions | Use-Case Weight |
Simple | ≤3 | 5 |
Average | 4 to 7 | 10 |
Complex | >7 | 15 |
Step 1.1.3 − Repeat for each Use-Case and get all the Use-Case Weights. Unadjusted Use-Case Weight (UUCW) is the sum of all the Use-Case Weights.
Step 1.1.4 − Find Unadjusted Use-Case Weight (UUCW) using the following table
Use-Case Complexity | Use-Case Weight | Number of Use-Cases | Product |
Simple | 5 | NSUC | 5 × NSUC |
Average | 10 | NAUC | 10 × NAUC |
Complex | 15 | NCUC | 15 × NCUC |
Unadjusted Use-Case Weight (UUCW) | 5 × NSUC + 10 × NAUC + 15 × NCUC |
Where, NSUC is the number of Simple Use-Cases.
NAUC is the no. of Average Use-Cases.
NCUC is the no. of Complex Use-Cases.
Step 1.2 − Determine Unadjusted Actor Weight.
An Actor in a Use-Case might be a person, another program, etc. Some actors, such as a system with defined API, have very simple needs and increase the complexity of a Use-Case only slightly.
Some actors, such as a system interacting through a protocol have more needs and increase the complexity of a Use-Case to a certain extent.
Other Actors, such as a user interacting through GUI have a significant impact on the complexity of a Use-Case. Based on these differences, you can classify actors as Simple, Average and Complex.
Step 1.2.1 − Classify Actors as Simple, Average and Complex and assign Actor Weights as shown in the following table:
Actor Complexity | Example | Actor Weight |
Simple | A System with defined API | 1 |
Average | A System interacting through a Protocol | 2 |
Complex | A User interacting through GUI | 3 |
Step 1.2.2 − Repeat for each Actor and get all the Actor Weights. Unadjusted Actor Weight (UAW) is the sum of all the Actor Weights.
Step 1.2.3 − Find Unadjusted Actor Weight (UAW) using the following table −
Actor Complexity | Actor Weight | Number of Actors | Product |
Simple | 1 | NSA | 1 × NSA |
Average | 2 | NAA | 2 × NAA |
Complex | 3 | NCA | 3 × NCA |
Unadjusted Actor Weight (UAW) | 1 × NSA + 2 × NAA + 3 × NCA |
Where,
NSA is the no. of Simple Actors.
NAA is the no. of Average Actors.
NCA is the no. of Complex Actors.
Step 1.3 − Calculate Unadjusted Use-Case Points.
The Unadjusted Use-Case Weight (UUCW) and the Unadjusted Actor Weight (UAW) together give the unadjusted size of the system, referred to as Unadjusted Use-Case Points.
Unadjusted Use-Case Points (UUCP) = UUCW + UAW