Friday, October 1, 2010

Use Case Points

Use Case Points Estimations

1.
First we calculate Unadjusted Use Case Points (UUCP):

Unadjusted Use Case Points (UUCP) = Unadjusted Use Case Weight (UUCW) + Unadjusted Actor Weight (UAW)

Unadjusted Use Case Weight (UUCW)

Each use case is categorized as Simple, Average or Complex, and weighted based on the number of transactions they contain - including alternative flows.

Use Case TypeNo of TransactionsWeighting Factor
Simple<=31
Average4 to 72
Complex>=73

Unadjusted Actor Weight (UAW):

In a similar manner, an Actor is classified as Simple, Average or Complex based on their interactions.

Actor TypeWeighting Factor
Simple1
Average2
Complex3

2.
Find out and compute the Technical Factors:

The total effort to develop a system is also influenced by technical factors as you see in the table below for example a distributed system will take more effort to develop in comparison to a non-distributed system.

FactorDescriptionWeight
T1Distributed System2
T2Performance objectives2
T3End-user efficiency1
T4Complex processing1
T5Reusable code1
T6Easy to install0.5
T7Easy to use0.5
T8Portable2
T9Easy to change1
T10Concurrent use1
T11Security1
T12Access for third parties1
T13Training needs1

The weighted assessments for these twelve individual factors are next summed into what is called the TFactor. The TFactor is then used to calculate the
Technical Complexity Factor, TCF, as follows:

TCF = 0.6 + (0.01*TFactor)

3.
Find out and compute the Environmental Factors:

Environmental factors also play an important role in affecting the size of a project e.g. The motivation level of the team, their experience with the application, and other factors affect the calculation of use case points.

Environmental FactorDescriptionWeight
E1Familiarity with UML1.5
E2Application Experience0.5
E3Object Oriented Experience1
E4Lead analyst capability0.5
E5Motivation1
E6Stable Requirements
2
E7Part-time workers-1
E8Difficult Programming language2

The weighted assessments for these eight individual factors are summed into what is called the EFactor. The EFactor is then used to calculate the Environment Factor, EF, as follows:

EF=1.4 +( -0.03 x EFactor)


Putting it all together:
UCP =UUCW * TCF * EF

4.
We cannot, however, go to a project sponsor who has asked how long a project will take and give the answer (for example) "545 use case points" and leave it at that. From that estimate of size we need to derive an appropriate duration for the project. Deriving duration is simple—all we need to know is the team’s rate of progress through the use cases.

Karner originally proposed a ratio of 20 hours per use case point. This means that our example of 545 use case points translates into 10,900 hours of development work.

More on Use Case Points:

Use Case Points 1
Use Case Points 2