@silvercatalyst posted on twitter a few days back that one of the trainees in his session counted testing as waste. I retweeted with a #funny but @silvercatalyst said he actually agreed with it. So we twiscussed it for a while. (By the way twitter is just the wrong tool for discussing interesting things). Back to the story.
Here's what we ended with after a few emails had been exchanged:
- Testing is not wasteful. But testing as an activity after development (especially after a time gap) is wasteful
- Some types of testing can be done upfront but other types still have to be done after the story is complete
- There are ways to prevent bugs (rather than catch them) by Dev + QA and BA + QA pairing
Mixing this conversation with Feature Injection technique and Mike Cohn's post on removing Finish to Start activities, I think that BA(or Customer), Dev and QA pairing on a story will provide tremendous boost to cycle time and significant reduction in bugs. But to achieve this, you need certain pre-conditions to be true.
- Co-location with customer. Else a great BA who is an excellent customer proxy
- Poly-skilled team members (not just smart)
- Team members (including the Customer) open to work towards a moving target (with negotiable stories)
My next project will hopefully see this implemented, at least in small steps. Something a step ahead of the Ménage à trois that's already been tried out successfully.
Thanks @silvercatalyst for an interesting discussion and helping me put my thoughts together on a bunch of stuff I had read recently.