The DevOps concept has taken a firm hold on software development in the past few years and at the heart is ALM automation. Most companies have moved on from the old model of separate development and operations teams in order to work in a more integrated way, enabling them to respond more quickly and effectively to business demands. Gone are the old days in which enormous and unwieldy IT projects took place in isolation, all too frequently producing a product that was already outdated by the time it was completed.
So, where are we with this project?
The transformation has not been easy, however, and for many organisations, there is still a long way to go. Application design, development and testing are all now happening simultaneously. This has required a complete change in culture for IT teams used to working in siloed departments. Not only is a far greater degree of collaboration required, but teams are also under an enormous amount of pressure to respond quickly to demands as businesses battle fiercely to innovate faster than their competitors. IT teams may still be subject to the dreaded “how are you getting on with the project?” questions from business managers, regardless of which element of a project they are directly responsible for.
Typically, the younger generation of IT workers has been more eager to adopt DevOps and agile working than its older counterparts, but in such a fast-paced environment we have seen IT departments struggling at all levels. Part of the problem is coming from senior executives pressing for the introduction of whatever the latest technology may be – from a new mobile app to an IoT product – without a sufficiently clear understanding of what’s involved. The other major challenge is keeping track of such a complex network of development involving so many different moving parts.
ALM automation – taking the pain out of DevOps
At the heart of a successful DevOps policy is Application Lifecycle Management, ALM automation technology. ALM systems have always been essential in keeping track of the development process, managing applications from an original request through to the end of their existence, but not all of them have kept up with the complexity of new working practices. Many ALMs still require levels of manual intervention that are unrealistic in an environment where so many people need to be informed of every stage of the process. Asking developers to complete lengthy updates for every change they make wastes time that could be far better spent making another improvement to an application.
The only way to manage the DevOps process effectively without investing in excessive administration is to automate it. By implementing a system that will automatically track and document everything that happens, you can free developers from administrative tasks, avoid errors and collect invaluable, consistent data to enable continuous process improvement. Collecting data automatically will allow you to maintain an inventory of an application and to understand how the different parts are related, as well as how the various components are being built. This means that when the time comes to deploy a change, you can easily identify which parts need to go to a mainframe, web server, cloud or mobile device rather than having to work it all out again from scratch. An automated system can also detect whether versions have somehow fallen out of sync and take action, either preventing users accessing it until the problem is fixed, or quickly rolling back to a previous version if required.
Communication is the key to happiness
The DevOps model has transformed the role of IT in business and done much to improve the old “IT Crowd” image of developers. But if your organisation depends on the rapid development and maintenance of your applications, make sure that you have an efficient ALM engine holding it all together. We all know how hard developers work, and that communication with non-technical teams hasn’t traditionally been IT’s strong point. Without a clear system that keeps everyone informed, it’s all too easy for business teams to start questioning what’s happening, and for the IT team to feel sidelined, pressurised and under-appreciated.
Automating the process not only improves control and efficiency but also makes for a more secure system. For example, automation can ensure that the principle of “least privilege” is followed, providing access only when an individual absolutely needs it and revoking it by default after a set period of time. Crucially, ALM automation systems also enable clear communication, so business teams can be informed about the progress of the project. This leads to a greater understanding of the process which serves to highlight the value of the IT team’s contribution to the organisation. And that’s something that will boost everyone’s morale.