As revealed by this year’s World Quality Report (WQR), an impressively high 93% of IT leaders say they are using agile methods in at least some of their development projects – a rise of 33% since 2010. However, in spite of the fact that 36% of all testing is now performed within agile projects only 14% of IT leaders are confident that they are not experiencing any major problems with agile testing.
In agile projects, testing is tightly integrated into the core structure of every build, because new features are added in each Sprint and it is essential to ensure that these don’t adversely affect the functionality and performance of the previous app releases. This integration is proving to be even more important as agile, and therefore agile testing, are extending into DevOps to support the continuous deployment of changes and updates to production environments. Whereas in traditional waterfall projects businesses often leave the vast majority of testing until the end of the project, right before deployment, in an agile project the cross functional teams undertake planning, development, testing and evaluation all at the same time, in every Sprint.
Biggest Barriers to Success
This widespread adoption of agile methods and testing practices, coupled with a lack of maturity, has highlighted several barriers to agile success; all of which can easily be overcome once they are pinpointed and properly understood. Amongst the IT leaders we surveyed, the following problems were of most concern:
- 61% feel that their biggest stumbling block on the road to success in agile testing is the lack of a good, proven test strategy that works in an agile environment
- 55% say they have difficulty applying test automation at appropriate levels in agile projects
- A lack of testing tools that enable building reusable test sets is a chief concern for 42% of those surveyed.
- 35% cite insufficient speciality testing expertise in Agile teams as a major issue.
These problems may well stem from the fact that 43% of IT leaders still do not use a specialised approach to testing in agile projects and, whilst this is slightly down from 46% last year, it is clear that a large number of businesses are trying to apply agile methods using the same tools they used in their waterfall projects, and with insufficient numbers of dedicated agile test experts.
According to ComputerWeekly, Jose Casal from the Agile Methods Specialist Group at the BCS agrees that most organisations are undertaking incredibly shallow agile adoptions. He said: “Deep agility in the UK mainstream is probably a decade away...to help bring it forward we need to go back to the fundamentals of agile and ensure that people understand why agile is what it is, rather than a passing fad.” To help achieve this, the BCS has introduced a wide range of agile certifications.
Comparethemarket.com is also looking at the bigger picture and has devised its own specialist agile training programs for their development staff. They also work with several universities to ensure that up and coming testers are fully equipped with not just technical agile skills, but also the personal and behavioural qualities that are required to work in an agile environment.
Automate Your Way to Agility
In agile projects, the central focus should be on speed and quality. Test automation can be a fantastic way to reduce the time spent on regression and integration testing, resulting in faster delivery and enhanced app quality, however 35% of WQR respondents find difficulty in repeating tests across sprints and iterations.
The best way to achieve the necessary level of automation is to outsource the testing to a team of dedicated test professionals who are already adept at using an agile toolset and used to creating automated test environments. Independent testing is the most effective way to prevent a conflict of interest in validating requirements, so businesses need to engage specialised testers in order to ensure the required level of application quality. However when you decide to outsource, selecting an appropriate partner goes far beyond simply looking for the best price. You need to look for a partner who has genuine expertise in agility, is able to produce high levels of automated tests and who can devise a solid agile test strategy from the outset of the development process.
A Risk-based, Test-driven Approach to Agile
A good agile test strategy will allow the test lead to use risk-based analysis techniques to define the focus of the testing effort as early as possible in the Sprint. This enables the test team to develop logical test scenarios using a test-driven approach and adopt agile automation tools to ensure they can optimise the test scripts by reusing them for every iteration. Agile teams should define these testing objectives and then build test scenarios before writing any functional code. Then, while the code is being created, testers can focus on building automated test scripts.
More than ever before, testers in an agile environment need to have a thorough understanding of business processes and development techniques, and create a strategy that is aligned to the wider needs of the business.
Are You Shore?
The rise of agile appears to have contributed to a decrease in offshore development models, because agile teams need to work closely together to be effective. A hybrid approach is likely to be the most effective for the majority of businesses at the current level of agile maturity that we’re seeing. In the hybrid approach, testers from a corporate or domain-specific Testing Centre of Excellence (TCOE) collaborate with the individual project teams to maintain close relationships with discrete areas of the business, while reporting into a centralised testing leader who collates metrics reports from all the teams to get a big picture view.
Carl Bruiners, Agile Consultant at home furnishings retailer Dunelm Mill (and ex GE), believes that we should look at productivity, not just cost when deciding levels of offshoring. An offshore developer may be cheaper but, he says, “It is often narrow sighted not to consider the other factors you inherit when offshoring - language difficulties, communication latency, culture...”. For an Agile approach to be successful teams really need to be in the same time zone. Remote teams should be avoided unless it is impossible to do so and, rather than split a team into two geographical locations, create two smaller discrete teams in each place to ensure that they are all able to fully collaborate on every aspect of the project.
Embracing the Learning Curve
At the UK Agile Awards last year, Mike Burrows, agile expert at management consultancy firm David J Anderson & Associates made a poignant point that may help IT leaders take the leap to fully immersing themselves in agile. He said “Agile could be said to mean accepting the truth that we can make progress with incomplete information. That makes the whole process - not just the specification part of it - dedicated to the process of knowledge discovery. Once we understand this, failure is neither shied away from nor pursued recklessly, but accepted as part of the learning process.”
As the WQR statistics have shown, there is a growing willingness to fully adopt agile methods and as with big changes there are concerns and teething problems, particularly in agile testing, due to a lack of knowledge and maturity.
In conclusion, as we have seen, the best ways to overcome these issues are to choose a specialist Agile testing partner with both onshore and offshore capabilities to create a hybrid solution and with proven test strategies, tools and processes offering a high level of automation, so allowing the whole team to focus on the agile principles of speed and quality.
You can download your free copy of the World Quality Report here and discover the business benefits of Sogeti’s Agile and Agile Testing services here.
Read Part 2 of my World Quality Report series here.