When we add veggies to our diet, we feel and function better. In the world of software engineering, it helps to think of quality assurance (QA) like leafy greens. If engineering teams embrace quality – and build it into their practice for releasing software – they’re more likely to achieve positive, healthy outputs.
Here are six “quality vegetables” I’ve added to my team’s daily routine – and a rundown of what you can do ensure you’re getting the recommended daily value.
1. Add a trusted QA vanguard to your business
Organizations that embrace QA lay the groundwork for better, faster, stronger partnerships between their tech and business stakeholders. Dedicated QA vanguards instill good management practices and provide better transparency around project health (ie. issues, risks, task status, resource allocations). That transparency has the power to spark conversations, drive improvements/corrective actions, and even realign priorities. What happens when you have full confidence in your team’s ability to crank out top-notch, glitch-free software? It’s a lot easier for business partners to trust you, too.
2. Build a robust QA methodology
Quality is defined and measured across project teams in many ways. To ensure you’re building software that can work in multiple environments across different platforms, you should add multiple testing methodologies into your agile development process. Broadly, this can be broken down into two categories: functional testing and nonfunctional testing.
Functional testing helps us measure our application against business requirements. The QA process should incorporate multiple test types, configured so that the software behaves as expected in the test case(s) provided by your design team. These testing methods might include:
- Unit testing
- Integration testing
- System testing
- Acceptance testing
Nonfunctional testing should focus more on the operational aspects of your software application. This can include:
- Performance testing
- Security testing
- Usability testing
- Compatibility testing
The key here is to have a robust testing framework that 1) helps ensure high-quality software and 2) allows you to apply different testing methodologies based on the specific needs of your project.
3. Embrace the “Shift Left” mindset
If you keep tabs on software testing trends, you’ve probably heard of the increasingly popular “shift left” movement. (ICYMI: “shift left” is a trend where teams begin testing as early as possible, test often throughout the lifecycle, and focus on problem prevention instead of detection.) The goal of this strategy is to improve quality, shorten test cycles, and reduce the possibility of unpleasant surprises when it comes time for launch.
We can all agree that testing shouldn’t be held until the last few days before a release. But it’s possible – and in my opinion, better – to involve testing on Day 1. Testers can join design sessions to ask questions about how customers work – which will ultimately lead to design changes. They can brainstorm with back-end engineers to create test ideas and ‘what if’ scenarios. They can sit down with API developers and stub out tests for new services while they’re being developed. They can even pair up with UI and API developers to test something new on their machines before it’s ever included in a build.
Shift Left isn’t just about testing closer to the beginning of a release cycle – it’s a way of sprinkling a healthy dose of QA into each step, as features are being planned and developed. Best of all, you’ll lower the stakes for the testing you do save for the end of a release process.
4. Empower your team to add value
In an increasingly agile environment, connection to projects, to teammates, and to broader business goals is critical. Empower your QA team to add value in unique situations, reward new-and-improved development processes, and generate buy-in for each piece of software they work on. How? By providing positive feedback and supporting their ideas. With QA on your team, you’ve got dedicated talent to help with everything from browser/device support to risk assessments and design reviews. Give that talent an open corridor, and you just might improve the whole software development life cycle.
5. “Shift Right,” too
Yep, you read that right. I outlined the advantages of “Shifting Left” above – but it’s important to find balance.
“Shift Right” helps reduce risk. (We all know customer use cases will present challenges that no one could have imagined). In this approach, we employ controlled experiments regarding functionality, performance monitoring, failure tolerance, and user experience – right into production. By testing in production, you’re sure to find new and unexpected usage scenarios. This allows you to take what you’ve learned back into your test suites and close the loop on correcting future issues.
With this approach, we can also measure and track defect leakage to production. Integrating with production monitoring and incident management tools will ultimately help gauge release success. All of this will help improve our delivery lead time, deployment frequency, mean time to repair (MTTR), and change failure rates.
6. Establish a Target Operating Model
Quick crash course: A Target Operating Model (TOM) is a high-level representation of how a company should be organized to efficiently and effectively execute on its strategy.
Every significant element of business activity should be represented in this model to help employees visualize their organization from a variety of perspectives across the value chain. This gives everyone a common understanding of the people, technology, and processes that make up their organization.
Target Operating Models are particularly useful to software engineers because they outline the value that we bring to the organization. (Remember, everyone’s favorite radio station is WIIFM, “What’s In It For Me”.)
For example, let’s say your team wants to advocate for embedded agile teams (to enable testers to work closely with developers), or continual training (to improve productivity and efficiency). TOMs allow you to take these processes, identify where they exist throughout the organization, and find ways to continuously measure and improve them.
Eat your quality veggies
Adding these six quality vegetables to your team’s daily routine will foster a healthier lifestyle for you, your project teams, and your business partners. All with no *actual* Brussels Sprouts required.
Up next: Director of Engineering, April Gibson-Fulton reveals the secret recipe for a world-class engineering culture. Then, gaze into the future of ad personalization with Director of Paid Media, Sean Murphy.
About the Author:David Bennett
David has been in technology for 18+ years with experience in Quality Assurance, Engineering, Operations, Product & Project Management, and Implementation of SDLC best practices across multiple industries. He’s passionate about improving product quality by protecting the company’s brand, creating high-performing teams, implementing best in class development processes, and pursuing continuous improvements.