Towards an Early Software Effort Estimation Based on the NESMA Method (Estimated FP)
by S. Ohiwa, T. Oshino, S. Kusumoto & K. Matsumoto
The function point (FP) is a software size metric that is widely used in business application software development. Since FPs measure the functional requirements, the measured software size remains constant. This is regardless of the programming language, design technology, or development skills involved. When planning development projects, FP measurement can be applied early in the development process.
A number of FP methods have been proposed. The International Function Point Users Group (IFPUG) method and the COSMIC method have been widely used in software organizations.
FP is considered one of the most promising approaches in software size measurement. Nevertheless it does not prevail over all Japanese software industries. One reason prohibiting the introduction of FPs into software organizations, is that function point counting needs a lot of effort. According to the IPA/SEC White Paper on Software Development Projects in Japan 2010-2011, the penetration rate of FP in Japanese software development companies is only 43.8 percent. Also, the survey on Information System User Companies by JUAS, disclosed that the penetration rate of FP in Japanese information system user companies is less than 30 percent.
NESMA provides some early function point counting methods. One of them is the estimated function point counting method (i.e. NESMA EFP). In the EFP, a counter first determines all functions of all function types (ILF, EIF, EI, EO, EQ) in the target specifications. Then, the counter rates the complexity of every data function (ILF, EIF) as Low. Every transactional function (EI, EO, EQ) is rated as Average. The total unadjusted function point count is then calculated. The counting effort is quite small in comparison with the IFPUG method. However, there are not many articles that show the usefulness of the NESMA EFP, based on actual software project data, especially for application of software cost prediction.
This paper evaluates the validity of using NESMA EFP as an alternative to IFPUG FP, in the early estimation of software development effort. In the evaluation, we used the software development data of 36 projects. These were extracted from a software repository that maintains 115 data items of 512 software development projects. They were collected by the Economic Research Association, 2008 – 2012. Common characteristics of these 36 projects are as follows:
• Software was newly developed.
• Software development includes the following five software-specific low-level processes; architectural design, detailed design, construction, integration, and qualification testing.
• Actual FP and total amount of effort are available.
• Actual functional size of each function type in all functions is available.
• The function types for each function have realistic functional sizes. For example, the average functional size of ILF of each function is from 7 to 15.
Main results of the empirical evaluation, and these contributions to software development are as follows;
- There is an extremely high correlation between the IFPUG FP count and the NESMA EFP count. Figure 1 is a scatter plot showing the relationship between the IFPUG FP count and the NESMA EFP count in 36 software development projects. The coefficient of determination between these two FP counts is 0.970. This result is not inconsistent with previous empirical evaluations by NESMA reported in the document “Early Function Point Counting.” In the NESMA evaluation, the upper bound of the FP count was about 3,000. On the other hand, the upper bound is about 30,000 in this evaluation. It implies that we can use the NESMA EFP more widely as an alternative to the IFPUG FP in software development projects in Japan than before. Also, the NESMA EFP may be useful for individuals and companies, who are considering whether to use the IFPUG FP in their software development projects. This is to evaluate feasibility of the IPFUG FP application.
- There is a high correlation between the NESMA EFP count and the software development effort. Figure 2 is a scatter plot showing the relationship between the NESMA EFP count and the total amount of software development effort in 36 software development projects. The coefficient of determination between these two FP counts is 0.823. It implies that we may be able to use the NESMA EFP to predict software development effort in the early stages of software development project.
Early software effort estimation is one of the most important issues in software project management. Hence, this result also encourages many individuals and companies who are considering whether to use the IFPUG FP in their software development projects. The coefficient is high enough, but we should continue further discussion and data analysis to eliminate or adjust some outliers. This will improve the accuracy of effort prediction by NESMA EFP.