# Effort Estimation Technique

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 Weight

Simple≤35
Average4 to 710
Complex>715

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

#### Product

Simple5NSUC5 × NSUC
Average10NAUC10 × NAUC
Complex15NCUC15 × 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 Weight

SimpleA System with defined API1
AverageA System interacting through a Protocol2
ComplexA User interacting through GUI3

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 −

#### Product

Simple1NSA1 × NSA
Average2NAA2 × NAA
Complex3NCA3 × 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