In the middle of the first decade of the twentieth century, when Agile and Lean development methodologies were still nascent, several enterprises built large Centers of Excellence (CoE) dedicated to the new methodologies’ testing requirements. Many even outsourced these services to Tier 1 service providers that ramped up their global delivery centers with thousands of testing resources. And, as long as the main drivers for IT were stability, performance and predictability, this model worked well.
In more recent times, stability, performance and predictability have become givens – the bare minimum even. Today, on top of meeting these requirements, IT is charged with helping create enterprise agility, which means answering the need for speed in IT delivery. This has brought applications to center stage – so much so that an enterprise’s ability to quickly respond to market demands is now a major differentiator.
To date, the need for speed in developing and testing applications has required different parts of the IT organization to operate at distinctly different speeds, whether it is bi-modal, two-speed or multi-speed. “Digital native” enterprises like Facebook, Amazon, Netflix and Google that are not burdened by legacy IT systems have been able to seamlessly integrate testing into their application development lifecycles.
But the same cannot be said of older-economy enterprises that have inherited global, horizontal testing CoEs that struggle to contribute to enterprise agility. In fact, too often, testing is cited by technology leaders as one of the biggest hindrances to acceleration of IT delivery. Disrupted business models require significant disruption in IT operating models, and application testing cannot escape this requirement for change.
Much has been written about traditional testing services, but it’s now time to consider how testing can be integrated with Lean development practices. To design optimal testing services in this brave (and Lean) new world, enterprises should consider the following Top 5 steps:
- Federate your Testing CoE by vertical business functions. The need for different speeds exists in every enterprise IT organization. To facilitate this, maintain the best practices and rigor of your Testing CoE so you can ensure stability and performance for business critical services like payments and core banking systems, and – at the same time – integrate testing in the development lifecycle for customer-facing applications like mobile and online banking, which follow Agile methodologies, such as Kanban and DevOps. For testing to be a true enabler of enterprise agility, it must be integral to the development lifecycle. This requires:
• Integrating testing with agile pods by colocation or a distributed Agile model
• Adopting test-driven development (TDD) and continuous testing
• Integrating testing of non-functional attributes, such as security and performance, with design and development.
- Transform your testing workforce. Whether your current testing services are delivered internally or by a service provider, integrating testing activity into the development lifecycle will call for a significant change in skills and capabilities. While significant effort that currently goes towards manual testing will be reduced or eliminated by automation, the integration of testing with development will require Agile developers to build skills in test design, automation and execution.
- Develop a tools strategy. To create shorter iterative delivery cycles, agility must mitigate business risk early enough and achieve faster business acceptability. A comprehensive tools and automation strategy addressing the needs of the end-to-end development lifecycle is vital. The strategy must enable an enterprise to go beyond traditional automated testing and adopt a continuous testing model
- Redefine service levels to reflect your new goals. Operating a successful bi-modal IT organization means identifying, measuring and working to remove constraints that hinder agility. In addition to traditional KPIs, such as availability, defect management and turn-around times, be sure to measure lead time for changes, change failure rate and mean time to recovery. Tracking these service levels is the first step to improving them.
- Find the optimal commercial model. Integrating testing into the development lifecycle means the commercial model must focus on end-to-end delivery of developed and tested software products. This requires a different approach to pricing. Commonly adopted commercial models are priced per story point, per feature, per release or per iteration.
ISG helps enterprises design and implement optimal operating strategies for Application Development & Maintenance (ADM). Contact me to discuss further.
About the author
Suresh is a subject matter expert in emerging operating models for Application Development & Maintenance (ADM) with a focus in the Banking and Financial Services sector. He has taken a leadership role in many large-scale IT transformation programmes through strategic sourcing from both the buy side and sell side. He effectively combines this experience with real industry insight to bring thought leadership to his client engagements.