How can software testers best adapt to combining Agile with other development methodologies?
What is Agile Testing? What is an Agile Methodology? What is ANY development methodology? The point of each of these ideas is centered on how we make and test software. We know and have memorized the points in the Agile Manifesto, yes? If we really understand them, and understand how effective teams work, we can recognize the similarities between any effective software development teams no matter what methodology is in use.
Testing is what software testers do. We can test requirements, assumptions, design and the code/application itself. The environment, including development methodology, describes the situation the tester is in, and to a broader extent, the entire software development team. This situation, the context, is fundamental to directing the testing effort.
Attempting to apply a given approach as if it is a cookie-cutter may work in some situations. However, testers must be adaptable to recognize that projects and environments may vary and what is used effectively on one project may not translate well to the next. When you attempt to force a single approach or a single view in every situation, no matter if it is Scrum, any of the test-driven development or some other methodology, you are recreating the very problem that lead to the development of the various Agile methodologies.
The hard part is recognizing that the various methodologies can work in different situations, and being open to that recognition. The point of Agile is to develop and deliver working software quickly and efficiently. The challenge then is to recognize the most efficient way to deliver working software in the situation you are in, and working with others to make this happen.
This was first published in June 2012