The IT application landscape is experiencing a tremendous transformation as businesses seek to leverage the latest cloud and mobility offerings with commercial off-the-shelf packages as a way increase their core business functionality.
However, many organizations continue to struggle with complex custom legacy applications that are expensive to operate and stand in the way of implementing emerging technologies. Common challenges organizations faced by organizations pursuing modernization include:
- Lack of proper documentation for legacy applications (all knowledge remains with the people who built and maintained those applications).
- Heavy usage of subject matter experts is necessary to derive the right requirements from the functionality of the legacy applications.
- Lack of testing documentation (tests were mostly done by subject matter experts and were not well documented).
- A dearth of process and test automation that can be leveraged to help with the modernization program.
A strategically planned, properly managed QA and testing program incorporating best practices is key to the success of any modernization effort. Through years of experience, NTT DATA has determined that the best practices for a quality-driven test methodology include:
- Leverage business process modeling. With virtually every modernization programs following an agile iterative model, enterprises will continue to face this documentation challenge. Focus on progressive creation of comprehensive business process models during the modernization sprints and iterations. This will become a valuable source of documentation.
- Use test-generation tools. After your business process models are built, leverage them to automatically create tests using test-generation tools that parse through the flows and produce optimal test suites. Maintain the business process models as part of change management, not the tests themselves.
- Focus on the right test data. Tests without the right test data are of no use. An optimal set of test data ensures all possible business flows get exercised during the testing process. Use data-generation tools to derive the optimal set of test data—and avoid sampling.
- Use comparison and functional equivalence testing. Make sure you run the same tests through both the legacy and the new system to compare outputs to validate functionality, business-rule efficiency, and processing efficiency.
- Use regression test suite automation. Identify the key functionalities of the implementation as part of the regression-test strategy and automate any tests related to them during the modernization program so that these tests are ready to be executed quickly as part of any future releases.
- Focus on user experience testing and training. The new system typically conducts business transactions in an entirely different flow of actions and screens compared to the legacy application, which warrants user-experience testing to ensure it is quicker and better. Focus on user training based on the user-experience test results.
- Baseline your performance results. Modern applications are supposed to be faster and more efficient than the legacy applications, but it is always sensible to create a baseline performance test suite and capture baseline test results during the initial implementation cycle. These performance tests can be executed during every future enhancement and release to ensure that changes are not eroding system performance.
Consciously adapting best practices and taking a holistic view of quality are vital to the successful implementation of any modernization program, enabling the organization to quickly adapt and respond to changing business demands, emerging technology, and end-user trends. It also results in reduced costs, faster time to market, and improved operational efficiency.