Predictability and repeatability are critical to the success of any business strategy. They’re key ingredients for creating efficiency and getting reliable results. Bain & Company’s Chris Zook and James Allen underscored the point in an article they wrote for the Harvard Business Review. In it, they explain the importance of striving for “a simple, repeatable business model that a company can apply to new products and markets over and over again to generate sustained growth.”
When it comes to executing your application development strategy, predictability and repeatability are just as important. That’s because to succeed in a fast, dynamic and highly competitive market, you need to be able to reliably develop and release software that meets expectations. Not only that, you’ve got to be able to do so on time or you risk getting eclipsed by your competition.
Quality assurance has a key role to play in this process. It’s effectively an insurance policy that, when used diligently, can help you prevent a variety of downstream issues. These include everything from production bugs and delayed releases to poor user experiences, system outages and ultimately decreased revenue. In other words, quality assurance helps make application development more predictable and repeatable by eliminating much of the uncertainty from the process.
To better understand, let’s take a closer look at the role of quality and testing in helping your business successfully execute predictable and repeatable projects, and how to best ensure that happens.
How quality contributes to predictability and repeatability
When your QA team is properly enabled, they can help ensure the success of your software by finding and addressing potential problems with your software before it reaches your customers. Good testing teams anticipate problems, find others that no one was expecting, and ultimately ensure that any critical ones get resolved before the software goes into production.
As a result, you can be confident that any software you release is always going to be of high quality and that you are well placed for a successful rollout. Given the alternatives — last-minute patches, software rollbacks and degraded customer experiences, to name just a few — this is essential. And since testers develop expertise in what types of issues to look for, over time QA teams develop a much more efficient process.
The introduction of new techniques, such as automated testing and behavior-driven development (BDD), are particularly valuable in efficiently driving repeatable results. With test automation, the same tests can be re-run in exactly the same manner, eliminating the risk of human errors which can result in defects not being identified.
Brian Farwick, a Principal Software Quality Engineer at Honeywell Intelligrated, says automated testing has helped his organization reliably deliver high-quality software. And as the Harvard Business Review points out, Honeywell has certainly delivered, and has become a leading example of successful digital transformation.
“Automation, in particular, is a key component of repeatability,” says Farwick, who has worked in QA for more than 15 years. “By automating testing, QA teams are able to better integrate testing with development processes. Automation also makes testing inherently more repeatable, which in turn helps ensure the predictability of your releases.”
Although quality assurance can be a key driver of predictability and repeatability in any application development strategy, business leaders must prioritize quality and ensure their QA teams are equipped to leverage the latest testing techniques and tools.
Testers are uniquely positioned to understand the user experience and identify weak spots in your products. That’s because proper testing requires a deep understanding of the user. Consider a requirement to add a new button. The QA team cannot test that the button is working properly unless they understand when and why a user would click on the button, and what the user is expecting to happen next.
Because testers spend so much time in the product when it is closest to release, behaving as a user would, they have a unique perspective that can help ensure you reliably deliver high-quality software with each release. By giving QA a seat at the table, you can incorporate this unique perspective into your development strategy.
Setting your QA team up for predictability and repeatability
Here are three ways QA teams can help ensure predictable, repeatable success.
1. Reviewing user stories
One of the most helpful things to do is to bring your testers, developers and business analysts together to review the requirements for new products as a group. This gives the analyst the opportunity to articulate what he or she needs and the developer the chance to talk through approaches to coding the software to meet those needs. Meanwhile, the tester can interject any concerns that he or she may have about the developer’s planned approach, highlighting potential downstream implications from a testing perspective.
Many organizations are achieving this by shifting to behavior-driven development (BDD). In addition to bringing these stakeholders together in advance, BDD calls for test scripts written in plain English. As Tricentis’s Director of Product Ryan Yackel noted in a recent InfoWorld article, this approach“ can ensure alignment at the outset and ultimately produce higher quality software.”
By getting aligned before work starts, everyone walks away with a clear understanding of what’s expected of them. Everyone knows what they’re supposed to code, what they’re supposed to test, and how the final product needs to look.
2. Conducting defect reviews
Just because a tester flags an issue as urgent, that doesn’t always mean that it is. While testers often have the clearest idea of a user’s needs, by conducting defect reviews with the business analyst, they get much greater clarity about what’s most important to the business. This allows them to work more efficiently because it means that they can prioritize issues that need to be addressed right away, while reserving other, less critical ones for the next release. That saves time and effort and helps align testers and the business on shared goals.
3. Conducting peer reviews of test cases
Every quality assurance professional is going to approach testing in a slightly different way. One tester will think of one set of requirements while another will approach the same task from a different perspective. By conducting peer reviews of test cases, you’re not only ensuring that you get a better result (since testers can learn from each other and develop new approaches to their work) it can also help you identify people’s strengths and weaknesses. This, in turn, is very helpful when it comes to allocating resources appropriately to get the best results.
Fundamentally, what these three tactics have in common is that they increase transparency. That allows everyone to work more efficiently and, in turn, increase the repeatability and predictability of their work.
Using the right tools
Farwick says having access to data is another important piece of the puzzle. “You need to have all of your testing data in one centralized location where everyone can access it,” he says. “It not only further helps with the transparency issue, it drives greater accountability.” He recommends having a single repository for all QA data that all parties are able to consult to get the information that they need. The right software testing and QA tools can go a long way toward not only meeting these objectives, but also helping you drive predictable and repeatable results.
“When you have good processes, make smart use of automation, and have the right tools in place it’s a win-win for everyone,” he says. “The QA team is happier and works more efficiently and the business benefits from greater repeatability and predictability.” That’s something that everyone can be happy about.