Monday, April 8, 2013

Agile Model: The advent of friendly tester

Testers and developers were known to lock horns in the conventional development model.   The developer would proudly defend his code, while the tester would proudly showcase the bug.   This behavior had to do little with the persona of the individuals (i.e. tester and developer).   They were expected to behave in this manner.  It led to a healthy competition, where the developer will try to write bug free code and challenge the tester to find scenario’s that can break the code.   This may appear as a conflict between the tester and the developer, but this led to development of a piece of software which was of excellent quality.    The coder had tried his best to make it bug free and the tester had tried his best to break the code in all possible scenario’s.

Now, as more and more organizations are following Agile Methodologies, the relationship between Testers and Developers are changing.   Taking the example of Scrum Based Agile methodology, the testers and the Developers are part of one cohesive scrum team.   The Developers writes the code for a particular user story, and the tester starts testing it even before it is formally delivered to QA.   In many instances, the tester tests the code in the developer’s environment (sometimes on Developers machine) and verbally tells the developer about the bugs encountered during this testing.   The developer fixes it and again requests the tester to verify it.   It is difficult to imagine this type of informal and friendly interaction between tester and developer in the conventional model. 

Before the demo, the tester deploys the build in QA environment and does a final round of testing.   All this is done in a friendly manner as the small scrum team (compromising of developers and testers) have a common objective of rolling out all the stories planned for the sprint.   In hardening sprint, the developers even step-in to test the application.  

This friendly and informal interaction works well in Agile model, because in Agile the team and its commitment come first.  The role (tester or developer) is not important.   Long live the friendship between Tester and developer.  Thanks to the Agile model !!