Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Productivity Fornulas

VIEWS: 816 PAGES: 8

This is an example of productivity formulas. This document is useful in conducting productivity formulas.

More Info
  • 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
               who performs management tasks.
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.
tasks            Tasks are units of work which are assigned to the staff. Tasks can be classified
                 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