The final three stages of the software development process are documentation, evaluation and maintenance.
Documentation is created to help the user understand how to use a software program. There are a few documents created at this stage but the two most common are:
The user guide explains to the user how to work the software program. It can be produced in paper format but now it is more likely to be produced as an online PDF downloadable file or as online help.
This piece of documentation explains to the user how to install the software, the version number of the software, the minimum amount of memory and processor speed need to run the program and any other programs or files that may be needed to run the program.
There are other types of documentation that are created at this stage. These are:
- Quick Start Guide
- Shortcut Guide
At this stage in the process, the client and developer review the software program to check if it meets the software specification and also if it is fit for purpose.
The software program is evaluated by the following criteria:
The maintenance stage happens after the software has been handed over to the client and it is put into use. There are three different types of maintenance
This type of maintenance is specifically to remove any coding errors and fix any bugs that are found within the program.
If the client asks for specific changes within the software program or for additional features.
If the environment in which the software is used changes, (i.e. moves to a different company) then it may be necessary to alter the code so it fits with the new environment. Other ways include operating system change/upgrade or new hardware.
The most time consuming type of maintenance is perfective as this keeps the client and developer in touch, and the programming company making money because the client keeps asking for changes.
Factors which affect the Maintenance stage
New Applications: As the users of the software begin to gain experience with it. They will start to see ways it could be improved or features that could be beneficial.
Staff Mobility: Its a lot more simple to keep the same team of programmers on one specific program which they created. That rarely happens. So other programmers come and take over and unless the software is well documented, then maintenance becomes exceedingly difficult.
Too many Versions: As the software is updated or changed, the programming company may release a newer version. the problems which can occur are that the software might stop supporting certain operating systems and it can be difficult to track down code changes.
Insufficient Documentation: If there is not enough documentation (internal commentary, design documentation) to support the software. Then maintaining it becomes a difficult job.
Hardware/Software changes: If the external hardware, internal software which is needed to run the program or the operating system platform is upgraded. The maintenance requirements become affected.
The maintenance stage is seen to be the most costly stage of the software development process as there is so much to be considered at this stage. It is estimated that 40% and 70% of the overall costs throughout the development process are down to maintenance.