Monday, December 31, 2012

Agile Tester


For me Agile is simply about changing ourselves. The way we think towards software development. Breaking the traditional thinking of developers doing development and testers doing what dev implemented.
An Agile tester role is much similar to a Quality Assurance engineer role. Agile tester must start testing in each and every phase of the software development life cycle. Starting from the requirement gathering the Agile tester must perform testing tasks.
As far as I can see below are the fundamental characteristics of a Agile tester.
1.       Reflect the Agile principals in your work. Be honest to you and be honest to your team. Talk to the developers straightly when you see a bug is something you feel not working properly.
2.       Talk straight. Do not go by different communication channels. Talk straightly to the relevant stakeholders.  Agile let you open your voice in any forum.
3.       You are not alone in testing. Testing is a responsibility of the whole team. However its your duty to run the testing effort and process inside the team. Natural tendency of the developer is believe in what they have developed.  As the Agile tester you must keep that in your mind always. The whole point here is you can always get assistance for your testing from developers. You can implement a test process to involve developers in automating test cases , building customize tools to test your product and build different test harnesses to perform testing.
4.       Believe in Automation. Agile needs it. You have tons of work as a Agile tester. You have to take care of the product from the scratch. Agile demands frequent changes hence you must find a way to automate your regression so that you can spend time on studying requirements, walkthrough the prototype, talk to developers, talks to your clients, and more importantly think different ways to get things done differently.

5.       Start your work in the day 0. As you know Agile is mainly about rapid software development while providing more room for changes. Yes this is really really tough. Developers will never keep a track of what they have done in terms of business perspective. That’s natural and that fine. However our role is different as we are the guardings of our product. This is the point we need to be very clear. Agile tester must be very thorough on what’s happening in the project and what’s expected of the project.
6.       Be confident on what you are doing and build confidence in others. Because Agile is derived by certain principles where you get most of your work done by relationships.
I think Agile tester is playing a great role inside the team. For me an Agile tester is like a Virus Guard which protects your OS from various vulnerabilities. Likewise we need to be very watchful over the changes coming in our way. We should be able to perform a quick risk assessment and impact analysis to determine the gravity of the change. If the team feels the change cannot be accommodated within the given budget and time then the Agile team should suggest alternatives. May be cutting down the scope and splitting it to few releases etc. There are certain times where you need to hold the change until you get enough confident on what you are testing. Confident is very important in Agile.
After all Agile tester must be the most flexible and strong person in the team. There are times you need to be flexible to maintain the team harmony. Also there are time you must speak strongly to defend the quality of your product. More often you tend to compromise the quality to accelerate your release. This happens when you are new to Agile. When you only think in the release perspective and more dangerously when you start getting dominated by developers, you will compromise quality. Therefore we need to be watchful on ourselves to make sure that we still live on our basic software testing fundamentals. That’s why you need to study a common testing framework like ISTQB.

No comments:

Post a Comment