The Agile manifesto suggests good practice for building software is to establish manageable iterations in which smaller chunks of work are taken, worked on and delivered in smaller timeframes by a dedicated team. DevOps seeks to add further discipline and flexibility by driving a more focused and inclusive process across IT.
We need to talk about IT
Fundamentally, DevOps aims to provide a sensible transparent point of intersection between the disciplines of Development, QA/Testing and Operations. This espouses (and largely depends upon) collaboration, flexibility and – ultimately – internal operational efficiency.
But is that really possible in a mainframe environment? Industry evidence talks about two thirds of all development shops being aware of DevOps, but that doesn’t mean they are aligned or structured – or even inclined – to collaborate.
Teams and Tools
In one particular client situation, a major application set was the centre of a significant industrialised development process to service several lines of business from the same source code. However, both in terms of team structure and tooling (development, testing, configuration management), there were significant restrictions in terms of the level of flexibility and parallel activity, meaning the line of business deliveries needed to be managed in sequence rather than
Failure to collaborate and adopt modern development methods was, in effect, jeopardizing business efficiency. The client needed flexible and more frequent releases to accommodate a range of unrelated application changes, and sought a model for parallel development across features, releases, or teams to achieve this.
A Contemporary Approach
While there was going to be some change in working practices, adopting modern tooling was the nucleus of the solution.
The flagship of our IBM mainframe application delivery suite – Micro Focus Enterprise Developer – enabled the teams to use a common development toolset which was not dependent on scarce mainframe resources. The powerful Eclipse-based IDE provided freedom for mainframe developers to work in isolation when necessary, but also share source code and other application resources as a group, without burdening the busy mainframe.
At the same time the team adopted a distributed SCM tool (in this case Micro Focus AccuRev) in order to provide a secure, multi-user approach to source code management for the earlier phases of the development and testing cycle. Integrating with their mainframe based SCM later in the delivery cycle maintained the integrity of their promotional model while building in greater flexibility at the early development stages.
A New Chapter
The client has embarked on a new chapter where its traditional mainframe development practices have evolved, without undergoing any risky seismic overhaul, to support contemporary practices. They’ve done this simply because that’s what the business needed.
The upshot is that a greater number of IT delivery projects are running concurrently, delivering more functionality to the business in less time. Improved tooling and visibility also means less time spent fixing regressions or backing out changes.
The phrases ‘Shorter development cycle’ and ‘Increased release velocity’ are often cited as the major outcomes of a DevOps model. While by no means a full-blown DevOps shop, it is already benefitting from one DevOps’ fundamental tenets.
Want A World View? – You Need an Atlas
Another potentially vital consideration is the flexibility with which the workload can be prioritize and shaped in the process. We’ve spoken so far about improving the production process of building and delivering in efficient parallel streams. But what about the tasks in the first place. Establishing an equally flexible, transparent method of capturing and managing the tasks. Agile requirements management benefits from a significant recent investment by the Borland team, as covered in the press.
Improved collaboration and a parallel development model is by no means the full DevOps story. But this was the major issue with this client. And their goal was improved efficiency. Micro Focus technology acted as a platform for improvements in working practices to enable a step change in efficiency, based on central DevOps principle of collaborative development. We’ll look in our next blogs at improving development and testing efficiencies. You might also like to read my introductory DevOps blog post here.
We are asked a lot about how to build greater efficiency into core systems delivery. We spend a lot of time in the #DevDay agenda talking about precisely that. Why not come to an event near you soon where you can see for yourself what’s possible?