In my experience, some people implement agile principles within the development team itself, but leave other key roles (for instance business users or testers) out of, or on the fringes, of the agile team.
Earlier in my blog I wrote that active user involvement is imperative in agile development for a wide variety of reasons. It’s just as important for the agile team to include all roles required to ensure that each feature is actually complete, that is complete, at the end of each iteration or Sprint.
In particular it’s a good idea to include Testers from the outset, and especially in planning, because:
- Testers tend to be exceptionally good at clarifying requirements and identifying alternative scenarios. Doing this thinking at the requirements clarification and planning stage improves the quality of estimates given for the work, and therefore increases the chances of successfully delivering in the timescales.
- When more is known about the test approach up-front, developers are more inclined to write their code to pass! (see my earlier post on test driven development).
- Testers that are involved in requirements clarification and planning first-hand will have a much better understanding of what’s needed and how it’s being implemented, enabling them to do a better job of the testing. In the absence of a lengthy specification, this is essential in agile development projects to allow a Tester to do their job effectively.
- And testing must be completed within each Sprint for any completed features to be really 100% “DONE!”, i.e. production ready.
See also: 10 Key Principles of Agile Development