The current desire of many organisations to accelerate software development projects has led to an unprecedented level of interest in the Agile software development methodology. But while Agile has dramatically shortened the rollout cycles for new projects, project managers have been warned that it in no way reduces the need for independent software testing.
iTWire is conducting a survey on the experiences and views of managers responsible for software quality assuring and testing in organisations across Australia and New Zealand. As a participant you will receive a free copy of the report summary, giving you insights into how organisations across multiple sectors approach testing.)Managing director of the software testing company Planit Chris Carter said the role of testers remained as vital within Agile as other methodologies. Mr Carter said the training and mindset of testers was quite different from that of developers, as while in the main the developers tested to see that the product did what was supposed to do, an independent tester looked to see that it didn’t do what it wasn’t supposed to do.
“Testing knowledge and expertise can be used to help support the developers to deliver higher-quality code through appropriate selection of tests,” Carter said. “The tester can also help to encourage the ‘building-in’ of quality during the coding and guiding the developer to code testable products.”
Agile development differs from more conventional methodologies, such as Waterfall or the V-Model, in that it promotes iterative development and incremental releases, rather than sequential development where the main benefits are not realised until the end of the project. Agile operates on the premise that change will be a constant part of the project, which is normally resisted in a Waterfall approach.
He said Planit had numerous customers that were using Agile methodologies, and had seen testers also start to take on a role of being a link between the technical jargon of the developer and the business-speak of the business analyst or project owner.
Carter said testers worked much closer with the developers in an Agile project, and there was shared team responsibility for quality, reducing the potential for the emergence of a culture of blame. As a result, he said testers required greater understanding of the field within which they were working, and may need greater technical skills and capabilities as they would be seeing the code earlier.
“Continuous integration also presents challenges, not least the amount of regression testing that may be required,” Carter said. “The faster delivery to market within Agile also means that testing needs to be smarter, and the use of testing techniques for test case design is critical.”
Carter said that Agile projects also demanded a greater use of exploratory testing techniques, where the tester learns as they test and uses the results from one test to direct the next one.
He described Agile development as being not only about the change in delivery model of software development but also a change in culture, as management no longer assigned roles or tasks. Instead, the team made collective decisions and organised and adapted itself based on what it was trying to achieve.
“All this points to the fact that testers need to be able to adapt to change, have greater interactions with their team members and be able to work within a more fluid environment,” Carter said. “Agile promotes a creative, self-organising team to which the Project Manager takes on more of a guidance role instead of confirming to a fixed task driven plan.
“Role boundaries are gone with Agile and we all need to be adaptive and turn our hand to whatever needs to be done to deliver the product.”