In contrary to many informal techniques like Planning Poker, Team Estimation Game, or even Expert Judgement there are many formal Algorithmics (like Use Case Story Points) that were invented to help Managers estimate projects.
Use Case Story Points
Estimating with Use Case Points is an academic widely described technique and this is a cheat sheet for using it.
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.
Technical Complexity
We need to assign from 0 (irrelevant) to 5 (very important) points to cases from T1 to T13 and multiply our score by weight.
FACTOR | DESCRIPTION | WEIGHT |
---|---|---|
T1 | Distributed system | 2.0 |
T2 | Response time/performance objectives | 1.0 |
T3 | End-user efficiency | 1.0 |
T4 | Internal processing complexity | 1.0 |
T5 | Code reusability | 1.0 |
T6 | Easy to install | 0.5 |
T7 | Easy to use | 0.5 |
T8 | Portability to other platforms | 2.0 |
T9 | System maintenance | 1.0 |
T10 | Concurrent/parallel processing | 1.0 |
T11 | Security features | 1.0 |
T12 | Access for third parties | 1.0 |
T13 | End-user training | 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)
Environmental complexity
FACTOR | DESCRIPTION | WEIGHT |
---|---|---|
E1 | Familiarity with development process used | 1.5 |
E2 | Application experience | 0.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 |
E7 | Part-time staff | -1.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)
Result
We calculate Use Case Points based on all data yet collected.
UCP = (UUCW + UAW) x TCF x EF
Time conversion
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 count 20 hours per use case point.
When to use this Use Case Story Points?
This method can be used with success when you have all user stories written upfront, so it will be great for any fixed scope project. Perfect in any Waterfall environment.