In many software development teams, it’s common for QA and development to work independently. This is the standard way of doing things (at least it used to be). Developers would work on new features and pass them off to QA for testing. QA and development often wouldn’t even sit in the same part of the room, rarely interacting with each other. However, in agile software development, where small teams are working fast and releasing new features frequently, this isn’t the best approach. To be truly agile and to deliver a higher quality product in less time, QA and developers should be in sync, working together in parallel.
With agile teams being so quick to design, develop, and ship new features, QA teams need to work alongside the development team so they can understand the requirements and functionality of the software. Developers and QA need to discuss the best testing strategy for the code that has been written for the application. This ensures QA is up to speed on how the feature is being built, and is well informed of the required functionality. This also allows QA to be ready for changes that are bound to happen – changes to code, requirements and product decisions.
Testers are excellent at providing feedback. By integrating QA into the development process, you shorten the feedback loop. While the nature of QA is to find what is wrong with software, a true QA analyst inherently knows what’s right. Testers aren’t only looking for what doesn’t work; they are aware of missing features and have a strong sense of quality all around. In the same iteration, developers can make changes to a feature and give those changes directly back to QA for further testing.
So how do you balance the unique and often sensitive dynamic between testers and developers? After all, a tester is out to find things the developer did wrong or did not complete. QA see it as a success when they find a bug, but a developer sees it as a failure. QA jumping down the development team’s throat isn’t healthy. That’s demoralizing and not appropriate. Like any relationship, balance is key. Define a process, leverage tools, and most importantly, play nice. While QA and development have different roles, the goal is the same: to provide quality software to happy customers.
By integrating QA and development, both roles will learn and better understand the value they bring to the software development life cycle, introducing a new level of respect. Most importantly, bringing QA closer to development will ensure your team is able to adapt quickly, and provide a higher quality product to your customers.