Software sizing
Software Sizing is an important activity in software engineering that is used to estimate the size of a piece of software in order to properly implement other software project management activities.
It is essential to differentiate between software sizing and software effort estimation.
Background
Measuring the size of a piece of software is different from measuring the effort needed to build it. We need to measure the size of software in order to be able to measure productivity.
For example, if a software engineer has built a small web-based calculator application, we can say that the project effort size was 280 man-hours. However, this does not give any information about the size of the software product itself. Conversely, we can say that the application size is 5,000 LOCs (Lines Of Code), or 30 FPs.
Software Sizing Methods
Historically, the most common software sizing methodology was counting the lines of code written in the application source. Although this method is easy and straightforward, it is no longer practical due to the great advancements in software engineering and modern programming languages. Another famous sizing method is the Function point analysis. FP analysis has proven successful and accurate for more than thirty years. However, its accuracy and effectiveness has lately become highly controversial. Reasons behind the criticism of FP analysis include lack of sensetivity towards algorithmic complexity and its relative difficulty.
New trends of software sizing have recently emerged. For example, Use Case based software sizing relies on counting the number and characteristics of Use Cases found in a piece of software. Also, different variations of Function Points have emerged over time, such as Object-Oriented Function Points, or OOFP.
Sources
Almoataz Bellah Mokhtar 13:30, 20 December 2006 (UTC)