Many of the things we agile proponents take for granted can seem crazy to folks from a traditional background. Take testing for example, and the whole idea that the tests and the design process should be intertwined. Traditional Test/QA departments are organised around the belief that testing is external to the development of the software. From that point of view, the agile community is saying at least two radical things:
- it’s okay – indeed, it’s better – to “re-design” the code so that testing is easier;
- the changes for testability are now part of the system under test, and will be shipped to the user.
Maybe we have to invent new terms for what we do. Because from the above point of view we’re not using the word “tests” in the sense that it has been understood previously…