Some think of QA as a roadblock in the software development life cycle that slows progress by raising bugs and informing developers about broken code. Well, yes, those are some of a tester’s responsibilities. While it is true that QA can slow development, it’s essential to consider how in the long-term, software testing can actually speed up the software development process. In other words, you can speed up development by slowing down. Seems odd, right? Here’s how.
QA testers find bugs before the customer
If QA is doing their job, they should find bugs before the customer does. By the time there’s a discovery of bugs in production, the developers are already building the next feature. Their focus is on something new, not a previously signed-off job. When a bug is discovered at this late stage, it doesn’t just look bad to your customers. It demands that your developers stop whatever they’re working on, shift gears, and refocus on something they’ve been away from for days, weeks, or even months. When this happens, it’s a massive hit to productivity. Still, with proper testing, you can preempt surprises so things can keep moving smoothly in a forward direction.
QA testers can identify usability issues early on
Similarly, QA testers in software development are excellent providers of feedback. QA can identify usability issues before the user can discover them. Doing this saves having to re-design and re-code features after they’ve already been shipped. When QA integrates with the development team, quality becomes an inherent trait of the entire team.
Dedicated QA ensures developers are focusing on development
Developers are employed to write code. Let them write code and stay focused on that alone. If you practice test-driven-development, keep doing it, but let QA handle the real heavy parts of testing before release. Integrate testing into the development process, and you’ll find that developers are more efficient.
In the agile world, the focus is on working fast. After all, that’s part of being agile. It’s important to allow QA to apply the brakes once in a while, but it doesn’t mean your QA team should always be testing everything. Work fast when working fast makes sense. Identify areas of risk, and let QA provide feedback, investigate, and test. The sooner you discover an issue or an error, the sooner you can get back on track building fantastic software in software development. By closing this loop and injecting quality into the process, you’ll end up with a higher quality product, and your team won’t be running around extinguishing self-inflicted fires.