In Agile, Quality Engineering is Queen
If Agile were a game of chess, communication would be king and Quality Engineering, queen.
If Agile were a game of chess, communication would be king and Quality Engineering, queen. Without communication, any Agile initiative dies. Communication, however, is dependent upon the standards, metrics, processes, and plans that Quality Engineering facilitates.
Like a game of Chess, there are forces that work against Agile intent on disrupting communication. These forces include not aligning on a single development or test management system; misalignment between project managers, developers, business owners and testers; entrenched attitudes by individual application teams on how to run Agile ceremonies; and misconceptions about what Agile is and is not.
Communication, like the king on a Chess board, does not move much, but is always there and needs to be protected. As with the queen on a Chess board, robust, principled Quality Engineering is the best piece to do it.
Successful Agile needs Quality Engineering that is dynamic, adaptive, flexible, and capable. This means that Quality Engineering cannot be highly bureaucratic and slow, like with the Testing Centers of Excellence in the past. For Quality Engineering to behave like the queen on a Chess board we need to first get rid of the language, implying monolithic, centralized and slow. We need Quality Engineering Enablement Centers (QE2C for short); Quality Engineering organizations that are in the trenches with each Agile team yet are the backbone from which your organization’s entire Agile initiative runs.
Quality Engineering Enablement Centers keep communication and application code flowing by:
- Deploying Quality Engineers capable in both functional testing and functional automation to sit in each Agile team for optimal in-sprint testing.
- Processes, standards and metrics that provide more than burn-down charts, they clearly communicate what are acceptable Agile practices backed up and enforced by automated quality gates.
- Proper demand and capacity management to anticipate what testing is needed and where.
- Deploying non-functional testing, such as Performance Testing, as shared services to be scheduled and used across all Agile teams. This removes the burden of highly specialized testing interfering with a sprint.
- Standardized Test Environment and Test Data Management shared service capabilities that are so important to the testing and deployment of applications.
- Continuous Automated end-to-end and regression testing that is always on, always running and not inhibited by slow automated frameworks or tools.
Regardless of what Agile framework you are using, regardless if you have co-located or distributed Agile Teams, no matter what metric, automation, development or release management tools you are using – if Agile is a game of Chess, not protecting communication and not properly using Quality Engineering is a recipe for failure.