Task-Resource Capability Alignment: Discerning Staffing and Service Issues in Software Maintenance

The effective management of software maintenance processes involves decisions about workforce levels, skill and expertise mix of developers, assignment of defect resolution tasks, and monitoring key system performance measures. This research uses a queuing based simulation approach to study these managerial issues. Using the data archives of a large global software organization, an empirical study of the historical defect reports and management decisions is conducted. A task-resource capability alignment scheme is developed that captures the defect complexity and skill/experience capabilities of software maintainers. The results of the empirical-computational study show that the defect arrival/reporting process affects the resource utilization and the time a defect spends in the system. The results also highlight the role of dedicated and shared resources on the system performance and indicate that replacing an experienced and skilled developer requires a significant order of magnitude increase in the maintenance workforce.

[1]  Meir M. Lehman,et al.  Program evolution: processes of software change , 1985 .

[2]  G. S. Mudholkar,et al.  A Generalization of the Weibull Distribution with Application to the Analysis of Survival Data , 1996 .

[3]  Sharif H. Melouk,et al.  Managing Resource Allocation and Task Prioritization Decisions in Large Scale Virtual Collaborative Development Projects , 2010, Inf. Resour. Manag. J..

[4]  Giuliano Antoniol,et al.  Assessing staffing needs for a software maintenance project through queuing simulation , 2004, IEEE Transactions on Software Engineering.

[5]  Cynthia Mathis Beath,et al.  Departmentalization in software development and maintenance , 1990, CACM.

[6]  Ramkumar Ramaswamy,et al.  How to staff business-critical maintenance projects , 2000, IEEE Software.

[7]  Alain Abran,et al.  Measurement of the maintenance process from a demand-based perspective , 1993, J. Softw. Maintenance Res. Pract..

[8]  Serge Demeyer,et al.  Software Evolution , 2010 .

[9]  Herbert Moskowitz,et al.  Human resource selection for software development projects using Taguchi's parameter design , 2003, Eur. J. Oper. Res..

[10]  Songnian Zhou A Trace-Driven Simulation Study of Dynamic Load Balancing , 1988, IEEE Trans. Software Eng..

[11]  E. B. Swanson,et al.  Software maintenance management , 1980 .

[12]  George E. Stark,et al.  Software maintenance management strategies: observations from the field , 1997 .

[13]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..

[14]  Rajiv D. Banker,et al.  A Field Study of Scale Economies in Software Maintenance , 1997 .

[15]  Cynthia Mathis Beath,et al.  Maintaining Information Systems in Organizations , 1989 .

[16]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[17]  Andreas C. Georgiou,et al.  A discrete event simulation model in the case of managing a software project , 2007, Eur. J. Oper. Res..

[18]  Vidyadhar G. Kulkarni,et al.  Optimal Allocation of Effort to Software Maintenance: A Queuing Theory Approach , 2008 .

[19]  Alain Abran,et al.  Software Maintenance Maturity Model (SMmm): the software maintenance process model , 2005, J. Softw. Maintenance Res. Pract..

[20]  Günther Ruhe,et al.  Optimized Resource Allocation for Software Release Planning , 2009, IEEE Transactions on Software Engineering.

[21]  Wayne W. Wakeland,et al.  Using design of experiments, sensitivity analysis, and hybrid simulation to evaluate changes to a software development process: a case study , 2004, Softw. Process. Improv. Pract..

[22]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[23]  Kevin D. Glazebrook,et al.  Allocation of tasks to specialized processors: A planning approach , 2000, Eur. J. Oper. Res..

[24]  Tarek K. Abdel-Hamid,et al.  The Dynamics of Software Project Staffing: A System Dynamics Based Simulation Approach , 1989, IEEE Trans. Software Eng..

[25]  Natalia Juristo Juzgado,et al.  Emphasizing human capabilities in software development , 2006, IEEE Software.