Many companies have transferred from traditional development to Agile, or SCRUM, software implementation which is less documented and more flexible. This transition often proves a challenge as it has transformed some important processes.
Going through 5 such processes, let’s consider the impacts that SCRUM adoption make on testing.
- Measures of success
While in traditional development success is measured in time delivery, Agile has changed this to working code. Now, the project is quality driven rather than time driven and this influences testing. When our measure of success is working code, we should take efforts for delivering better code and the only way to verify it is really working is testing. Thus, Agile with cross functional teams have their major focus on quality. Spreading testing knowledge across the team is usually achieved by pair testing and basic test training for everyone. Agile testers need communication with different roles of the project and assist other members in carrying out testing within their context
- Management culture
The key words in the management culture of traditional approach are control and command which are getting replaced by team empowerment and collaborative leadership in agile environment. While the impact on the testing craft seems minimal, it’s large in terms of traditional test functions. If test managers were responsible for product risk analysis, test strategy, test plans, resourcing and test estimation before, now planning and estimation have become the whole team’s responsibility. Thus, agile test management is more about the human aspect.
- Requirements and design
Among the main complaints of traditional trained testers working in agile environment is lack of upfront designs and requirements to base their testing on. Instead, test cases emerge from the planning session’s discussions before requirements and designs get documented properly. Thus, as testers and designers have to review each other’s results, their cooperation ensures an early quality control of the product. Designs and test cases suggest a better match and all differences are discussed with a product owner.
- Coding and implementation
Traditional order of implementing different development phases is often replaced by practicing test driven development in agile teams where coding and testing go side by side. TDD increases the code’s quality and maintainability, but it’s not that easy to shift to it. Developers lack proper training in TDD and don’t like writing unit tests often. If used incorrectly, TDD takes much time and produces little benefits, so testing should support TDD and developers by implementing white box testing methods. Frequent regression testing is also required which should be solved by proper test automation.
- Overall influence on testing
The fast and changing agile development world demands a more pragmatic testing approach. No large upfront documenting and planning, only small functionality pieces manageable by teams. Now testing goes beyond a tester and becomes part of the whole team.
Moreover, automation is seen as an essential testing part helping keep up with agile development pace. Test automation suggests testers need better communication skills and more technical knowledge.
Finally, Agile is about people, so good performance in the agile context needs investing in human skills, resources and communication.
Check out our related articles:
Created: 21 Feb 2014
LET'S GET STARTED!