Software testers can combine Agile with other development methodologies by applying the values and principles of Agile to choose the most effective and efficient test methodology for the testing challenge at hand. In order to do this, software testers must not only understand that Agile is more than a software development methodology, but also that they must "be" agile.
Software testers can be agile whether or not their organizations use Agile methodologies. Being agile means choosing the test approaches and tools that will best achieve the test objective. This could mean automating test cases and using an iterative approach for one type of project -- for example, a series of upgrade phases -- while concentrating more on exploratory testing on a project where usability is most important.
How do software testers become agile? One of the best ways is to follow the Shuhari approach. Shuhari is a method of learning which came from Japanese martial arts. Alistair Cockburn, who helped propel the Agile movement, applied the Shuhari method to coaching Agile teams in 2002. There are three stages of learning in this technique.
Students begin their training in shu. In this stage, the master demonstrates and gives directions to the students. The students follow the master's approach exactly, without variation and without understanding the underlying principles. As the students become proficient, they begin to learn the underlying principles and incorporate information from other sources. When the students reach ri, they begin to learn from their own experiences and vary their approach depending on the situation.
Ahmed Sidky, principal consultant of Sidky Consulting Group, Inc., said, "Agility exists in ri." This applies to software testing as well as Agile methodologies. When software testers are so competent in their craft that they apply the right test approach at the right time and in the right way, they "exist in ri" and become agile.
Test your Agile methodology knowledge
Applying Agile to your deployment strategy
Dig Deeper on Agile, DevOps and software development methodologies
Related Q&A from Gerie Owen
Web services and APIs aren't the same -- or are they? How do web services and API testing differ, and what does each type of test aim to achieve? Continue Reading
A script-based tool has replaced a daily testing exercise on some code. Is it simply an automated test, part of a test automation strategy or even ... Continue Reading
Developers and testers strive to create quality, reusable code to deploy apps faster and keeps users happy. But what metrics should they track to ... Continue Reading