AQ: Design and Implementation
The owner of the system should provide clear requirements of what the system should do and should define what constitutes “maintainability” of the system. This places a burden on the owner of the system to consider the full life-cycle of the system.
1. You need good design documentation.
2. All source code should be well-documented.
3. Coders should be trained on the techniques used and mentored,
4. The use of “templates” helps ensure that coders and maintenance alike are familiar with routine functions.
5. The HMI should provide clear indication of faults and interlocks.
6. The HMI should provide clear indication of equipment statuses.
7. Any code that is hidden must “work as advertised”. This means that it must be completely and unambiguously documented for all inputs, outputs, statuses, and configurations. It must be thoroughly tested and warranted by the vendor,
8. All code should be well-tested. (I have found that the first line of defense is to simply read the code!)
Post-Startup
1. The owner should have a change-control procedure to manage modifications.
2. All users and maintenance support personnel should have adequate training. Training needs to be periodically refreshed as it can become stale through lack of use.