Effort Estimation Factors for Corrective Software Maintenance Projects: A Qualitative Analysis of Estimation Criteria

The Journal of Information Technology Theory and Application(2015)

引用 23|浏览8
暂无评分
摘要
Abstract:In this paper, we identify factors that impact software maintenance effort by exploring expert software maintenance estimators' knowledge about corrective maintenance projects. We use a qualitative approach to identify the issues important to these experts to derive their effort estimates. We find seventeen factors (rated and rank ordered by importance) that affect corrective maintenance effort and include constructs related to developers, code, defects, and environment. Several of these factors that have a comparably strong influence on corrective maintenance estimation are unique to corrective maintenance and are not generally observed in established software estimation models. The results enhance organizations' ability to effectively manage maintenance environments by focusing attention on the identified areas. For future research, these results represent an important step toward developing a comprehensive and accurate corrective maintenance effort estimation model.Keywords: Maintenance Management, Maintenance Planning, Estimation Factors, Effort Estimation.(ProQuest: ... denotes formulae omitted.)1 IntroductionSoftware is expensive, and software's most significant expense over its lifecycle is related to maintenance (Banker & Slaughter, 2000; Mukhopadhyay, Vicinanza, & Prietula, 1992). This cost can be substantial, and an organization's ability to predict and control software maintenance effort is a critical part of their risk management strategy (Boehm & Papaccio, 1988). Maintaining software also takes time, and estimating the effort needed to do so is difficult. For a maintenance program to be considered successful, maintenance releases must be delivered regularly and predictably (Sneed & Brossler, 2003). Therefore, understanding which factors influence effort is vital to accomplishing these maintenance tasks, which we focus on identifying in this paper.Not every maintenance intervention is worth making. Some defects are not worth fixing, and some adaptations are not cost-effective. Thus, one should estimate the effort associated with those interventions in advance in order to perform the analysis necessary to determine if interventions are appropriate. Unfortunately, success in software estimation generally, and in maintenance particularly, has been elusive in that it has been plagued with complex models that are characterized by high result variance and a lack of practical relevance (Menzies, Chen, Hihn, & Lum, 2006). Thus, in practice, managers often struggle with providing accurate estimates for maintenance activities. Even more fundamental, however, are the decisions that managers must make every day on how to best organize and equip a code maintenance team to ensure the highest levels of productivity. Without a thorough understanding of the factors that impact maintenance effort, a manager would make these decisions with little or no guidance. Providing a structure for these decisions can potentially improve the quality and delivery of a maintenance code. In this paper, we identify these factors, which can assist practice in the daily management of maintenance effort, and provide a foundation for future research related to maintenance model development.Researchers have identified three types of maintenance interventions, each with its own objectives and processes (Bandi, Vaishnavi, & Turk, 2003): corrective, adaptive, and perfective maintenance. Corrective maintenance refers to modifying a system to ensure that it functions according to intended specifications. This is sometimes referred to as bug-fixing. Adaptive maintenance comprises modifications made to a system to alter that system in order to accommodate changing environments such as hardware, operating systems, or other environmental factors that can affect the system's functionality. Finally, perfective maintenance interventions are intended to meet changing user requirements to ensure that, as user needs change, the system will still meet their needs. …
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要