In agile development, teams are responsible for testing. Not agile testing teams, but the agile development teams. So where does this leave traditional testers?
The typical answer is that testers become team members. But this answer doesn’t explain the role of the tester on the agile development team, and it raises an ominous question for testers and QA professionals: “If everyone on the team is responsible for testing, is the tester’s role still needed?”
The answer is a resounding yes. Testers and developers possess different skill sets. They approach problems differently. Their training and experience shape their perspectives on a project or a product. They look at the same user story and see different things.
Traditional development practices segmented people by skills and roles. In that way, software development was similar to a manufacturing plant—when one group of specialized workers finished with a segment of the work (developers), the product moved to the next group of workers (testers), like a car on a conveyer belt.
Agile practices evolved for a reason—the old ways weren’t achieving the desired outcomes. Agile replaced stages and siloed experts with integrated development cycles and collaboration.
Collaboration multiplies the effectiveness of testers’ and developers’ complementary skills. Their knowledge rubs off on each other, and over time the roles may blur. I believe, testers bring distinct talents and values to the team.
So, what’s the value add of having a skilled Tester on your team?
Testers are the voice of the customer. They know how to separate the design and intended use of the application under test from the way the end user will actually use and interpret the system. Testers are invaluable for crossing the bridge between features and business value. Testers help product owners clarify acceptance criteria and understand risks. They help the team define “done.”
Testers facilitate early clarification of software expectations. The tester hears the customer describe the desired functionality and helps translate that into testable user stories. Testers are particularly attuned to what expectations are reasonable or unreasonable, and how delivery towards these expectations will be measured.
Testers add focus. Testers work with developers to ensure that what is being built is the product that is needed. Agile testing provides ongoing feedback about how well the product-in-progress is meeting the business needs and product requirements.
Testers are always testing. Teams with testers test early and often, and continuous testing equals continuous quality. Embedding testers on teams shortens feedback loops—less time passes between the points when the developer writes the code, the code is executed, and information is provided about how the code behaves.
Testers help teams find bugs early and fix them fast. Instead of waiting until the code is developed to figure out if the acceptance criteria is met, and scrambling to fix the bugs before the product has to ship, development and testing occur concurrently on agile teams.
Testers ensure that regression testing is a continuous process. When regression testing is built into the development process, as soon as code is loaded into the build, it can be tested. Quickly identifying the code that doesn’t work means that the team doesn’t have to unravel days of work to get to the source of the bug. This is key to reducing duplication and wasted effort.
Agile teams do not view testing as a step in the process of software development. Instead, agile testing, which requires testers, is a way of working that gives teams confidence that the work they have completed to date meets the customers’ expectations.
Kevin Dunne is a product specialist for QASymphony, striving to ensure the continued success of existing and prospective members of the qTest community. Having acted as a tester in his previous jobs, he enjoys interacting with customers on a daily basis to keep current on the latest trends and tools in the testing world. He is always eager to hear what others think about the industry – feel free to drop him a line at email@example.com or connect with him on LinkedIn: www.linkedin.com/pub/kevin-dunne/36/b73/ba7/