Today was a good day for quality. Your development group rolled out some of its best code yet and your ops team deployed it without a hitch. Your boss is happy too, because you’ve built a high-performing testing process that reliably intercepts critical risks – the kind that might compromise security, customer experience or stock price.
But what about tomorrow? Quality is a journey, and with every sprint and every release, your team strives for increased speed and efficiency and fewer errors slipping past. How can you maintain the quality standards you’ve achieved, even as the development cadence accelerates and as processes, people and resources change? How can you “future proof” your testing team and processes?
Four Threats to QA Stability
Before you can answer that question, you need to answer two others: First, what do you and your organization need from testing in the future? (Do you need to modernize testing to keep pace agile development or DevOps releases? Do you need to scale test automation to keep up with more frequent DevOps releases? Or do you just need to maintain the standards you’ve already achieved, but for a broader set of products under test?)
And second, what changes or threats might break your vision and turn today’s smooth processes and high quality releases into unreliability and delay? (Are you facing roadblocks to the cultural changes required to implement modern processes? Do you have the right team, skill-sets and tools in place? If the answer is no, will your leadership allocate adequate resources for making the necessary changes?)
For the latter questions, it’s important to assess what might jeopardize your team’s goals, as well as your organization’s quality objectives. Disruption typically comes in one of four forms: your team, the applications under test, timeline expectations or resources.
1. The Testing Team
Quality starts with people – skilled people who’ve mastered the products they’re testing and what the users expect, as well as the QA tools and best practices required to get the job done. However, testing talent is a coveted asset, and being able to attract, develop and retain it is a hidden vulnerability for companies of all sizes.
There’s a limit to how hard or fast people can work before encountering escalating risks of exhaustion and mistakes. Eventually, even maintaining progress requires additional staff that may be unavailable. As testing processes and tools proliferate, it’s also common to see essential operational expertise and access concentrated around key specialists. This makes these individuals more valuable, but it can create bottlenecks that impede results and team utilization. Even worse, it may create devastating “single point of failure” vulnerabilities if they can’t meet critical objectives, or if they leave the company.
In a competitive IT job market, turnover is more a matter of “when” than “if.” How would losing a key person potentially impact your team? Would essential knowledge and expertise walk out the door with them? Are their skills and abilities redundant, or could an untimely resignation jeopardize a process you’ve worked hard to develop? Recruiting and training a replacement may be impractical in an aggressive release cycle. A truly future-proof testing team will have built-in resilience and efficiency, in the form of documentation, thorough cross-training or both, which lets the team perform effectively even when shorthanded.
2. The Applications Under Test
Environmental changes are another disruptor, especially when there’s a big change to well established processes. Testers that have worked for years in traditional waterfall development environments may be slow to adapt as you shift to iterative agile or DevOps methods. Bimodal development approaches with conflicting QA requirements may coexist. There may also be increases in developer autonomy and the use of microservices in place of monolithic applications and development environments. These additional development complexities can lead to an unmanageable patchwork of incompatible testing tools and processes. As a result, quality can suffer.
Changing end-user dynamics are another variable. Reasonable quality standards for a sleepy back-office server application might be grossly inadequate when applied to a customer-facing, cross-platform mobile application. If your organization is shifting to a software-led business model, or releasing an application to increase customer engagement, quality outcomes will become a core driver of factors such as customer experience and market share. You’ll need to evaluate and implement new methods, processes and tools that enable you to meet the quality standards of a new set of users.
While some environmental transitions are easy, others are not. Rapid environmental changes may impose “adapt or die” pressures on a QA model that previously performed well. But if you future-proof your testing team, you can thrive across the current development spectrum – waterfall, agile, DevOps and whatever comes next.
3. Timeline Expectations (i.e. The Need for Speed)
There’s a reason why you never see billboards for “The fastest dentist in town” or “three-minute haircuts!” Doing a job too fast is an easy way to ruin the quality. Unfortunately, market factors push testing teams to get increasingly complex software out the door faster than ever before. As serial waterfall-style test cycles get lapped by iterative sprints and continuous delivery, testing needs to get faster and smarter.
But if you don’t have the right processes or tools in place, using them faster won’t get you to the desired destination. (How much worse would that three-minute haircut be if the stylist only had a pair of dull, rusty scissors?) A big part of future-proofing your testing team is anticipating how much faster you’ll be expected to test and ensuring you have a team that can execute and access to tools that can streamline test management, automate wherever possible, and simplify reporting so you can pinpoint issues quickly and check your progress against your goals.
Quality assurance is the solid foundation high-performance software is built upon, and on average, it comprises about 26 percent of total IT spending. But even at enterprises leading their fields, testing budgets vary widely. Even short-term QA spending cuts can have devastating long-term impacts to the overall success of a product.
In the face of conflicting priorities for additional development resources, it’s easy for testing funding requests to get pushed down the priority list. This may mean critical testing initiatives are denied, leaving testers with inadequate tools that don’t meet the needs of modern development processes, or with free or add-on software that can’t scale. Good intentions aside, an incompatible and unsustainable matchup of single-purpose test apps undermine and handicap the QA team. QA needs a sound and scalable platform that can thrive in any development environment.
With these challenges in mind, what makes for a truly “future proof” testing team?
Four Attributes of a Future-Proof Testing Team
QA needs versatile players and a versatile testing platform that’s easy to use, consistent and integrated with core development systems and workflows. A versatile system breaks down functional silos and minimizes training and system integration friction. It empowers teams to collaborate and share work, and it minimizes labor waste due to hand-offs and skill gaps.
Distributing QA functions across development and testing teams builds and reinforces quality at every step. It allows product owners, developers and testers to drive quality results together. It transforms QA from a discrete, post-development “carwash” into an integrated function across the development lifecycle. This approach pre-empts serious issues, improves documentation and minimizes the delays and risks of conventional serial testing. To enable this kind of collaboration, it’s critical to foster positive relationships between developers and testers and ensure they have visibility into one another’s progress so they can respond quickly.
Scalable testing processes keep teams on track as development speed and complexity increase. You can achieve scalability with a distributed model that’s designed to deliver progressively better results, faster. And you can get there with a foundation of people, processes and tools that foster collaboration and align with the development process. Skilled testers, even those without direct coding knowledge, can help you build a solid test automation strategy that is extensible over time, as well as determine what can be automated first to achieve a quick win for scalability. You’ll also need to ensure you’re prepared to handle the exponential increase in test data associated with increasing levels of automation.
A future-proof testing team also includes deep visibility into QA metrics and results, as well as the ability to share compelling insights across the team and with executive audiences. If you have a sound method for reporting and analytics, you can collect data that feeds both real-time optimization and release readiness assessments, as well as cumulative data that can help guide ongoing quality improvements across the organization. It also supports effective budgeting, risk management and payback validation for quality investments.
Change is inevitable, and it may not be possible to entirely future-proof your testing team. But by considering the challenges your team may face in a fast-paced, changing environment and ensuring they have the resources they need to succeed, you can create a resilient team that’s ready to face potential threats and seize opportunities.