We are living in a digital world. Digital transformation is happening around us and it is happening fast. The enterprises today have already accelerated their application deployment by adopting Agile principles in application development along with other tools like continuous testing, continuous deployment, automated testing, etc. A lot of our customers are asking whether it’s possible to deploy an application in less than an hour. Expectations today from system integrators is to deliver everything in “Continuous Mode” of operation i.e. Continuous Provisioning of Infrastructure, Continuous Integration, Continuous Development, Continuous Functional / non-Functional / Performance Testing, Continuous Observability and Continuous Improvement. In a practical world, these concepts are more adopted in the application domain and are uncommon in the IT infrastructure. There is a need for adopting Agile methodologies in IT infra operations. Enterprises today need to re-orient themselves according to the VUCA (volatile, uncertain, complex and ambiguous) business conditions. There are a lot of opportunities to eliminate waste, increase productivity and reduce cycle time by adopting the Agile concepts in IT Infrastructure operations. To adopt these Agile concepts/frameworks, the infrastructure delivery groups need to undertake a massive shift in their ways of working.
Agile principles in Infrastructure! How is that possible? A lot of people feel that agility & infrastructure are hard to merge as they are self-contradictory.
The companies born in the digital era have an inherent advantage. They get to build IT infra from scratch and have no legacy Infra debt. Besides, the main product for these companies is the front-end web service portal. It is completely customer facing and hence they learned the art of releasing new features in their application on the fly. On the contrary, the companies born in pre-IT era have the burden to manage old legacy systems and modernize IT to not be at a competitive disadvantage. Most of these companies have lot of workloads running system of records and applications just for compliance purposes, and don’t need an enterprise wide DevOps/Agility. These companies end up developing a 2-speed IT infrastructure. A 2-speed architecture allows these companies to accelerate the release of business differentiating apps and keep the lights on with the non-business differentiating apps. As the legacy infrastructure gets to EOL, the workloads move on to the new technology stack.
Building blocks of Agile infrastructure
There is a fundamental shift happening in the way infrastructure services are being consumed. In the old days, the legacy applications used to have a high form factor and the infrastructure was purpose built for the application. There was a lot of manual effort to provision these services to customers and they were inherently slow. As we gradually mature toward microservices-based application development, the tight coupling between application & infra is fading away. The applications & the infra hosting the app are decoupled and the applications are consuming standard infrastructure available from service catalogue. The whole service provisioning is automated end to end. The self-service functionality lets the application developers adopt the DevOps framework in which they ‘continuously provision’, the infrastructure resources on their own. In addition, the application testing, release & deployment also happens continuously.
This is giving rise to fundamental changes in the IT operating model. We are now gradually moving toward having integrated, cross-functional infra support teams intended to support a standard product end to end; which is very different from having teams organized primarily by their technical expertise. These cross-functional teams (aka squads) are responsible for end-to-end service offering. Most of the process involved here is automated, contrary to all the repetitive tasks being manually performed in the legacy ways of working. The end-to-end automation reduces the incident handover times significantly. There is an increased collaboration between application & infra development teams, along with increased integration between the development & infra teams.
How to adopt an Agile IT operating model?
Adoption of Agile principles in any enterprise IT is a complex task. It is as complex as any other organization restructuring. The first step in Agile adoption is to set up an organizational transformational plan which has an executive sponsor. The executive sponsor takes the responsibility of getting necessary buy-in, communication of intent, plan and progress to the larger audience.
The prime requirement of an Agile infrastructure is four folds:
- Technology stack which enables agility
- Product mindset
- Change in skill set to build cross-functional teams focused on products with waste elimination as key tenet
- Change in ways of working i.e. switching to iterative & incremental delivery along with increased collaboration between application & Infra teams
Let’s talk about what are the key things to be done:
- The first step is to ensure that we have a technology stack that supports agility. That is a tool stack which is completely software defined at all layers and can enable end-to-end service lifecycle management. The tool stack should have self-service capability from where the services can be consumed.
- The organization needs to have a product mindset. As a first step, meaningful business value streams need to be identified. A business value streams are the areas which are important for the enterprise. Talking in IT infrastructure terms, all the operation’s tickets can be considered value streams, namely: patching / security vulnerability (scan & fix), disaster recovery and cyber security. For some enterprises, the value streams can be identified with different business units. For example, a financial firm might have different value streams identified as retail banking unit, loan product unit and insurance business unit. Based on these value streams, the products under the Agile model can be defined.
- Technology is getting more efficient, doing more with less. But this cannot be done without the right skill set. The most important and crucial change that happens in Agile model is the skill set transformation. In essence, for every product defined – and each of the products are based on the business value stream – there must be a support team aka Squad. A squad is a cross-functional, well-rounded, self-sufficient team responsible for end-to-end service delivery of that particular product. Several squads in the same business areas are grouped together as Tribes. This is done to ensure inter-squad interaction and informal gatherings. To further promote team collaboration around each technology area, the resources around one technology are organized in a Chapter. Generally, the Chapter lead is the line manager for technology upliftment & other administrative tasks. The employees work only in a squad. There is a concept of Guild for community members with similar interests.