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 work fast and release new features frequently, this isn’t the best approach. To be truly agile and deliver a higher quality product in less time, QA and developers should be in sync, working together in parallel. In many software development teams, QA and development continue to work independently. Developers work on new features and pass them 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 deliver a higher quality product in less time, QA and developers should work together in parallel.
Agile allows teams to design, develop quickly, and ship new features, which requires QA to work alongside development to understand the software’s requirements and functionality. Developers and QA need to discuss the best testing strategy for the application’s code to ensure QA is up to speed on its build and the required functionality. Changes to code, requirements, and product decisions are bound to happen, so closer communication means that QA will be better prepared.
Testers are excellent at providing feedback. By integrating QA into the development process, you shorten the feedback loop. While it’s the nature of QA to find what is wrong with the software, a dedicated 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 an element and directly give them 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 is demoralizing and inappropriate. Like any relationship, balance is the key. Define a process, leverage tools, and most importantly, play nice. While QA and development have different roles, they share the same goal of delivering quality software to happy customers.
By integrating QA and development, both roles will learn and better understand their value to the software development life cycle, introducing a new level of respect. Most importantly, bringing QA closer to development will ensure your team can adapt quickly and provide a higher quality product to your customers.