DevOps brings Development and Operations together with the sheer objective of ensuring quality and enabling faster time to market. However, what happens to QA in this scenario? How does the Testing team fit in? Let's ponder on this further and understand the role of QA and Testing in the DevOps world ...
BMC's recent 2016 Mainframe Research Report showed these systems are essential in helping drive digital transformation, with superior reliability, performance and security cited as the key factors influencing mainframe investments.
■ 58 percent of respondents report higher mainframe transaction volumes
■ 67 percent see greater use of Java on the mainframe
■ 89 percent predict long-term staying power
■ 88 percent note their companies plan to maintain or increase mainframe capacity
Another survey, conducted by Forrester and commissioned by Compuware supported these findings, showing 96 percent of new business initiatives involve the mainframe. However, the platform is not without challenges. The survey also revealed frustration and concern among development leaders, particularly when it comes to their team's ability to accommodate the speed and agility required to compete in today's digital market.
Forrester polled 182 leaders responsible for both mainframe and non-mainframe development, and found 90 percent experience challenges in developing and delivering applications on the mainframe. This leads to long release cycles for customer-facing apps, downscaling of product features to meet deadlines, and expensive workarounds using other technologies.
90 percent of respondents also reported their mainframe application development is hampered by organizational bureaucracy, internal silos that create bottlenecks, quality issues and insufficient funding.
Among the other findings:
■ 48 percent move some applications off the mainframe, but suffer from "buyer's remorse" in discovering that converted application are less secure, have higher costs, are less performant and cause even greater project delays.
■ 41 percent attempt to work around the mainframe. This leads to greater complexity, higher costs, duplicate tooling, increased technical debt and increased security risks.
■ 40 percent attempt to modernize on the mainframe platform, but struggle with long transition times, Java performance issues and inadequate tools to help with application understanding (i.e., identifying how changes made to one application or data set will impact others).
Mainframe organizations are in a state of perplexing cognitive dissonance. They understand the critical, irreplaceable role of the mainframe in supporting digital transformation and innovation. They know trying to migrate away is an exercise in futility. They know the mainframe can deliver compelling cost and performance advantages in supporting high-volume, mission-critical transactional applications.
Yet these users are still struggling to seamlessly integrate mainframes into their broader DevOps efforts, where complexity and unfamiliarity are stalling software rollouts and hurting their efforts to improve customer experiences. Exacerbating the situation, many aging mainframe experts who delayed workforce exits as a result of the "great recession" are now finally retiring, leaving a huge mentorship void for newer developers and lost tribal knowledge of an enterprises' unique mainframe systems.
There is encouraging news though. Organizations that successfully modernize the mainframe by applying DevOps best practices experience significant benefits. More than 40 percent of the Forrester survey respondents noted that such practices have resulted in shorter development cycles and faster response to business needs. In addition, 35 percent are achieving improved customer experiences while 34 percent are realizing cost savings by embracing innovations in mainframe DevOps.
There is no more avoiding reality. For enterprises adopting DevOps, there is only one logical and practical road ahead – embrace the mainframe, commit to evolving and nurturing it, and incorporate it fully into enterprise DevOps practices. There are three key requirements for doing this.
1. Efface borderlines between mainframes and other platforms
As stated above, today's applications are increasingly multi-platform, meaning they span several types of systems before ultimately landing on a mainframe for transaction completion. Consider a retail ecommerce transaction, whereby a customer accesses the site through a web server, navigates the product offerings, completes an order and shipping form and ultimately executes a transaction. Various parts of this multi-step application are executing on different platforms, but it is still a single product. To properly develop and support these applications, system and team demarcations should be virtually invisible and irrelevant, as development teams focus their collective attention on creating the most innovative, high-performing end-to-end solutions.
2. Comprehensive tool modernization
Many organizations take their first steps in eliminating borders by replacing the antiquated mainframe "green screen" with a more modern, familiar user interface. This modernized workspace should look and feel like Eclipse-style IDEs that are standard for other platforms. In doing so, development staff at all levels will be able to greatly reduce, if not eliminate the need to access their old green screen-based tools. But it doesn't stop there, as modern developers also need the tools they use in the mainframe environment to be similar to —or the same as— those they use on other platforms. This allows them to work nimbly, deftly and confidently across platforms, and includes capabilities like real automated unit testing, and visualization that enables them to easily see complex interdependencies between applications and data.
3. Successfully attract a new generation of talent
As baby boomers leave the workplace, it is largely up to new development talent (i.e. millennials) to drive ongoing innovation on mainframe systems. Mainframe skills aren't included in most university computer science programs, making new graduates with these types of skills extremely rare. Mainframe-based companies can capitalize on this, showing new developers how they can not only make a huge impact in industries that rely on mainframe technology, but also enjoy a solid career path. Attracting new developer talent is essential for large enterprises to compete, so they need to invest here – providing developers with the modern tools they love, and encouraging platform-agnostic developer-to-developer interaction. This type of collaboration is a hallmark of the DevOps movement, and excites and entices millennial workers.
Mainframe DevOps teams can be just as quick and agile as non-mainframe users, but with the added leverage of superior cost-efficiency and performance. Numerous studies have shown that the less centralized and more distributed a computing solution is, the higher the total cost tends to be. In fact, the x86 systems industry is constantly trying to create this more centralized view of distributed systems – a major benefit the mainframe has always provided.
Rather than ignoring or sidestepping the mainframe, most organizations would be better served by committing to their mainframes and including them fully in DevOps practices. This will require time, effort and the right leadership mindset, but the returns will be substantial. Modernization, combined with a "development without borders" approach and an emphasis on attracting and nurturing mainframe talent, can help mainframe users realize the long-term competitive advantages of their investments.
Chris O'Malley is CEO of Compuware.