Agile 12 Step - Step Nine - Enhance Testing Practices
Enhanced Testing Practices: Every group should be working towards some form of Test Driven Design & Development. In my world there is a test in place to validate before a line of code is ever written. This should be standard practice for Agile teams. Testing should never be treated as a second class citizen. Testers are as critical if not more critical to the success of the project than the developers themselves. Even acceptance tests should be written and set to fail prior to the beginning of any Sprint. This helps insure that we do not gold plate the code we create and that we work towards potentially shippable code at the end of every iteration.
Automated or Optimized regression tests should also be highly desired. Agile without optimized and or automated testing practices is dead. It is super important that we understand how things work and know the best way to test how they may be used in practice. The most successful organizations focus a great deal of attention to building and applying the correct test suites. One last note, development and testing should take place in the same geographical location. we should not be bouncing the work and tests back and forth in between teams who are located half way around the world. The work should be aligned in such a way that we can have both development and testing work that takes place wherever we have a team geographically located. The end game is we do not skimp on testing.