![]() |
function points | a function points overview
A function points overview.
Origin and purpose of the Function Points Analysis
The necessity of a technologically independent method for estimating software costs of software development projects led to the development of the Function Points Analysis (FPA) at IBM at the end of the seventies. The FPA very soon became an approved technique to measure size and complexity of software systems. Over the years its intended use has broadened increasingly. The FPA and its application is shortly described below.
What are Function Points?
Function Points are nothing more than a measurement system for the functional range of an IT-system. Comparable to horsepower of a car showing the engine power, Function Points reflect the range of activities of a software system. The more Function Points, the more comprehensive the range of activities supported by the application.
Main features of the Function Points Analysis
The FPA is mainly characterised by the following attributes:
Technologically independent: The FPA measures software functionality exclusively from the users' point of view, independent from the technology for implementation. In order to define an IT-systems' Function Points score, merely the software's user requirements have to be known.
Standardised: The FPA is based on defined rules of an international, ISO-accredited standard (IFPUG 4.2).
Transparent and comparable measurement: The standardised approach guarantees that the measurement of the functional range is comprehensible. Focussing on the user's point of view the Function Points score represents a ratio which allows comparing different IT-projects on a unitary, i. e. standardised basis.
Independent of the project type: The FPA can likewise be used for the assessment of new development projects, maintenance projects or subsequent measurement of already existing applications.
Reasonable effort: The FPA can be carried out with moderate effort.
How is an application's Function Points score measured?
The Function Points score is determined in two steps:
Counting of Function Points on the basis of the specific user requirements.
Adjusting the Function Points sum by means of a factor to encompass system functionality in general.
The Function Points count aligns with how a user perceives a system. For this purpose user requirements are analysed with regard to data requests and transactions. Data requests can be differentiated into logic data bases which are governed within the software system considered and those outside. Concerning transactions, one can distinguish between input, output and queries.
By using defined counting rules, identified data bases and transactions are categorised according to their complexity from which the number of Function Points derives at last.
The final Function Points score of the respective IT-system, i. e. the actual ratio for its functional range, can be obtained if the Function Points sum calculated in the first step is adjusted by a so-called influencing factor. This factor is based on 14 general system features which more closely characterise the application. Among those are for example data communication, performance, processing complexity and ease of use.
Application and benefits of the FPA
Organisations can benefit in many ways from using FPA, especially in the following areas:
Estimation of software costs:
The FPA allows quantifying the complexity of a software developing project already on basis of the user requirements – i. e. at an early stage. Expenses for the requirements' implementation can be derived from the Function-Point-score by using intra-corporate experience from former projects, expert systems or industrial benchmarks. Thus a cost-benefit analysis for a project can take place early which is again helpful for a timely bid proposal.
Productivity measurement/Benchmarking:
Because of their technological independence Function Points are excellently qualified for productivity comparisons spanning various applications, platforms, organisational areas or branches. A company's real benefit from Function Points results from its own internal productivity ratios (e. g. Function Points per employee per month). Thus estimations of software costs – and with it planning quality – can be continually ameliorated and success of process and quality improvement initiatives can be measured.
Requirements Management:
The scope of a current development project can be effectively controlled by means of FPA. As soon as there are modifications to original requirements, the initial Function Points count is up-dated in order to appraise the consequences for the project and thus to decide on implementing change. Contrasting the final Function Points score at the end of the project to the initial score from the beginning, conclusions can be drawn concerning the effectiveness of the requirements survey techniques and potential for improvement can be identified.
Costs and performance comparisons:
Function Points are an adequate reference parameter for comparing operations and costs of IT-systems and -services. The Function Points score immediately uncovers differences in the operations/performance scope. Based on »costs per Function Point« costs and performance can be correlated. Those are useful decision factors for software-purchasing, assessing bids or make-or-buy decisions.
Performance agreements:
Function Points allow the exact definition and measurement of performance. Thus for outsourcing agreements, e. g. software development and the like, it can be controlled in how far the resulting performance, service-level or productivity gains correspond with what was agreed upon or promised.
Portfolio-Analysis:
Companies continually have to analyse their portfolio of applications and projects. An IT-systems' Function Points score is – besides other factors – an important decisional factor for maintaining, displacing or redesigning an existing application in a company. For example, production costs of IT-systems can be analysed and compared by means of the Function Points score (production costs per Function Point). The same holds for support expenses. A Function Points based analysis of maintenance costs assists a company in developing a transfer strategy for applications with very high support requirements.
Conclusion
The Function Points Analysis is a standardised method by which the functional range of a software system and respectively the size of a software development project can be quantified, independent from conditions concerning the technical implementation. Thus on basis of calculated Function Points, ratios can be established which contribute to the transparency of IT-performance, improvement of planning and controlling IT-projects and understanding of cost effectiveness of individual IT-projects. Accordingly, there is a wide field of application possibilities, stretching from operational to strategic layer.
| Contact: | bach consulting GmbH Bonn-Center 2-10, Bundeskanzlerplatz Bonn 53113, Germany |
|
© 2006 by bach consulting GmbH | A BACH Gruppe company