“A scientist can discover a star but he cannot make one. He would need to ask an engineer to do it for him”—Gordon Lindsay Glegg
The 2017–2018 World Quality Report marks a new era of agility. We are clearly maturing to the digital enterprise world, with 96% of the 1,600 respondents stating that they use some form of Agile. Hybrid frameworks comprising multiple agile and waterfall methodologies emerge as the new norm.
What struck me as I analyzed the report, was that all the frameworks in use (Scrum, Safe, Hybrid, etc.) rely on robust engineering.
Maximizing speed to market requires having a reliable foundation in place, and just like a foundation, it requires mathematical precision. Without a detailed blueprint and architectonics, the construction will not stand. This has led to the maturing of DevOps engineering practices, with 88% of the respondents stating that they are using some form of DevOps principles.
Here is my analysis of the top four engineering practices in the World Quality Report to have emerged as leaders in this space:
- Continuous architecture: Building an architectural runway is key in agility and automation, particularly for IoT and digital initiatives. Loosely coupled and fine-grained software in the form of micro-services is a winner in this space because it facilitates quicker and more frequent deployments while aiding early automated testing. Clients recognize this; 72% of our WQR respondents stated that they use or plan to use micro-services.
- Continuous environment set up: Cloud adoption and virtualization are critical to maintaining agility, with 87% of CIOs and senior technology respondents stating that they use or plan to leverage cloud-based test environments.
Environment virtualization usage is gaining importance, with 88% of our WQR respondents stating they use or plan to use it. Virtualization is key for multi-platform testing; modern virtualization tools let you engineer your virtual test environments to mimic production through replicating the network topology.
Containerizing applications is a prerequisite for virtualization and infrastructure as a code is a key practice, with 74% of respondents stating that they use or plan to use it. However, like software development, infrastructure code (Chef or Docker) is not defect-free and clients are starting to recognize this. We anticipate that testing of infrastructure as a code will be a key request from the testing community in the future.
- Continuous predictive analytics: The predictive analytics and machine learning trends identified in 2016 are proving to be effective mechanisms for the testing community in two ways. First, as a mechanism to intelligently derive which areas should be tested and second, to identify repetitive patterns through which artificial and synthetic test data can be created. Our findings show that 40% of our respondents claim to use analytics from production to optimize test cases—a number we expect to increase in the future.
- Continuous orchestration: Continuous testing matures into continuous orchestration. Continuous build, continuous code quality strategies, test-driven development, behavior-driven development and API tests have gained importance, with quality gates now orchestrated with pre-defined KPIs as part of the continuous delivery pipeline.
In closing, continuous engineering implies continuous improvement and innovation. Just as in music, agility, engineering, and quality must be in harmony to create a beautiful melody.
For an in-depth look at the key trends in Testing and QA, download the World Quality Report 2017-18