Software Maintenance

Both the photo editor application and Online Photo Shop have been successfully tested and are ready for deployment. We now must choose a process and strategy for software maintenance, which begins as soon as the product is released to the customer for the first time. According to the IEEE standard (1219) software maintenance is defined as follows:

Modification of a software product after delivery to correct faults, to improve performance or other attributes, or adapt the product to a modified environment.

13.4.1 Change Request Management

Throughout the project, we have used a defect tracking process to capture bugs and possible improvements that could not be addressed in the initial release of the software. We used a simple spreadsheet to record and track this information. However, for larger projects a number of commercial and freeware software packages are available for this purpose. Real-life projects can quickly accumulate from several dozen to a few hundred bug reports per release cycle, and it can be challenging to manage those without using specialized tools.

Tools to manage change requests (for example, bugs, improvements, or new features) can simplify a number of frequently repeated tasks:

13.4.2 Maintenance Strategies

The cost of software maintenance is commonly estimated to be 60 percent to 80 percent of the total budget for software development. It is therefore crucial to choose good practices and optimize maintenance processes and procedures in order to stay competitive. There are four main maintenance strategies you can follow:

Each of the maintenance strategies has strengths and weaknesses in various areas, including performance, quality, efficiency, and costs. From our experience there is no gold standard for a software maintenance process, and all software processes need to be tailored to project needs and environments. However, the large percentage of the total software budget spent on maintenance makes it important to optimize this process to stay competitive in today's software business.

Because our team is very small, it is not feasible to allocate a fixed maintenance group for the photo editor application and Online Photo Shop project. Furthermore, contracts with our customer, the printing and embossing business, are very specific about release dates of the software. We therefore choose a fixed schedule/variable staff maintenance strategy, which allows us to allocate developers within the organization to a particular release as needed.

Категории