Is DevOps right for financial services?
Source – bobsguide.com
When faced with strict regulations and procedures, it can be hard to constantly innovate. It’s especially challenging in the financial services industry where we must develop innovative digital software solutions within an environment controlled by tight regulatory requirements, a desire to mitigate risk and a need for ensuring high quality technical processes.
In the past, organisations tended to develop software applications by following waterfall methodologies. These have their place, but can create an inflexible approach to application development and mounting technical debt. Instead, many firms have selected to pursue more agile methodologies for certain types of development projects, allowing them to bring ideas for digital solutions to life quickly, often in just weeks, or even days. But what happens after the application has been completed? It gets added to the existing operations stack, and to the technical debt. DevOps is an approach that can counter this burden.
Until now the focus of many larger organisations has been around adopting agile techniques to improve development speed so that they can simply create more software, faster. DevOps allows firms to adapt their culture and ways of working still further, so that they may also start using agile techniques to enhance or replace existing systems and processes quickly.
It’s possible to keep an agile pace during the maintenance of applications using DevOps.
With the right technology and the mindset, an organisation can begin transforming itself to support agile enhancements for its legacy systems without creating a huge and unmanageable level of additional technical debt.
The DevOps culture allows teams across an organisation to become completely agile by combining the operations and development team into a single DevOps group. In financial services, this requires a culture shift that can help IT teams lead change in the market. DevOps allows for a full agile approach to application development and maintenance while keeping to the strict regulation gates. These gates can and should be automated to continuously pass and validate. Rather than manually following the same full checklist every time, a Devops environment breaks it into smaller sections and automates the process.
DevOps is a cultural change that allows the organisation to break down the barrier between the development team and operations team. Instead of having two siloed teams, DevOps focuses on bringing the operations lifecycle into the same agile experience as development teams. When adopting this philosophy, a single DevOps team will remain responsible for a product for the entire lifecycle.
A crisp definition of DevOps is provided by a group of web systems administrators and developers known as The Agile Admin: “DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. Characterized by operations staff making use many of the same techniques as developers for their systems work.”
DevOps is the catalyst to start a cultural shift towards bringing the full IT team into the agile mindset. Aimed at improving deployment frequency, DevOps can enable a faster time to market, lower failure rate of new releases, shortened lead time between fixes and faster mean time recovery.
Why firms are adopting DevOps
No more knowledge transfers between departments: When the DevOps team owns the entire lifecycle, a single team becomes responsible for all aspects. They still rely on support of other organizational units but the ownership and work stays with the same team. This results in a better quality of the software and maintenance since the DevOps teams truly understand the problems and why something has been developed a certain way.
A sense of ownership: DevOps teams develop a more holistic experience that allows them to come up with better ideas for improvement and maintenance
Speed to market: When the entire application lifecycle is fully agile, organisations can achieve even quicker time to market for new functionality and products.
Ops is no longer ‘just’ keeping the lights on: When issues come up the DevOps team has the ability to listen to the users and implement the needed functionality or fixes.
Reduced cost and risk: There is no handover between two teams. The team that developed the functionality is also involved in the go-live deployment, and can provide support during the riskiest moments.
Continuous organisational automation: The DevOps teams, who are constantly trying to improve and accelerate the most time-consuming processes, are able to deliver every release faster and more reliably.
DevOps is about CAMS
When implementing DevOps, firms must change the way their people think and work. The necessary core values of DevOps were defined by leading thinkers and practitioners in the field, John Willis and Damon Edwards. They coined the acronym CAMS:
Culture: People and process ultimately make DevOps successful, and everybody needs to support the vision.
Automation: Continuously keep automating the most tedious or time-consuming tasks, and link all used tools together into a single (automated) process.
Measurement: You need objective measurements to understand where to improve and automate first.
Sharing: As part of the culture it is important to share ideas and improvements within the team, but also across other teams.
It’s important to adhere to these philosophical values in pursuing DevOps. But it’s also important to be practical in how considering the scale of the transformation. It’s certainly recommended that firms start small, perhaps commencing using DevOps techniques for a single app to begin with and being sure to celebrate and promote success. Then look to structure that success, formalising the team, methods and strategy to accelerate digital execution, while identifying training needs and how the team will grow. Finally, planning how to scale, and working out where to apply greater automation in order to realise the efficiency required to deliver and manage hundreds of applications will help become a true digital enterprise.