Estimating with Use Case Points is widely described technique and purpose of this note is to prepare simple summary aka. cheat sheet for using it. If you are not familiar with the technique please read additional sources.
Unadjusted Use Case Weight
First of all, write down all use cases. Afterward, count transactions inside them and based on that assign them to correct group.
- Simple use case with 3 or fewer transactions weight 5 points.
- Average use case with 4 to 7 transactions weight 10 points.
- Simple use case with 7 or more transactions weight 15 points.
UUCW is summary of all points from all use cases.
Unadjusted actor weight
We need to count all the actors in our system. We assign them one by one to correct group.
- A simple actor is another system through API and weight 1 point.
- An average actor is another system through protocol or human through a text interface. He weights 2 points.
- A complex actor is basically human through GUI. Here we give 3 points.
UAW is a summary for all actors.
We need to assign from 0 (irrelevant) to 5 (very important) points to cases from T1 to T13 and multiply our score by weight.
|T2||Response time/performance objectives||1.0|
|T4||Internal processing complexity||1.0|
|T6||Easy to install||0.5|
|T7||Easy to use||0.5|
|T8||Portability to other platforms||2.0|
|T12||Access for third parties||1.0|
After calculation temporary summary (TFactor) of multiplication weights with scores, we can count the Technical (Complexity) Factor.
TCF = 0.6 + (0.01 x TFactor)
|E1||Familiarity with development process used||1.5|
|E3||Object-oriented experience of the team||1.0|
|E4||Lead analyst capability||0.5|
|E5||The motivation of the team||1.0|
|E6||Stability of requirements||2.0|
|E8||Difficult programming language||-1.0|
Same as before we assign points from 0 to 5 to each position from E1 to E8 and multiply with Weight. After summing we get EFactor. Then we can count
EF = 1.4 + (-0.03 x EFactor)
We calculate Use Case Points based on all data yet collected.
UCP = (UUCW + UAW) x TCF x EF
There are many approaches to convert UCP to time. Most accurate is, of course, empiric one (UCP velocity based on previous projects). If you can’t base on empiric data, then use one of the following:
- Count 20 hours per use case point.
- Use other technique from sources.