Morrison, David J (2001) Prediction of software maintenance costs. PhD thesis, Edinburgh Napier University.
Available under License Creative Commons Attribution Non-commercial.
Download (23MB) | Preview
This thesis is concerned with predicting the costs of maintaining a computer program
prior to the software being developed. The ubiquitous nature of software means that
software maintenance is an important activity, and evidence exists to support the
contention that it is the largest and most costly area of endeavour within the software
domain. Given the levels of expenditure associated with software maintenance, an
ability to quantify future costs and address the determinants of these costs can assist in
the planning and allocation of resources. Despite the importance of this field only a
limited understanding of the factors that determine future maintenance costs exists,
and maintenance estimation is more frequently applied to existing software.
A hypothesis has been postulated that suggests the inherent maintainability of the
software, the scale of the activity and the degree of change that pertains will
determine future software maintenance costs. The variables that contribute to the
maintainability of the software have been explored through a survey of past projects,
which was undertaken using a questionnaire. This was designed with assistance from
three separate teams of professional software engineers. The questionnaire requires 69
numerical or ordinal responses to a series of questions pertaining to characteristics
including program structure, computer architecture, software development
methodology, project management processes and maintenance outcomes.
Factor analysis methods were applied and five of the most powerful predictors are
identified. A linear model capable of predicting maintainability has been developed.
Validation was undertaken through a series of follow-up interviews with several
survey respondents, and by further statistical analysis utilising hold-out samples and
structural equation modelling. The model was subsequently used to develop
predictive tools intended to provide management support by both providing a
categorical assessment of future maintainability, and a quantitative estimate of
probable maintenance costs. The distinction between essential corrective
maintenance, and other elective forms of maintenance is considered.
Conclusions are drawn regarding the efficacy and limitations of tools that can be
developedt o supportm anagemendt ecisionm aking. Subjectt o further work with a
largers ampleo f projects,p referablyf rom within a singleo rganisationi,t is concluded
that useful tools could be developed to make both categorical ('acceptable' versus
'not acceptable') and static (initial) quantitative predictions. The latter is dependent on
the availability of a software development estimate. Some useful predictive methods
have also been applied to dynamic (continuing) quantitative prediction in
circumstances where a trend develops in successive forecasts.
Recommendationfosr furtherw ork arep rovided.T hesei nclude:
U Factor analysis and linear regression has been applied to a sample of past software
projects from a variety of application areas to identify important input variables
for use in a maintainability prediction model. Maintainability is regarded as an
important determinant of maintenance resource requirements. The performance of
these variables within a single organisation should be confirmed by undertaking a
further factor analysis and linear regression on projects from within the target
u The robustness of model design within this target organisation should be
considered by applying a sensitivity analysis to the input variables.
u This single organisation maintainability predictor model design should be
validated by confirmatory interviews with specialists and users from within the
u Aggregate scale has been identified as another predictor of overall maintenance
resource requirements, and the relationship between development and
maintenance effort explored for the general case. It is desirable that development
and corrective maintenance scale relationships should be explored within a single
organisation. Within this environment the association between standardised effort
and maintainability should be confirmed, and the value of the logistic model as a
descriptor of the relationship verified.
u The approacht o quantifying non-correctivem aintenanceth at has been outlined
requiresf iirther developmentT. he relationshipb etweena nnualc hanget raffic and
maintenancec ostss houldb e modelled,a ssuminga prior knowledgeo f the scale
and maintainability determinants.
uA sensitivity analysis should be applied to the predictive system that has been
developed, recognising the potential for error in the values of the input variables
that may pertain.
uA goal of this further research should be the development of a suite of soft tools,
designed to enable the user to develop a software maintenance estimation system.
Actions (login required)