Key Principle: Integrate Testers into the Development Teams

Learn why testers working side by side with developers is crucial for more effective Agile.

Today, two factors influence the approach to test organization: the rise of Agile development and the rise of automated testing.

Agile development emphasizes developers testing their own work, a positive and important step that minimizes the gap between defect insertion and detection. Unfortunately, this has led some organizations to eliminate testing as a specialization altogether. That step is misguided. Software testing is an incredibly deep knowledge area. Without understanding fundamental test concepts, most developers fixate on test tools but don’t apply fundamental test practices, much less advanced practices.

Test specialists still have several roles to play:

  • Taking primary responsibility for test automation.

  • Creating and maintaining more sophisticated types of testing, such as stress tests, performance tests, load tests, and so on.

  • Applying more sophisticated test practices than developers do, such as input domain coverage, equivalence class analysis, boundary value coverage, state chart coverage, risk-based testing, and so on.

  • Creating tests that would not be created by developers testing their own code due to blind spots.

Developer testing is the foundation for testing in Agile development, but test specialists still add value. In organizations that have discontinued the role of tester, we see staff members formerly classified as testers primarily focusing on integration tests, load tests, and other cross-cutting kinds of tests. We also see them shouldering a higher percentage of the test automation work than their more development-oriented team members. The Agile slang phrase “Three Amigos” includes test as one of the three amigos (along with development and business). The org chart might not recognize test specialists, but on the ground they still exist. This is an implicit recognition of the value that test specialists provide.

Effective Agile development depends on creating cross-functional teams, which includes testing. Testers should work side by side with developers throughout the software development and delivery process.

Get hands-on with 1400+ tech skills courses.