Sunday, August 26, 2012

Testing Times

There comes a time in every project's life when the big release is due, which may involve user acceptance testing that doesn't fit into the Scrum (or Agile) methodology - that is, it must be done at the end of the project. No matter how much regression testing & continuous integration you've employed along the way, there will need to be formal reports or documentation that satisfies the customer's (or the company's) need for waterfall processes.
It is at this point that you suddenly realise that you have a hole in your process.
The team structure that has worked so well for so long throughout the project - one tester feeding off a handful of developers - falls in a heap because all of the developers need to do testing, but they don't know the tools or the test process. The tester now becomes the bottleneck & doesn't have time to do any testing themselves because they're busy running around getting everyone up to speed.
Productivity plummets. Questions get asked about potential slippages or how to deal with the issues raised as a result of testing. The methodology is under fire & under stress, as is the team, the scrum master, & personal sanities.
Do not despair!
(or, in the words of the Immortal Douglas Adams - "Don't Panic!")
This is not the end of the world, merely the release of the product. Potentially, it's the end of the project (dependent on how you do such things). At the very least, now is the time to learn from the experience & work out how to do it better next time - & that doesn't mean going back to the way things used to work - because things usually didn't.
Move forward! Train! Share the load & responsibility - & ownership - of the whole process. So what if you forgot to count the release process in your general development procedures. You will next time, because you're agile. That's the point - not getting it right first time is a good thing - it means you have room to learn & improve. Getting it right first time means it was very obvious (not interesting), or else you've missed something fundamental (far more likely). It will hit you when you least expect it. That's OK, because you're agile enough to deal with the problem when it happens (rather than trying to plan for all eventualities up front).
Product release or project completion is not the end of the world, & shouldn't be treated as a threat to the methodology. These things were meant to try us, but they are short-lived testing times.

No comments:

Post a Comment