Overview: In Chapter 13 of the Building a Better Software Delivery Platform podcast series, Rick Slade and Steen Brahe discuss the benefits of automated testing and how an incremental approach helps make the adoption of automation more efficient while reducing risk and cost.
In Chapter 13 of the Building a Better Software Delivery Platform podcast series Rick Slade welcomed a returning guest, Compuware Product Manager Steen Brahe, to discuss automated testing. I asked Steen about the results of a recent survey of 400 senior IT leaders responsible for mainframe application development in which 90% responded that increased automation of test cases could be the single most important factor in their future success. The same survey showed that just 7% of organizations are currently automating their mainframe code testing. So, I asked, why is there such a large discrepancy?
Steen’s answer, and Rick’s follow-up, brought up the role that incremental implementation plays in changing the culture around mainframe testing. Steen explained that many organizations have been following the same testing procedures for years, even decades. And many of the people running those tests have been at their jobs for just as long. Changing these practices brings a level of uncertainty with which many developers, and even members of management, are uncomfortable. Removing this fear of the unknown, and the accompanying hesitance to upset proven practices, methods, and tooling is critical to successful implementation of automated testing.
The key to successfully changing culture, according to Steen, is starting small. He recommended assembling a small, dedicated team and picking a simple program with which to begin implementation. The team can then learn how to use automation tools and create test cases, documenting their experiences along the way. The knowledge gained through automation of the pilot program can then be applied to larger programs, with experiences gained in each new installation used to improve the next. According to Steen, by starting with one simple program and building from there, “you learn on the journey that you are on and you start to understand how to take the next step.”
Beyond learning how to approach future implementation, starting with a single team and single program creates experiences and successes that can be shared throughout the organization. Once automation has been successfully implemented by the pilot team, Steen explained, “then you can start to expand in the company, because then you have some advocates internally that knows about the specific architecture and special development processes in the company and how they have been able to adopt this tool in their team.” These advocates will be able to share their knowledge and answer questions from others in the organization, using their own successful implementation as an example. This serves to allay fears and concerns that might otherwise obstruct full-scale automation.
Cost and Risk Management
Rick brought up an additional benefit to incremental adoption: the ability to manage cost and risk. Implementing automation across an organization in one fell swoop means that any issues encountered will affect the entire organization. And any delays or downtime, as well as the efforts to remedy them, will significantly add to the cost of the automation project. Starting small and automating incrementally means that any issues will affect only the program at hand, and learning how to resolve or avoid these issues will increase the efficiency of future installations.
Adoption of Agile methodologies includes iterative progress and allows managers and developers to adjust practices and requirements as circumstances dictate. The benefits of this approach apply not only to software delivery, but to the adoption of Agile-supporting technology as well.
To hear the full discussion of automated testing, listen to Chapter 13: Automated Delivery II. Part one of the discussion, Chapter 12, and the entire podcast series can be found at https://www.compuware.com/goodcoding.