This is in continuation to my previous blog on Why Devops is important for Banks
GETTING IT RIGHT
- Organizational Structure: Breaking down the cultural and organizational silos that have developed between the different parts of the business must be addressed, and requires a shift in mentality. One of the most important things is getting these teams to work together, not just speeding up the process; which is where the mindset comes in. DevOps is not an evolution, it is a revolution. Banks and their executives will have to change their mindsets to make this happen. CIOs must look at defining the future DevOps operating model by transforming into a lean and tightly knit organization focused on speed, quality and value delivered to the customer.
- Right Infrastructure: Some of the big banks already have moved to a private cloud infrastructure. Moving to a private or a hybrid cloud infrastructure is a must for banks aspiring to be the innovative, digital bank of the future. Cost of operations is a critical success factor and this can be dramatically reduced by moving away from legacy infrastructures to a cloud infrastructure. This helps close down unwanted data centers and hardware such as servers and routers. Cloud infrastructure provides the right reliability and scalability required for DevOps to be operationalized within the bank
- DevOps Framework: Banks should look at using a standardized DevOps framework. A typical framework should provide developers a capability to rapidly develop, test, and deploy their applications. The DevOps framework should include a Test Driven Development (TDD) framework, a Continuous Integration (CI) framework, and the Continuous Deployment (CD) framework. CIOs and CTOs need to decide on the tools they would like to go with each of these components. Integration of these frameworks with the user story prioritizing and tracking tools such as Jira, helps drive transparency across the projects
- Automation: While one of the key features of DevOps framework is Automation, it is important to not to lose focus. Whether it is build, test, or deploy automation is one of the critical success factors. In the DevOps world, there has been an explosion of tools in release (Jenkins, Travis, and Teamcity), configuration management (Puppet, Chef, Ansible, and CFEngine), orchestration (Zookeeper, Noah, and Mesos), monitoring, virtualization, containerization (AWS, OpenStack, Vagrant, and Docker), and many more. While, as with Agile, it is incorrect to say a tool is 'a DevOps tool' in the sense that it will magically bring you DevOps; there are certainly specific tools being developed with the express goal of facilitating the above principles, methods, and practices, and a holistic understanding of DevOps should incorporate this layer.
- Cross-functional Teams: A team of application-development, infrastructure-management, and operations professionals should be convened to streamline the ownership of stacks across the application-delivery pipeline. In the case of continuous delivery, for instance, a joint team would oversee all processes (and associated tools) relating to this development activity, such as application building, testing, and deployment; performance management and monitoring; and virtualization and configuration management. Previously, some of these components would be owned by different organizations. In the DevOps model, infrastructure teams have equal rights as that of a software-development team to participate and own the delivery of the product to market
- Process: DevOps is absolutely compatible with Agile and is the logical continuation of the Agile journey that was started in 2001. We now know that the real definition of 'done' is not when development is done coding. Instead, code is only 'done' when it has been fully-tested and is operating in the production as designed. DevOps also benefits from the convergence of philosophical management movements, such as Lean Startup, Innovation Labs, Toyota Kata, etc.
- Culture: Banks must create a culture that fosters two things: a) learning from customer insight and b) continual rapid experimentations, which require taking risks and learning from successes and failures. Learning through customer insight helps build empathy for the end customer/ consumer. This helps the team to appreciate and learn about the needs, goals, and motivations of the end customer/ consumer, which also helps financial institutions drive customer centricity within their organization. Rapid experimentation and risk taking ability helps create a culture of innovation within the organization. These are extremely critical and have to come top down. CIOs need to spend time thinking this through and help build a DevOps culture for delivery.
- People over Process over Tools: If you get the right people in the room, give them the space to operate, and focus on clearing away impediments to their progress; you will be amazed to see the magic.