“When digital transformation is done right, it is like a caterpillar turning into a butterfly, but when done wrong, all you have is a really fast caterpillar.”
Sounds familiar? All too often companies on the digital path find new solutions, approaches, tools and technologies. Or hire talent that promises a miracle. In this process, many organizations have adopted practices such as Agile and DevOps, to improve team collaboration, build better quality products faster and in a consistent and repeatable way.
Yet, most of these organizations approach the transition to Agile QA in a formulaic manner. By simply buying the tools, studying the how-to-guide and strategy without thinking about an important success parameter for Agile QA – scalability.
When enterprise teams are ready to make the switch, the software testing strategy needs to be defined and refined from the perspective of scale and large, multi-located teams.
Agile QA at Scale: What enterprise teams need:
Ensure a scalable QA strategy
Planning for scalability begins early. Dig the well before you’re thirsty. It is important to adopt a strategy that is flexible from all the aspects – tools and technology to resources. If you don’t have an Agile QA expert, consider a QA consultant or vendor to help you with the testing approach, scalability best practices and team organization.
Make strategic use of automation
Test automation is inevitable if you want to scale up QA. Enterprise products need a large amount of testing that often leads to a massive log of regression tests. Yet, test automation needs to be used wisely or it simply turns into a black hole that sucks all your resources and budget.
Focus manual testing efforts on feature testing, exploratory testing and less on regression tests. Use automation for the more intense, repetitive and laborious jobs and free up your QA resources to work on higher priority tasks.
Use metrics to your advantage
Measure progress and team output to understand where and when to scale up. Define your success metrics because they have a significant implication on how your team is structured and its future growth. Don’t focus too narrowly on code coverage and number of tests executed. While these are important, there are many other important metrics and measures such as the overall product quality.
Maintaining continuity and velocity
In many teams, testers are often at loggerheads with developers. There is a continuous stream of changes and new features and QA becomes a bottleneck, reducing the velocity.
Agile teams must make an effort to write detailed functional specs. Since user requirements that are outlined in the form of user stories are open to interpretation, it is best to nail down the specifics and avoid arguments on the validity of the test suite and severity of defects.
Practising Quality-driven development
With increasing focus on test automation through continuous integration tools, many organizations think the need for quality assurance specialists is redundant.
However, the challenges of keeping up with the high-quality releases in fast development environments requires a quality-driven development approach.
QA teams and specialists ensure that the application or product gets tested comprehensively in the areas that matter the most.
The fundamental principles of good development continue to hold true whether you have adopted Agile or DevOps. Such as a clear definition of requirements, adequate coverage, right processes and tools to ensure that the software is built to meet the requirements.
Go the canary release way
Many companies like Facebook practice what is called “canary” releases.
Canary release is a trick to reduce the risk of launching a new software version in production by gradually rolling out the change to a smaller subset of users before rolling it out completely.
Facebook uses this incremental rollout strategy to test fixes, rollout updates and features in production. A new feature is initially only available to a fraction of the users. They then track the usage and feedback and decide either to continue or disable the feature.
Yet, this approach will not work for a healthcare organization, an insurance company or a bank. A glitchy trading application may result in a massive loss even if made live for just a minute. The strategy and focus here should be to invest in testing upfront. The app needs strong and comprehensive QA and at the speed of Agile.
To sum it up
How to scale your QA Team
- Involve QA teams from day 1
- Define scalable test strategies
- Keep your sight on product quality, less on narrow metrics
Parameters for Agile QA at Scale
- Automation is indispensable
- Quality is top priority
- Engineers have equal ownership
Maintaining Quality and Speed at Scale
- Nail down requirements accurately
- Practise Quality Driven Development
- Try canary releases
- Invest in comprehensive testing and automation.