While we were sitting around the breakfast table this morning, my wife asked me what I had to do today. I replied that I needed to write an article on “Agile Testing”. Overhearing this conversation, one of my daughters quipped:
“Agile testing??? You mean as opposed to clumsy testing? “
As I think about, I realize that her comical comment is, in fact, accurate. The way I have to test on a traditional project is rather clumsy and inefficient compared to the way I test on an agile project. Piles of paperwork, hours logging issues in a tool, and slow turn-around time, just can’t compete with minimal paperwork, face to face collaboration, and fast turn-around times. I admit it. I am an agile proponent. I favor an environment where the management team, the development team and all of the stakeholders are on board with agile development. I have found that the team can produce systems not only faster, but of higher quality, when the team I am working with uses mature agile methods. But I am also a realist. Often I am faced with an environment where corporate policies and procedures prohibit the team from using agile methods “by the book.” I could choose to not work on those projects until the organization is fully agile compliant, but I find that there is value in helping software development teams “drive an agile peg in a CMMI hole.” If any of you have been there and done that, and have a few particularly useful and innovative tips to share, I’d love to hear from you.