Software Cost Estimation With Use Case Points
Software Cost Estimation With Use Case Points
Software Cost Estimation With Use Case Points
[Update: Welcome carnival readers, thanks for the visit, we hope you like this and
the other articles here and stick around to share with the community! Scott]
Estimating the amount of work required to deliver software is hard. Estimating the
amount of work in the very early stages of a project is even harder. A method was
developed to estimate the amount of work required by analyzing what the system will
allow its users to do. That method is called Estimating With Use Case Points. This
article is an introduction to the concept.
Why Is Estimation Hard?
Predicting the amount of work required to complete a job requires an understanding
of the job. At the beginning of a software project, people dont have a detailed
understanding of what the job actually entails. Imagine that your job is to create a
website that allows people to create, manage and share their family trees (details of
their ancestry). With that little amount of information, you cant reliably predict how
much work is involved. You need to know a lot more.
How Do I Start The Estimation Process?
One way you can approach the work is to start by defining all the things the software
will do. You can list out the functionality, and then estimate the amount of effort
required to create that functionality. With experienced team members you can get
good estimates of how much effort is required to create the functionality. The
problem is that you dont know what the functionality needs to be at least not at the
beginning of a project.
The functionality you need derives directly from what the software needs to do. What
the software needs to do is meet the goals of the users. OK, so the first step is to
define therelevant goals of the users. Wait the first step is to define who the
primary users are.
When your approach is user-centric (like this one), you can incorporate some of the
ideas from the interaction design camp.
In this case, you use a persons practical goals to identify the use cases that support
the goals of your primary users and secondary users. You can narrow down that list
of use cases to only include those that involve your software.
3. Define the use cases.
You can use any of a number of formats for documenting the use cases.
You can document informal use cases (free informal use case template for
MS Word).
For the purpose of software cost estimation, informal use cases are the fastest to
define.Formal use cases provide a way to capture additional detail that will help to
validate the complexity of the use cases. The additional detail available in the formal
use case document is not, however, needed to create a project cost estimate using
We just completed a series of articles detailing how to use Use Case Points for
software cost estimation. In this article we have a free MS Excel Spreadsheet for
calculating use case points. Download it today to make it easier to do your project
cost estimations.
Free Excel Spreadsheet Download
Download the use case point spreadsheet (zipped) for free today from Tyner Blain.
Background
This is the seventh article in a series on applying use case points to create reliable
software cost estimates. What makes use case points different is that they allow the
project cost estimation to happen much earlier in the process. This cost estimation
technique was developed by Gustav Karner for Rational Software Corporation in the
mid 1990s.
The introduction to software cost estimation is the right place to start if you came to
this article first. In the previous articles we discussed:
1. Technical Factors of the Implementation. Characterizing (non-functional)
requirements of the software.
2. Environmental Factors. Describing the team and the process.
3. Use Case Quantity and Complexity. Representing what the software is
asked to accomplish.
4. Actor Quantity and Complexity. Enumerating the users of the software.
5. Final Calculations. Doing the math.
The free excel spreadsheet in this article will do the math for you. It provides an easy
way to organize (and edit) your estimates, and presents the final calculation results
for you.
Using the Use Case Points Spreadsheet
The spreadsheet has five tabs, one for each area of data collection and processing.
The tabs map directly to the individual articles in the series (linked above). Each tab
also includes links back to the articles for future review.
To calculate the use case points, you only have to fill in the highlighted (yellow) cells
in each tab of the spreadsheet. All of the math is done for you.
UCP Technical Complexity Factors
Enter the relative magnitude of each technical factor. Brief descriptions of each factor
are included for quick reference.
Note that the complexity values are selected from a drop-down instead of being
typed in. This allows for automatic calculation, just from listing the use cases.
Enter the names and types of all actors that will use the system.
The actor analysis section also uses a drop-down to select the type of actor.
UCP Final Calculation
Return to the final calculation tab at the front of the spreadsheet.
All of the work has been done for you. If you want to use a different ratio for
converting from use case points to hours of effort, just change the highlighted value.
Conclusion
This concludes our series on software cost estimation with use case points. With this
free excel spreadsheet, you dont have an excuse for not calculating the use case
points on your project. The time you will invest is minimal. The value may be
substantial.