The earlier that errors are detected, the lower the cost of correcting them. This is why formal checks are essential starting in the early phases of development projects. Only ten years ago, the significance of testing was still not very widely recognised. Since then, however, things have changed. Comprehensive tests that are typically automated are now the normal practice. At the same time, the number of test specialists certified in accordance with recognised standards such as ISTQB is growing. The next step is already foreseeable: While errors are now tracked down primarily in the implementation phase, the trend is towards debugging in earlier phases of development. The motivation for this is clear: the earlier an error is detected, the lower the cost associated with correcting it. The development time is reduced in this manner along with the overall costs.
Quality gates – for higher efficiency and shorter time to market
Establishment of multiple quality gates throughout the entire software development process has proven to be a practical means of enabling earlier detection of errors, thereby boosting the efficiency and reducing the time to market. Quality gates are formal checks that are scheduled after completion of a phase. Based on checklists, a review is generally carried out to make sure that the deliverables for the phase conform to specified criteria. Depending on the importance of the deliverables, the next phase will start only once conformity has been achieved. Unlike milestones, quality gates are not newly determined for every project. Instead, they are anchored in the development process. Each project is linked to the quality gates. This means that management specifies these formal checks as part of the company’s test policy. In practice, establishment of five quality gates over the course of a project has proven to be a viable approach.
The following are authorised in sequence:
1. Requirements, 2. System specifications, 3. Application for system test, 4. System for integration test and 5. Actual product in acceptance test with users. Gates 3 to 5 are already implemented in many organisations today in one or another form, but gates 1 and 2 are still rather rare at this time. However, their introduction offers significant potential for improved efficiency.
Introduction of quality gates – effective in early development phases
A service company with global operations was planning to increase the outsourcing of its software tests. The process maturity was bolstered during a transition phase, and this also applied to the test process. Relatively many iterations were previously required for the test releases, resulting in higher costs and slower completion of products. The goal was now to decrease the number of iterations through clearer structuring, greater formalisation and more consistent implementation of the test process in the company’s daily business. Quality gates played a key role in the structuring and formalisation. In the implementation phase, quality gates already existed. Now, quality gates were also introduced in the organisation after determination of the requirements and specification of the system. The result was very impressive: The two new quality gates helped to decrease the number of production errors by not less than 30 percent. Acceptance of the solutions by the business improved considerably. The positive results achieved with the first two quality gates did not come from nowhere. The handover of requirements represents a critical interface in every project. If misunderstandings arise here between the business and IT departments, a functional but unusable solution can be developed in the worst case. The risk of such differences is not negligible since business and IT speak different languages and are often motivated to pursue different interests. This makes it all the more important to set up a quality gate to ensure a formal review with all of the participants to guarantee the requirements are understood in the same way by everyone. Suitable checklists ensure the check is carried out in a comprehensive and detailed manner. The second quality gate is also very important. This is because the system specifications are critical in determining which non-functional requirements the solution will fulfil. Moreover, factors such as usability and performance are important in order to have the business accept the completed solution. Accordingly, a comprehensive and detailed check is required for this quality gate too – to make sure the system specifications conform to the criteria contained in the test policy. Of course, the technical department must also be integrated into the process. The impact of the specifications should thus be considered in terms of the recipients. Regardless of the nature of the project, early discovery of errors and misunderstandings with the aid of quality gates will result in significantly higher efficiency.