“Imagine a scenario where you are building a great product but not actually bringing that good product out to the users fast enough.”
This thought set the tone for the talk by Hemant Khandelwal, Head, Harness India on ‘Move fast and don’t break things’ at the 2nd edition of YourStory's flagship tech event Future of Work in Bangalore, amidst data scientists, product engineers, developers and entrepreneurs.
His 20-minute long talk highlighted how the tech ecosystem can deliver software rapidly and why it is important. Sharing a few statistics, he highlighted the current state of the tech ecosystem.
“Today, there are about 23 million software developers in the world. There are 1,00,000 software and ITES companies in the US alone. Today almost every company is a technology company, which means software delivery is inherent to them. There is so much forward-thinking and innovation that has happening all around. Yet, almost anyone who is associated with delivering software to a user will tell how you how software delivery continues to be painful and how it is still largely manual and error prone.”
What makes some of the bench-marked companies so successful?
- Amazon deploys every 11 seconds
- Netflix deploys 1,000 times a day
- Etsy deploys 50 times a day
Sharing the deployment statistics of some of the most successful business across sectors, Hemant indicated that today the rate of deployment is directly proportional to success and growth.
“The user experiences these companies provide to their users is amazing. They are able to align to the user needs fast and convert that advantage into business growth.”
Business agility: a key differentiator
Hemant stated that an increasing number of companies are thinking about customer centricity and are putting their customers at the center of what they do, irrespective of whether they are a B2C company or a B2B company. “Because, in reality, there is hardly any difference when it comes to what customers want. Be it the bugs you are fixing or new features that you are developing, it is all aimed at giving users an enhanced user experience and taking that experience to the user faster. “
“If technology is your key differentiator then it needs to be in the hands of the user as fast as possible. Because, when you are trying to innovate, it is equally important to put that innovation to use and thereby making it critical to deliver your software to the hands of the user faster.”
The complexities of software delivery
Sharing personal anecdotes, Hemant explained how software delivery often becomes complex as a company grows and why having a bigger team of engineers or having a software delivery cycle of once a week or fortnight won’t solve the problem. He then went on to explain the challenges and complexities associated with software delivery.
“After creating binaries, there are so many factors to be considered while doing infrastructure provisioning. There are a host of technologies that you must consider – from Kuberenetes to Cloud. Then comes a host of other factors to be considered for the release strategy, verifications, and rollback. Putting together a strategy and working on all of these is not an easy job. All of these make deployment a stressful task. Adding to the complexity is the need to respond fast in a critical situation.”
The background on complexities helped to establish the need for Continuous Integration and the larger approach of Continuous Delivery
“Today Continuous Integration makes the process of software delivery easier. But the question you need to ask is this: whether the team involved in continuous integration is actually integrating into the master once a day or actually creating feature branches and working on these in isolation for several weeks and assuming that ‘Jenkins will complete the job’. If it is the latter, that’s definitely not how continuous Integration works.”
How do you do Continuous Delivery:
Hemant explained there are three things that companies must predominantly focus on for drafting a successful Continuous Delivery approach: Smart Automation, Using Machine Learning and Artificial Intelligence, and rollback strategy
- Smart Automation
Smart automation is a key component of Continuous Delivery. Smart Automation is not only about automation related to the product but also how efficiently and effectively you can release the software, build workflows and pipelines.
Hemant added, “One very important development that companies must take into account during smart automation is that multi-cloud strategy is here to stay. Companies are spinning their dev environment on one cloud, spinning their stage or production environment in another. That means the way the infrastructure or cloud stack that is getting used is very different in each of the places. So, the question you need to ask yourself is how agile are you? How agile are you to create replicas of entire environment.”
- Using Machine Learning and Artificial Intelligence
“The amount of data that gets generated during the deployment phase is immense. From data on business transaction to request response time, there are so many signals available to companies in terms of what you can do to process that information. And, instead of manually looking into all that information and figuring out the next steps, it’s better to deploy AI and ML. And, considering that you will be doing deployments at speed, using ML and AI to analyse the data that gets generated during deployments can help businesses to uncover insights faster and also increase the velocity of deployment.
- Rollback strategy
What is your strategy when deployments do not give the expected result or cannot be deployed as expected. How do you roll back? How do you upgrade your different servers? How to build safety knobs around these key areas? These are key questions that business must ask to answer to define their rollback strategy.
The Harness India Head ended his talk by showcasing customer success stories highlighting the potential and impact of doing Continuous Delivery and doing Continuous Delivery right.
A big shout out to Future of Work 2019 sponsors – Deployment partner Harness.io, Super partner GO-JEK, our Women-in-Tech partner ThoughtWorks, Voice Tech partner Slang Labs, Technology partner Techl33t, AI/ML partner Agara Labs, API Partner Postman and Blockchain partner Koinex.