Growing need for maturity in software testing
CEOs are demanding greater agility from IT and testing, says Aldo Rall, principal consultant for testing at IndigoCube.
The business and IT worlds are changing - fast. This is being driven by macro-economic factors and trends like the consumerisation of IT and bring your own device (BYOD), which imply that IT and business are converging faster than ever, despite their traditionally dysfunctional relationship. All of these changes are filtering further down into the organisation, demanding change from all sorts of areas.
Software testing is one such arena, says Aldo Rall, principal consultant for testing at IndigoCube. Rall was speaking at a seminar on Testing Maturity and Tester Professionalism, hosted by IndigoCube and held at IBM, on 13 November.
Says Rall: "Several changes in the IT world have been slowly forcing testing to change. The traditional factory model utilised in testing is breaking down because it cannot scale to meet demands from business, for example, to achieve faster times to market. Testing has already slowly changed from traditional models towards the context-driven-testing school of thinking."
This new way of thinking and working from IT, business and testing has four underlying trends or values that IndigoCube has noticed, Rall says: "Agility, collaboration, continuous flow of work and automating everything that can be automated."
CEOs are demanding greater agility from IT and testing, Rall says. "Agility is not just about agile development - it has everything to do with being nimble or responsive to change. The more responsive to change an organisation, its IT and testing are, the better it is able to compete in the business environment.
"This agility must also extend to value chain optimisation. Traditionally, testing groups have gone their own way and developed great testing strategies that provided localised optimisation instead of considering the whole value chain in which they operate. The testing function has become a bottleneck for the IT delivery mechanism instead of an enabler. The new paradigm calls for testing to optimise inside its larger value chain," he says.
Further, context has become increasingly important to testing. Testing tasks need to be relevant to the context or environment, rather than testing expecting the environment to change to suit its needs. Testing also needs to be agile and adaptive - just because testing has been done in a certain way forever, does not mean those tests are still valid, and testing needs to keep up with its broader environment.
The new world of IT and business requires far greater collaboration than in the past, Rall continues. "Business and IT and testing and development cannot work in a world where it is 'us and them'. Collaboration implies a world where 'we' will be the relevant language of the day. Collaboration also implies that all relevant role-players act as a collective with shared or collective goals, creativity, knowledge sharing, learning and intelligence."
Work also needs to flow continuously - everything needs to happen together and constantly, including testing. "Businesses, IT and testing will be required to develop mechanisms for quick feedback across the value chain and virtually immediate improvement," Rall explains. "Testing needs to be able to provide rapid feedback up and downstream from the value chain it operates in, in order to trigger improvements in the right place in the value chain, and even be able to improve rapidly (and continuously) as the whole value chain will be in constant flux to find its most efficient throughput."
The last trend Rall highlights is automation - which can be neatly summed up as 'automate everything'. "We are talking about automating anything that can be automated inside an organisation or IT delivery mechanism. Think how industries such as mining, manufacturing, banking and finance are automating everything they can. The same applies to IT. Inside the application life cycle management scope, there are increased automation practices of builds, deployments, unit testing and integration testing."
This frees up resources to do more high-value activities rather than devoting time and effort to perform routine tasks manually.
The testing function needs to adapt in the light of these trends, and it needs to do so fast. "One key aspect is that testing needs to happen a lot closer to the business coalface than traditional models," Rall states.
"Testing needs to happen more regularly and faster. Testers need to have more skills to cope with this complexity. This requires an evolution in testing. It requires that testing evolves its practices, philosophy and paradigm."
Ultimately, he says, all of these point to a need for increased test maturity, no matter the size, magnitude, complexity or sophistication of your organisation or project.
"History has shown us that quantum leaps in progress have usually been very disruptive," he concludes. "Think about what the railways did to the horse and carriage, flight to ocean travel and the motorcar for the railways. I believe we stand on the cusp of such a leap in the world of testing."