Thursday, December 11, 2008

All Together Now!

Today I was in a meeting that made me smile. When I came to this team four months ago (Aug 4th) and took up the agile coach role, I talked about changing how they did ATs. In line with conventional Agile thinking, I told them that the Customer should write them with the aid of QA as subject matter experts. Customer should own the AT, but the QA group could help them flesh out the tests so that they serve the team as requirements and regression protection. At the time, it simply didn't happen.

The QA group were writing the ATs on their own back then. This was strange, because they didn't run the ATs and certainly didn't trust the ATs, but they were writing them nonetheless. And they were disliking it. Sometimes the developers wrote the tests for QA, or in pathological cases rewrote them quietly. I am experienced enough to give a consultant's "okay" (meaning "if you insist") and move on to other practices.

We finally moved AT responsibility to the product group, and few of them put the real effort into learning to write them. The practice grew slowly until it became clear that having ATs in hand made it quicker to develop features. A few of the product people really stepped up then, but QA was no longer involved at all.

Our QA manager moved QA from tail-end release candidate testing to the working with active feature development. Errors are being caught sooner and fixed sooner than ever before. It's new to them, though, and new behaviors always require some settling in.

At the meeting today the "testers" were a bit frustrated. The story card just didn't give enough detail (nor should it have). They were told that the story card was just a token and not a document. They were unhappy with that. Then they were told to use the AT as the basis. At this meeting they were unhappy again because they found too many situations not covered in the AT.

I was delighted! This is exactly the collaboration I was looking for! Now the QA group has an active role in defining the tests for features being developed. Rather than a veto, they have a voice. The collaborations in our group have never been richer. The product group is driving the process, the QA process is actually establishing quality rather than proving its lack, and the development time is able to develop higher-quality work

We're not in perfect shape yet. There is a lot of technical work and mentoring before we can claim to be truly doing TDD, and we don't have all the tracking and control we'd like, but we're moving forward quite nicely.

I am looking forward hopefully. The transition is looking better than ever before.