Optimal Policies for the Sizing and Timing of Software Maintenance Projects

Abstract:  We present a model to determine the optimal point for maintaining a software application.  We also address the question:  given that a maintenance project has been initiated, should maintenance effort continue till the project is completed?  Most previous literature has implicitly assumed that it is optimal to complete a maintenance project once it has been initiated.  We analyze two policies:  a work-based policy and a time-based policy.  In the work-based policy, a fixed amount of work needs to be completed, and the time taken to accomplish the work is random.  In the time-based policy, a fixed amount of time is allocated to maintenance, but a random amount of work is completed.  We examine similarities and differences between the above two policies and provide insights into the management of software maintenance projects.  A key insight of this study is that under a variety of situations, partial maintenance is sub-optimal.