The world’s largest Mortgage Insurance Company was growing at a rapid rate. To keep pace with this growth and implement new Governance controls, the client began a major reorganization of its IT infrastructure and supporting processes and methodologies. It was decided that some applications would move from in-house to partially or completely outsourced arrangements.
The system development life-cycle process went from a classic waterfall approach to an iterative one. The project management methodology for the systems development life-cycle moved from the traditional top down to the Goal-Driven Unified Process (GDUP) a variant of the Rational Unified Process based on corporate goals and business use cases. Lastly, the software development methodology went from structured design using a variety of languages to a more streamlined object-oriented design using UML and Java.
This major reorganization required a complete change in the processes, methodologies and skill sets for the entire IT organization. The client needed external help in defining and realigning its QA and Test processes, methodologies and systems to the new Goal-Driven Unified Process. At the same time, the customer needed to train and realign its Quality Assurance and Test resources and personnel.
We were tasked with helping to define how the system test discipline might be implemented within the framework of the Goal-Driven Unified Process. This included identifying how an entire project might be divided into iterations; how the content of an iteration would be identified; how the needed iteration test artifacts might be generated from the system specifications; and how those test artifacts could be traced to the system specifications for test coverage analysis. In addition, a white paper describing a framework for defect resolution tracking and another proposing specific test coverage metrics would be provided.
We arrived at an acceptable solution after extensive interviews with designated client principals and select QA team members. Once clear goals were established, progress toward completing them was rapid. By including QA team members in the identification and preparation of the actual elements of the solution, we ensured that an important amount of buy-in and knowledge transfer was achieved organically. The process for determining the exact content and format of test artifacts in the new system development process included choosing specific project tasks for which the selected team members were already responsible. On-going discussions were held with the GDUP “Governance Team” regarding the specific test artifacts to be included in their process, the relationships of those test artifacts with the previously identified process artifacts and the traceability of test artifacts to the system specification.
We simultaneously focused on staff development activities that included training sessions and discussions about why various tasks and artifacts were important and how they fit into a Unified Process. Extensive discussions regarding the form and content of those artifacts also took place. The QA staff was tasked with creating some specific engagement deliverables’, notably the Test Scenarios and Test Cases based on Use we ensured the adoption of the proposed solution by including key players in refining the solution prior to delivery. Further, because of their participation in the development of the solution, the QA team members already knew what the test artifacts looked like and how to create and use them.
We successfully helped the transition of the QA organization to the new iterative based approach that fully adopted the RUP model. Currently all Test Cases are based on Use Cases that clearly align with requirements and business goals. Now, the QA team gets involved with the testing process at the requirements phase, test cycles are significantly shorter and regression testing is far more effective. The client has significantly increased its level of automation because of better, more uniform processes and controls. All test cases are now organized and managed in a centralized repository and requirements traceability and metrics are far more accurate.