Description
Defect rectification task is one of the primary tasks of a compiler maintenance work. During initial period of maintenance work, we did not adopt certain level of development practices. These inadequate practices caused significant issues in the improvement of quality of the compiler. Then we started to gradually refine our development process. We learned the hard way that well defined process is essential for the maintenance of legacy compiler.
These lessons helped us to establish well defined defect rectification process. It facilitates to fix the defect correctly and completely. We have been rectifying the maintenance issues while fixing the defect.
We perform the following mandatory activities during the defect rectification task as part of maintenance work.
- Preparation of defect analysis report
- Root cause analysis ( 5 why's method)
- Horizontal development (Suihei-Tenkai)
- Preparation of testing check sheet
- Generation of test programs
- Defect fix demo to team
- Preparation of algorithm and PDL
- Source code correction
- Smoke test
- Unit test
- Source integration and commit into CVS
- Causal Analysis Meeting to improve the development process
- Regression test and evaluation
We perform complete regression test and evaluation before the release. Now we have more than 2,00,000 test programs apart from standard test suite's test programs. We have been using all these test programs during the time of regression test and perform thorough evaluation.
We learned that many quality issues were caused by improper schedule. Therefore, the release schedule is being made using relevant past data, which avoids the last minute panic during shipment.
The following two issues are in the legacy compiler:
- Maintainability
- Testability
These issues are being rectified by us through consistent and regular quality improvement discussion with customer. The quality improvement actions were undertaken by us after getting the approval from customer. Now the customer and acmet are aware about the time and effort required for improving the quality of the legacy compiler.
Similarly, the customer's requirements were met without any incompleteness. The possible obscurity in the requirement or specification received from customer is clarified promptly through email exchanges. We learned that, the origin of such quality or schedule issue may trigger by unclear requirement or specification. Therefore, we promptly communicate with customer on clarification to avoid further issues.
The maintenance of this compiler is being done till date to the satisfaction of the customer.