Software equation

From Wikipedia, the free encyclopedia

In the study of software project estimation, the Software Equation is a model with multiple variables based on assumptions of a specific distribution of effort throughout the entire length of a software development project. The models basis was formed through analysis of productivity data collected from over 4000 modern day software development projects.[1] The software equation was derived from the Putnam-Norden-Rayleigh Curve which can be used to show the non-linear correlation between time to complete the project and applied human effort.[2]

Contents

[edit] Model Form

The estimation model can be described in the following form.


E=\left \lbrack \frac{LOC x B^{.333}}{P}\right \rbrack^3 \left ( \frac{1}{t^4} \right )

where

  • E=Project effort measured in person-months or person-years
  • LOC=a Lines of Code estimate for the project
  • t=Length of project measured in months or years
  • B=a "special skills factor"[1]
  • P=a "Productivity Parameter"[1]

[edit] Defining B

B, the special skills factor, is related to the size of the product.[3]

B Value Size of Project
.16 5-15K
.18 20K
.28 30K
.34 40K
.37 50K
.39 >70K

[edit] Defining P

Research from the collected productivity data supplies initial values for variable P determined by the type of software being developed. Some examples are listed below.[1] These numbers to not apply in all situations and P can often be calculated from previous metrics information.

P Value Description
2,000 Real time embedded software
10,000 Telecommunications software
12,000 Scientific software
28,000 Business system applications


[edit] See also

[edit] References

  1. ^ a b c d Pressman, Roger S. [1982] (2005). Software Engineering - A Practitioner's Approach, 6th, Newyork, NY: McGraw-Hill, 662-663. ISBN 0-07-285318-2. 
  2. ^ Pressman, Roger S. [1982] (2005). Software Engineering - A Practitioner's Approach, 6th, Newyork, NY: McGraw-Hill, 679. ISBN 0-07-285318-2. 
  3. ^ The Computational Software Equation. Retrieved on 2007-09-06.