DevOps is a popular industry buzzword, but does it have any substance? We've looked at the logistics of DevOps to highlight the challenges you may have to overcome when implementing this methodology.
What is DevOps?
DevOps is an application delivery method that encourages software developers and operations staff to communicate and collaborate at all stages of the development lifecycle. Successful DevOps strategies are unified across the organisation. A homogeneous DevOps process allows organisations to operate at the ‘speed of business’. For certain applications, such as consumer-facing services, this means moving fast to decrease the time to market. However, this does not necessarily equate to 'face' or 'continuous'. When it comes to applications for which time to market is less important, the 'speed of business' may refer to its reliability, stability and robustness.
1. Organisational Culture
A recent report entitled 'Why DevOps Matters' found that an organisation’s culture was the most common obstacle when adopting DevOps. This is often the case when managers focus solely on technology, rather than their workforce. What managers need to understand is that "at its core, DevOps isn't a thing, it's a way of working". Therefore, people management is key in aligning your organisation's culture to a DevOps methodology.
To ensure organisational culture doesn't hinder the transition process, adjust your culture before you implement DevOps, rather than allowing it to force a culture change. To pre-empt any changes needed, start by gaining an understanding of employees' day-to-day behaviour to identify the type of training they may require. By conducting training sessions at the start, your employees can quickly adapt to allow for a seamless transition. It's this type of high-level support that gives DevOps implementation strength. Having a strong senior team can relax tensions and minimise conflict of interests that appear lower down the organisation.
2. Resistance to Change
Whether it’s a fear of being left behind, losing control, or the unknown, switching to DevOps can be overwhelming for some organisations and their employees. IBM states that whilst ‘DevOps is a rewarding endeavour; it also threatens the status quo’. They’re not wrong. Some employees may even perceive DevOps to be their replacement.
However, what employees need to realise is that they are the driving force behind any DevOps strategy. What's more, DevOps is designed to make businesses more competitive, meaning employees will be more valuable and their jobs more rewarding. As well as helping employees realise this, managers should also give responsibility for implementing DevOps to their workforce. This way they feel more in control and their jobs feel more secure.
3. Difficulties in Scaling up
After early success with DevOps on a small scale, it’s easy to get complacent. However, problems can arise when it comes to scaling up your efforts, particularly in larger organisations where internal politics slow the transition process. According to Jason Cox, Director of Systems Engineering at Disney, the solution is “to have a strong leader or CIO installed within the DevOps team to steer the ship”.
In even larger enterprises, it's likely that separate subsidiaries will try to implement DevOps on their own. This can create a fragmented landscape where subsidiaries are using different DevOps softwares that are incompatible with each other. In this case, best practice has shown that DevOps should be first implemented centrally, before being rolled out across the wider organisation. This ensures that all business areas and subsidiaries have a standardised approach to measuring strategic goals.
4. No end-to-end vision
Instead of focussing on the entire process as a whole, managers can get into the habit of solving particular problems one at a time. They attempt to serve the needs of the Development or Operations teams separately, which results in an incompatible DevOps strategy.
By implementing DevOps with high-level support, the needs of separate teams can be managed to handle any conflicts of interests. Also, its much harder for managers at the executive level to lose sight of value proposition gained from DevOps. All of this is much easier when you build a simple and standardised DevOps process that tries to reduce excesses and variability and improves rigidity.
5. Overlooking Security and Governance
Because DevOps requires quick application deployment, mistakes can be made, causing security and governance policies to be overlooked. What's more, as cloud-based applications are accessible across the organisation, issues can arise around the privacy of sensitive data.
However, companies that carefully adhere to security and compliance policies, often feel that this impedes their ability to innovate quickly. So how can you ensure security and compliance policies are met, whilst operating at pace?
Fortunately, Application Release Automation (ARA) products are available and come highly recommended to support the delivery of software, while automating security and compliance policies. ARA not only helps organisations meet the demand for quick application deployment but also controls access to administrative functions in order to protect sensitive data.
6. Legacy Systems
Outdated legacy applications tend to lack the speed needed in a DevOps system. Whilst cloud applications are needed for quick application delivery, some legacy systems cannot be integrated, leaving your IT infrastructure out of sync and incapable of operating at a fast pace.
The solutions to such legacy challenges are often time-consuming or costly. However, the adoption and realisation of DevOps benefits can be achieved, even with legacy systems, when using the appropriate software. For this, we recommend our partners Clarive, as an ideal DevOps software provider. In a recent success story, Clarive software and VASSIT helped TSB manage their end-to-end release management in a non-destructive way, by orchestrating their current tools and filling in the gaps of their existing IT infrastructure.