When using an agile methodology, testing is never far behind. Yet testing is something that does not come naturally to a developer.
It is a skill that has to be triggered, nourished and sustained. A more traditional developer will show eagerness to start his coding, while an agile developer will typically start with thinking his software design over and spending an adequate amount of time on his functional and technical test design. Only then will he start coding. It is this difference that an agile start-up should try to eliminate as fast as possible, and here lies the opportunity for skilled software testers.
Dubinsky and Hazzan (2004) break a good agile team down to members with dedicated roles (aside from coding): customer, tracker, coach, tester, etc. Specifically on the testing role, the authors stress that it should be attributed to a developer. His responsibility essentially lies in guiding team members by example.
I would like to turn this argument around: a software tester with a sound background in development will have a much bigger impact on an agile team than a developer with a testing role.
The developing tester
Of course, this seems like a discussion on mere semantics: the developing tester versus the testing developer. The main difference between these two is in their mindsets. While a developer sees parameters in methods, an experienced software tester sees opportunity for