As global crisis hit hard, more and more becomes concerned about how it will impact on the information technology sector. Companies become more cautious and sometimes reluctant in giving software business. Some customers withdrawing their long term projects while others using the opportunities to renegotiate contracts and quoting lower price. Recent IT scandals also add fuel to the fire, and as a result customer satisfaction levels fall and many projects going much longer than expected and cost more than planned. And all this happens while customer wants to get better business processes from software providers in order to increase customer satisfaction and save more money.
In this tough environment more and more companies are start to explore how “Agile with different flavors” can help their Enterprises more reliably deliver software quickly and iteratively. The roles of Test Professionals become more important in implementing Agile Projects. Innovations are increasingly being fueled by the needs of the testing society at large. But the most challenging role to adapt to agile development is the role of Tester. That's because agile development contradicts so many things that many Testers have been taught is 'best practice'.
In an agile development environment you cannot wait for things to happen. You must be proactive. This is true for all team members, but it is especially true for Testers. QA team members cannot let anything get in their way of testing. If they don’t follow the requirements they need to speak with the Product Owner for clarification. If they are not sure how programmers is going to implement the new code, they need to discuss how the code will be implemented with the developer. They must become self directed experts at removing any obstacles that prevent them from testing.
So, what are the challenges face Testers when working with Agile development teams and how they can meet that challenges?
Recently, browsing through Software Testing Help I found one interesting article: Tips to be More Innovative in the Age of Agile Testing ..., written by J.B. Rajkumar - experienced Trainer, QA Manager, frequent Speaker for Colleges, Universities and International Conferences.
According to him Agile Testers face lot of challenges when they are working with Agile development team. And they should be able to apply Root-Cause Analysis when finding severe bugs so that they unlikely to reoccur. While Agile has different flavors, Scrum is one process for implementing Agile. Some of the challenging scrum rules to be followed by every individual are,
- Obtain Number of Hours Commitment Up Front
- Gather Requirements / Estimates Up Front
- Entering the actual hours and estimated hours daily.
- Daily Builds
- Keep the Daily Scrum meetings short
- Code Inspections are Paramount
Mr.Rajkumar claims in order to meet the challenges, an agile testers needs to be innovative with the tools that they have. And here is some important keys for innovation:
- A good Agile Tester needs to be extremely creative when trying to cope up with speed of development/release. For a tester, being creative is more important than being critical.
- Testing professional must be highly talented and strives for more learning and innovating new ideas. Talented Testers are never satisfied with what they have achieved and always strives to find unimaginable bugs of high value and priority.
- An Agile Tester should not be afraid to look at a developer’s code and if need be, and in extreme cases, to correct it.
- He must have a comprehensive vision to client’s expectations and delivery of the good product.
- He must be empowered to work in Pairs. He will be involving in Pair Programming to bring shorter scripts, better designs and finding more bugs.
- Tester should be passionate and contributes something unique that may be in terms of their innovative ideas or the way they carry day-to-day work.
And finally, Agile Tester must have multiple skills like, Manual, Functional, Performance testing skills and soft skills like Leadership skills, Communication skills etc. As in this new world Testing Professional will be concentrate on adding value to the business and the software development life-cycle and will operate in a new and elevated position where the combination of their structured driven approach, creativity and ability to articulate and define quality and testing criteria in to the new models will be critical to the success of the business implementation of technology.