What is the difference between the Base Size Unit and the Function Unit?
The Function Unit is the overall size measure for the project. It makes sense to describe a book as a collection of chapters or a building by the number of floors or rooms it contains. The Function Unit allows estimators to describe a system as a group of functional or logical components (function points, modules, objects, or screens).
The Function unit is defined by three components:
1. A name (SLOC, Function Points, Stories, Use Cases, etc.)
2. A number or count (257 Function Points, 83 Stories).
3. A gearing factor, which is a normalization or scaling factor that relates projects with different Function Units back to a common unit of measure: the Base Size Unit. The Base Size Unit is conceptually similar to the least common denominator (LCD) in mathematics.
Why use a gearing factor at all? The QSM database contains thousands of projects sized in different Function Units. Without a common reference point it would be impossible to make meaningful size comparisons between a project sized in Function Points and one sized in Objects or Requirements.
To go back to our building analogy, people often use floors or rooms to convey a rough idea of the size of various buildings. But a floor of a single-family home is not necessarily the same size as a floor of a large office building. And we can't easily compare a building sized in rooms to one sized in floors without some way to know how big a room is, relative to a floor. To make the comparison meaningful we need to identify a smaller, common size unit (the number of cubic feet per floor or per room, perhaps). Using this base size measure, we can "normalize" the size of a floor or a room to cubic feet. We can compare the size of a 4 story office building to a 2 story house. We can also compare a 2 story house to a 10 room apartment because in both cases, we can convert stories or rooms to cubic feet.
For software projects, the Base Size Unit performs the same function as cubic feet did when we were describing buildings. The number of cubic feet in a floor or room is analogous to the gearing factor, and cubic feet to the Base Size Unit. In previous versions of SLIM tools, the Base Size Unit was always SLOC. If you are developing the system using a statement-oriented programming language, your Base Size Unit will usually be IU (Implementation Unit), a generic unit that represents the most elementary programming step.
If you are developing in a non-statement oriented language or environment, the Base Size Unit field in Global Options allows you to choose an acronym that reflects the work being performed. You should select a Base Size Unit that is roughly equivalent in time/effort to writing a line of code. The gearing factor for the Base Size Unit will always be 1 - it cannot be set by the user.
To set up the sizing units for an estimate, you should do three things:
1. Choose a Base Size Unit in Global Options. Normally there is no reason to change the default unless you prefer another name.
2. Choose a Function Unit on the project environment screen. By default, the Base Size Unit is always the first item in the Function Unit list box. Select the desired function unit from the list box or add a new entry.
3. Enter a gearing factor appropriate for the Base Size Unit and Function Unit you have selected (i.e. the Base Size Units/Function Unit) Some examples are: # of SLOC per Function Point or # of IU per Story Point.
In SLIM-DataManager, you can set the Base Size Unit on the Global Defaults screen.