Even in front office production support, the trend to try to adopt DevOps is observable. As Agile becomes more common, the impact of DevOps on support will only become more acute. Whilst there are well understood gains for the developer community, Agile and DevOps practices often do not help production support to the same degree. In our experience, this can be traced to poor implementations where production support requirements are not considered. The impact to production support teams is that they are expected to do more with less but without the automation and investment needed to make it possible.
Stay current on your favourite topics
Support managers know that the highest cause of failure in IT systems is correlated to change. Through performing hundreds of Application Availability Assessments on critical systems, Citihub Consulting has observed that change is a much more common failure mode than the failure of base technology components (servers, storage, network switches) for example. However, change is inevitable, and staying competitive in a digital landscape requires an increasingly faster pace of innovation.
Agile and the Technology Support Function
Agile tries to combat this by having much smaller iterative development cycles. Introducing smaller units of change can be a powerful risk mitigation strategy. The corollary is increased release frequency: moving from quarterly release cycles to as many as one every two weeks (an average “sprint”). This may seem to undo the benefit of smaller units of change, however, Agile itself has the answer. The very structure of an Agile sprint (daily stand-ups, continuous feedback loops, leaner and more dynamic teams) means that despite more frequent change, issues are discovered earlier in the project lifecycle and the failure rate can decrease.
Despite this, support teams can be cynical where Agile is concerned. An issue frequently cited by support teams is the lack of automation in release management. In many organisations, release and production support roles are often combined. Where there are weak levels of test and integration automation, there will be an overhead on support to process releases resulting from the two week agile sprints. This negates the benefits such as reduced failure rates in code. However, this leaves management frustrated at an inability to convert the promise of Agile.
The impact of DevOps on support becomes increasingly apparent as DevOps promotes communication and collaboration across the board. This includes development and support working together to add business value in a flexible and dynamic way. Business value does not always have to come in the form of a new product or some new functionality to allow them to attract new clients. Businesses pay for their IT services and so any efficiencies in IT directly translate to value for money for them.
In Citihub Consulting’s experience, developers can distance themselves from the impact of their changes on support. Support teams can be in receipt of production releases that include manual workarounds accompanied by promises of fixes in a future sprint. When support and development are effectively independent and siloed functions within the IT organisation, the concerns of support teams are rarely important to developers. If support provides an operational service despite a lack of developer concerns, issues are hidden from end users. This only serves to reinforce a lack of concern by developers for the support function.
Across many of the major financial services organisations, there remains a clear separation between development and production support teams even where DevOps has already been “implemented”. There are many reasons for this: segregation of duties; existing ITIL structure; or even a lack of capable or motivated resources to occupy the role of “dev” and “ops”. It does not need to be like this as mentioned in this whitepaper that discusses how to maintain compliance and segregation while merging teams.
Stay current on your favourite topics
Even without solving all of these, the mindset of DevOps can still be leveraged to make vast improvements but it must be embedded into the culture. Where support and development teams have open communication lines, common goals and most importantly, have time allocated to work together (i.e. there is investment in the process), the manual and repetitive tasks begin to be highlighted as pain points which they both feel. The impact of DevOps on support becomes increasingly positive as collaboration and automation become the natural modus operandi. Similarly, where developers and support teams work together to automate Agile sprint releases everyone benefits from the factoring out of repetitive tasks. All these can be combined to reduce incidents resulting from change and the burden of repetitive manual tasks on support teams. Firms can even reduce support staff numbers or expand support responsibilities. In other words, investment yields results.
There is a practical difficulty in reaching these goals. The temptation to focus Agile and DevOps on technology and not enough on organisation and culture often leads to a poorly implemented process. DevOps is as much a mindset as it is an approach.
Citihub Consulting promotes a DevOps culture change driven from the top down to embed these practices correctly and link them to accountability for production stability across the entire IT organisation. Senior technology management must be visibly promoting collaboration and investing in time for teams to work together, so that the open communication of DevOps can really flourish. By occupying the space between development, support, business and technology management, Citihub Consulting is ideally placed to bring all parties together to ensure the benefits of Agile and DevOps are felt all the way through to production support teams.