DevOps Transformation: Will it work for me????
Venky Chennapragada
Principal DevOps, Cloud, Agile, TOGAF 9 Certified Enterprise Architect, Capgemini
When we first meet the Leadership, Dev, QA and Ops teams as we begin DevOps assessment and transformation phases in an organization more than 70% of the time we hear this: It might have worked at Google, Netflix or Amazon etc ..it will not work here! Who cares if Google search returns 1.1 million results or next click 1.2 million results? Are you OK if your bank account transaction misses a $100 in your account? Who cares if the Netflix streaming takes extra 30 seconds to load your favorite movie or show you wait for it to load but if you are a e-commerce customer will you wait 30 seconds of extra response time? Who cares what Amazon catalogue is displayed based on your profile customization but a customer can not have us miss a P6 ticket and associated SLA. The DevOps might have worked for new programming languages like Java, .NET or Angular etc we are a packaged software shop we use lot of SAP, Oracle apps, etc.. it will not work for us. Very valid points, but they need to wait for the full message and have patience and positive frame of mind to walk the path of transformation. Any transformation, Agile or DevOps or Digital change the way you currently work, change the operating model and org structures, change the processes and change or introduce new tools. You need to be flexible and willing to learn, experiment, be positive and lead the change. Some of these transformation are a necessity for survival of the organization and have to done like you have some health issue and you have to take the pill how bitter it might be. These transformations are not templates that you apply at company A and apply the same at Company B. The solutions have to customized for each situation and have to give support top down for it to succeed. The results will not shown overnight and hence teams should have patience to wait for full benefits. DevOps is about trust among teams and also trust in the change that is being proposed and implemented.
Let us take Agile Transformation, the building block or foundation for DevOps. What does it preach for people working in traditional waterfall method? Break down your work into smaller chunks of work and do it iteratively and produce some release frequently say in 2 weeks or 3 weeks so end customer keeps seeing some changes. Do this repeatedly. How does it relate any technology stack here - custom or package? You need some training and coaching to break the requirements into stories, grooming, prioritizing the work and assigning the work, daily stand ups. If you are working on incidents or production tickets you have Kanban in agile to work on them. Sure you need some training on a Agile tool like JIRA or Rally and some coaching. Now tell me why does it not work for anyone?
Let us take DevOps transformation. What does it preach to the folks on the ground? Version control everything; Automate build and packing; Automate testing; Automate release and deployment; Automate monitoring; and Automate environment provisioning. What ever technology stack you might be working on don't you have tools to automate the tasks listed above? If you currently doing things manually can you scale or can you provide customer satisfaction in current times? Is this not technical debt that you are accumulating? That is why some customers ask this question, do you need license to do DevOps? These transformation from current ways of doing above functions to new and automated way of doing things might be done in any order. Once you have implemented all the above have you not implemented Continuous Integration (CI) and Continuous Delivery (CD).
Let us take Digital Transformation. what is the core theme of Digital Transformation? Is'nt it to provide great customer experience? Is that not the core mission and objective of any company? Is it not important to look at our current business transactions and processes and look for waste, bottle necks and change and improve them so we provide great customer experience? How does your technology stack matter here? Technology should be an enabler for this and not impediment.
What does all the above say? Any transformation is not easy, we have to be open to it and provide ideas and contribute to the change because without local champions any transformation will not succeed. Organizations do not succeed if they do adopt to the new changes. Leaders should support these bigger transformations and remove any bigger obstacles and as necessary invest in bringing new talent or tools. They should be willing to take some risks. Companies do financial audits but I suggest there is a great need to do technology audits to see if the teams are keeping up with the times and not falling behind to called legacy.We have seen many large companies that did not change their business models have fallen by the way side. Darwin's survival of the fittest is more applicable in technology then ever before.