# Productivity Fornulas by Richard_Cataman

VIEWS: 816 PAGES: 8

• pg 1
```									                                                    Metrics Formulas

This appendix lists a number of the metrics that involve more than simple average
(mean) or percentage calculations.

Code Growth
This metric is not actually used in the tables in the document, but has
been included for reference purposes. Code growth is defined and
calculated as:

(latest _ size _ estimate) − ( Initial _ Size _ Estimate)
CG =
( Initial _ Size _ Estimate)

Earned Value
Earned value (EV) is a very important tracking metric which
measures the actual amount of work accomplished (regardless of the
effort expended or the time elapsed).
Earned value is based on the Overall Proportion Complete (OPC).
Both EV and OPC require the following input data:
• The labour rates (PH/SLOC) for each activity in the development
process.
• The proportion of software that has passed through each activity.
The proportion of software that has passed through an activity i is
defined as follows:

units_ through_ activity _ i
Pi =
total _ number _ of _ units_ required
Units can be code modules, SLOC, LOD, function points, or any
other measurement of the work to be done.
Given these inputs, Overall Proportion Complete is
Appendix D - Metrics Formulas 2

p
∑ CiPi
OPC = i =1
p
∑ Ci
i =1
where i represents an activity from activities 1 through p, and Ci is
the labour rate (PH/SLOC) for activity i.
Once you have calculated OPC, calculate earned values as

 p 
EV = Size • ∑ Ci •
        OPC
      
i = 1 
where size is the estimated size in SLOC. Use this formula to
measure the earned value of each estimated code module or function
block (or software component), or to sum the EVs for each code
module to get a total EV.

Estimate at Completion
The estimate at completion (EAC) is an estimate of the completed
cost of the project. Initially the EAC is equal to the initial estimated
cost (IEC). Once the project has started, the EAC is equal to the cost
to date (CTD) plus the estimated cost to complete (ETC). In effect,
EAC = CTD + ETC
State all costs in the units of effort appropriate to the company.
You take the value of CTD directly from the project database.
Calculate the ETC as

 p 
 Ci •1 − OPC )
ETC = S •
     ∑
(
i = 1 
where S is the estimated size, OPC is the Overall Percentage
Complete, and Ci is the labour rate (PH/SLOC) for activity i.
The final ETC will be given in the units of effort used in the
calculations.
Appendix D - Metrics Formulas 3

Labour Rate
The labour rate is the cost (measured as effort) to put one unit of
product size through an activity. Each activity will be characterized
by its own labour rate. In this document, the labour rate is presented
as PH/SLOC (person hours per line of source code). PH/SLOC or
PM/KSLOC (person months per thousand lines of source code) are
the most common ratios used.

Overall Proportion of Work Complete
Overall Proportion of work Complete (OPC) illustrates the degree of
completeness of a project. It requires the following input data:
• The labour rates (PH/SLOC) for each activity in the development
process.
• The proportion of software that has passed through each activity.
The proportion of software that has passed through an activity i is
defined as follows:

units_ through_ activity _ i
Pi =
total _ number _ of _ units_ required
Units can be code modules, SLOC, LOD, function points, or any
other measurement of the work to be done.
Given these inputs, Overall Proportion Complete is
p
∑  CiPi
OPC = i = 1
p
∑  Ci
i =1
where i represents an activity from activities 1 through p, and Ci is
the labour rate (PH/SLOC) for activity i.
Appendix D - Metrics Formulas 4

Productivity
Productivity is the inverse of the labour rate, or rather, the number of
size units that can be put through an activity with a given effort. In
this document, productivity is measured as SLOC/PH (lines of source
code per person hour).
Glossary   5

Glossary

Term            Definition
activity        The phases that make up the software development process are called activities.
Examples of activities might be detailed design, system test, or implementation.
Activities typically have inputs such as design documents and outputs such as
code.
budget          The budget is the amount of money in dollars that is allocated to the project.
category        An attribute of the software product which indicates the type of software being
developed. Examples could be embedded software, user interface software or
database application software. Each software category is assigned a weight
indicating its relative complexity.
CMM             The Capability Maturity Model (CMM) is a process maturity framework
developed by the SEI to help organizations improve their software process. It
was initially created to provide the U.S. government with a method for assessing
the capability of their software contractors.
code (new)      New code is code that is created or modified during the project.
code (reused)   Reused code is code that exists and can be used without modification for the
project.
defect          A defect is a problem detected in the output from an activity, such as a bug in
software or a flaw in design.
defect type     Defect type is an attribute of a defect used to group defects that are similar.
Example defect types are coding error, design flaw, and interface error. You
should specify valid defect types in the software development process
description.
Glossary     6

Term              Definition
development       Development staff is a classification of staff members.
staff             Typically, the development staff is composed of the engineers and programmers
who are developing the core project.
deviation         A deviation from the software development process occurs any time the
procedures of the development process are not followed.
earned value      Earned value (EV) is a tracking metric which measures the actual amount of
work accomplished, regardless of the effort expended or the time elapsed.
experience level An experience level is an attribute of a staff member. It indicates a staff
s
member’ experience (relative to other staff members).
failure           A failure is a run-time error which renders the program or system non-
operational.
Gantt chart       A Gantt chart is a standard scheduling chart that depicts work tasks as a
sequence of horizontal time bars.
I/O transaction An I/O transaction typically refers to one bundle of data which is accepted and
processed by the system. You should define I/O transactions explicitly for the
system being developed.
inspected code    Inspected code is code which has been subjected to a visual verification or
walkthrough by a group of impartial designers.
KLOD              KLOD is one thousand lines of documentation. This refers to non-executable
text that is placed in a program source file to explain details of the operation of
the program.
KSLOC             KSLOC is one thousand source lines of code, and is a measurement of program
size.
LOD               LOD is lines of documentation. This refers to non-executable text that is placed
in a program source file to explain details of the operation of the program.
labour rate       The labour rate is the cost (measured as effort) to put one unit of product size
through an activity. Each activity will be characterized by its own labour rate. In
this document, the labour rate is presented as PH/KSLOC.
Glossary     7

Term           Definition
manager        Manager is a classification of a staff member. Typically, a manager is a person
milestone      Milestones are check points in the development process. A milestone is
associated with a rigid set of criteria. When these criteria are met, the milestone
is said to have been reached.
person hours   A person hour is a measurement of effort. One person who works for one hour
will have performed one person hour worth of work. This measure is often
abbreviated as PH.
PERT chart     A PERT chart is a standard scheduling chart that shows work tasks as boxes.
Lines between the boxes show the dependencies between tasks.
PH             PH is person hours.
process        The process, or software development process, is the method used to convert
initial project requirements into a final system. The process typically consists of
a number of phases, called activities.
process        A process exception report is a form that must be filled
exception      out, and approved each time a staff member wishes to
report         deviate from the documented software development process.
product        Product complexity is defined as the relative difficulty in
complexity     creating the product compared to other software         products.
productivity   Productivity is the inverse of the labour rate, or rather, the number of size units
that can be put through an activity with a given effort. In this document,
productivity is measured as KLSOC/PH.
requirements   Requirements are desired characteristics of the software being developed. The
first activity in most software processes is one which identifies and documents
the requirements. You should specify and number requirements individually for
reference during development.
rework         Rework refers to any work that is performed to correct defects.
Glossary    8

Term             Definition
SEI              The Software Engineering Institute (SEI) is a federally funded (U.S.) research
and development centre sponsored by the U.S. Department of Defense. The SEI
and its founder, Watts Humphrey, created the CMM.
SLOC             SLOC is source lines of code (or lines of source code), and is a measurement of
program size.
staff            The staff is the group of people who are contributing time to a project. Staff can
be categorized as management, support, or development.
staff member     A staff member is one person from the staff.
support staff    Support staff is a classification of staff members. Typically, support staff are
those who perform tasks which assist the development and/or management staff.
according to the type of work being performed. Typical classifications are
management, development, and support.
tests            Tests are the individual tests specified in a test plan document. Each test is
typically described by 1) an initial system state, 2) a set of actions to be
performed, and 3) the expected results of the test.
tests executed   Tests are said to have been executed if the described set of actions have been
performed.
tests passed     Tests are said to have passed if they have been executed, and the output from the
tests matches the expected results.
units            Units are the elements of work required to complete each development activity.
Depending on the activity, a unit may be a document, a test, or a module of
code.
WBS              WBS is Work Breakdown Structure. WBS is a standard software project
management technique of breaking the project down into a hierarchy of work
tasks which represent the work to be done.

```
To top