Skip to main content
Offshore Software Development

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 Complexity

Number of Transactions

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

Use-Case Complexity

Use-Case Weight

Number of Use-Cases

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 Complexity

Example

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 −

Actor Complexity

Actor Weight

Number of Actors

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

Seshagiri Deshpande

Seshagiri Deshpande

Seshagiri Deshpande works as Technical Manager with Trigent Software. With over 18 years of experience in the software industry, he began his career as an instructor with APTECH Pvt. Ltd. Over the years he has worked with AP State Technology Services, Satyam Computers, Aztec Software, Ideasurge and CrimsonLogic and been continually recognized for his commitment and hard work. In his spare time he listens to music, surfs the internet and keep himself updated with the latest technologies.