Tuesday, October 14, 2008

Testing as a Team Sport

If an entire Product Development is considered to be a Team Sport (say Football), what would be Testing team’s role in it? What are the things that a Testing team can adopt from Football?

Let’s consider the case when a Football Team is playing for a win. There is an entire Team who has the common objective (mission) to win the game. The only way to win the Game is by scoring goals and conceding lesser goals than what you have scored. This doesn't mean that every player in the team is trying to score goals. The Coach draws out a Game-plan to achieve the mission. Players in the team are given certain specific tasks like goal-keeping, defending the goal, controlling mid-field and there would be usually 2 strikers whose responsibility is to score goals. The combined effort of each of these roles is required if a team has to win the game. And there would be times when the coach has to redraw the game-plan according to the situation and find the best tactics to achieve the mission. The success of the Team depends on whether the players in the team know what to do when they get the ball. The task of goal-keeper when he receives the ball would be different from what the defender has to do when he gets the ball or even different from what the striker have to do when he gets the ball.

Similarly in a Product Development the Project Management draws out the game-plan. Then tasks are assigned to the respective Development and Testing teams. The combined mission of Development and Testing team is Successful Release of the Product. Both these teams will have their individual missions too which would ultimately ensure the combined mission is achieved.

The mission of the Testing team is to provide quality related information to the Stake Holders (who would be part of Management) and to facilitate them to take decisions. The Testing effort may still be broken further into sub-groups like UI Testing group, Function testing group, Installation Testing group, Database testing group etc. The Test Plan provides the game-plan as to what all things the Testing team would be responsible for (what all Testing would be done and what are the deliverables), what are the resources available and dates for completion of these tasks are provided. The Test Lead would be the captain who will marshal the resources and the coach would be the Test Manager who would ensure that the mission is on track and take decisions like altering the game-plan etc. The Testers would fill in for the various roles that the Manager provides him based on the Testers skill-sets. The success of Testing efforts depends on whether the Tester knows when they have received the ball, what should they do once they receive the ball. It also depends on how well each Tester has played his role and what information they have provided to the Management. Was the information provided by Testers help the Management to take decisions like - whether the product has matured enough to be released OR would some changes be made to the game-plan and take out the alternate game-plan?

Disclaimer : All contents in this article are my personal views.