Article Preview
TopIntroduction
With the forecast of software development costs numerous problems have to be solved and various challenges have to be met (Zaid, Selamat, Ghani, Atan, & Koh, 2008). Firstly, due to the high intensity of human resources the amount of indirect costs is relatively high, which leads to various cost assignment problems. Ongoing efforts in business-management literature to solve these cost problems have been widely discussed (e.g., Atkinson, Kaplan, Matsumara, & Young, 2007; Hicks, 2002; Horngren, Foster, Datar, Rajan, & Ittner, 2008; based on Miller & Vollman, 1985; Cooper & Kaplan, 1988). Furthermore, forecasts of the calculation’s quantity structure can be problematic in various ways, depending on the software development project´s innovation level (e.g., Boehm, Abts, & Chulani, 2000; Lum et al., 2003; Pfleeger, Wu, & Lewis, 2005; Boehm, 1981; Leung & Fan, 2002).
A sound cost forecast is critical: it can act as an indicator for a lowest price limit calculation when discussing a development request. In case of a fixed price agreement this implies a high profit risk. Besides this, cost forecasting can function as a starting basis for internal budgeting contracts. Furthermore, the ongoing software development process constantly requires the update of costs budgeted according to the progress made. Cost forecasting helps in particular with the evaluation of adjustment provisions as well. Ultimately they may be used as a performance criterion for the project management.
Figure 1 illustrates selected further purposes of cost management in the software development lifecycle. The optimal governance of operational costs by means of cost planning and control is the principle task of software cost management (Boehm et al., 2000).
Figure 1. Exemplary management purposes in the software development life cycle
Key problem of cost forecasting in software development projects is the poor data base: Depending on the novelty of the project, the bulk of the development tasks is unknown and represents a severe hindrance to an accurate cost forecast. However, available forecast procedures are fraught with different problems (Pfleeger et al., 2005). Standard methods like COCOMO II have to be calibrated at a business specific level (Boehm et al., 2000). This preponderates if the underlying data base is not specific to the software development task (Zaid et al., 2008). Sometimes, cost forecasts can only be made when the project has made some reasonable progress. As a consequence, these approaches do not sufficiently support important decisions one has to make before the project starts; the acceptance of an order for software development may serve as an example. Furthermore, many of these approaches take a rather out-dated attitude and adapt to a traditional arrangement of software development projects in consecutive phases, for instance, requirements analysis, design, implementation, integration and system test.