This is part one of a three-part series to help you make the most of DevOps and Agile in your cloud transformation and application development programs.
The DevOps goal for enterprises is to make them more agile and efficient across the entire ecosystem, from driving productivity to reducing operational costs. This enables enterprises to adapt to customer demands faster and keep a competitive edge.
Effective DevOps teams need to be flexible, capable of multitasking and possess strong communication skills. They need a deep understanding of how enterprises work to simplify the overall operating environment and provide continuous software delivery. Getting IT and business to work together results in a leaner, more agile organization that can get products to market faster with built-in quality and security.
DevOps breaks down the silos between development teams, operations teams and testing teams. By introducing a collaboration-focused culture across multi-disciplinary teams, enterprises can rapidly identify issues in the development cycle early, spend less time fire-fighting and crucially deliver up a better customer experience. The result is a very flexible and dynamic approach to systems development and deployment across the enterprise.
Keeping on top of IT management costs
DevOps is an enabler to digital transformation, delivering innovation and agility while underpinning competitiveness and business outcomes.
DevOps should support better collaboration, automation and process efficiencies in the enterprise to deliver on business requirements and help better manage costs. This allows IT to stand out as a strategic partner for growth instead of a cost center.
How can DevOps add value here? Take operationalizing software for example. If you haven’t considered this in your planning, the cost of stabilizing the platform for operations comes later, which can make IT management costs high. Or the code can end up being too complicated for first line IT staff working at the service desk to understand. If Operations is involved in the development process, a comprehensive operational manual can be provided, which helps resolve issues swiftly and skillfully.
A case for agility
Agile principles are seen by some as a challenge, as they focus more on people than on processes and require a transformational shift. If used correctly, however, Agile principles and DevOps can work together to make large enterprises run smoothly, leanly and efficiently.
Agile is a software development methodology with very similar goals to DevOps in getting end products released as fast and efficiently as possible. Agile focuses on aligning development with customer requirements – even if these, or market trends, change down the line in the development process.
With digital transformation bringing disruption to industry, an agile mind set ensures that teams are able to quickly spot market opportunities and add value for customers. Being agile is seen as the key to success in the digital economy.
Agile, however, isn’t a silver bullet to development. As Jan Aril Sigvartsen, VP Cloud at Basefarm – an Orange Business Services company – points out that Agile can only increase speed if the processes are agile. He doesn’t recommend, for example, making functionalities agile and then looking at security in the last week before going live.
“This is partially resolved by setting up a multi-disciplinary team,” he explains. “This bridges gaps, and security, compliance and cost management are included from the beginning.”
By working together, DevOps and Agile bring important skills to the development process. DevOps provides an automated continuous deployment route, enabling frequent software releases. Agile allows for rapid and efficient adaption to changing needs.
Agile working internally and externally
An Agile approach can make development cycles and teams more efficient, backed up by the continuous integration and delivery provided by DevOps. But it is important not to miss collaboration with internal and external teams if projects are going to have a chance of success and be delivered on schedule. If an external security software supplier, for example, is only brought in at the last minute, you risk off-loading all the risks with the DevOps teams at once.
“Sometimes it works, but it often leads to unnecessary delays,” explains Jan Aril Sigvartsen. “If security is included iteratively, risks can be addressed step-by-step. It is also done completely in line with the culture of the rest of the team and how they see the future of the application.”
DevOps comes with failures
Even with DevOps and internal and external teams collaborating together in an Agile way, there will be failures. “Sometimes an innovation just doesn’t work out as well as expected, but the idea is to fail quickly so you spend as little time as possible on dead ends,” says Jan Aril Sigvartsen.
“You can only achieve this speed if you really work according to Agile and DevOps principles. In this way, CIOs might be able to reduce the number of failed projects from nine out of ten to one out of ten,” he adds.
DevOps can be challenging, but by choosing the right technology partners, tools and skillsets, you can give your projects a real chance of success from the start.
Read part two in this series where we look at the vital role that Continuous Delivery (CD) plays in DevOps and Agile programs.
Jan has been writing about technology for over 22 years for magazines and web sites, including ComputerActive, IQ magazine and Signum. She has been a business correspondent on ComputerWorld in Sydney and covered the channel for Ziff-Davis in New York.