Many of you may have heard the word DevOps come up over the past few years. If so, you may have wondered what it involves and, more specifically, what it means for product management.
Well, DevOps grew up around the increasing demand to deliver new features and new technology quickly, without sacrificing the performance and stability of the product – allowing companies to deliver releases more rapidly, more often and more easily. This practice is often known as continuous delivery.
‘Automate all the things!’ is a well-known DevOps meme. Automation tools like Terraform’s ‘infrastructure as code’ and Puppet’s ‘configuration as code’ are critical to modern operations. We are also seeing the rise of ‘event-driven automation’ with many tools.
The benefits of automation are far reaching. It eliminates toil, improves capacity planning and enables issues to be fixed without manual intervention. Reliability and consistency are much improved too. You can be certain that the correct and most recently updated approach will be used every time.
All of this means operators have more time for engineering work. They can take a more strategic approach, focusing on factors that generate wider IT and business performance improvements.
Continuous Testing: Complementary to Agile and DevOps
Digital transformation brought about by quality software applications and robust hardware platforms helps to create a competitive advantage for enterprises across verticals and geographies. Now it is no longer about choosing between speed or quality of software but to incorporate both when delivering to customers. With Agile and DevOps being embraced by enterprises to stay up to speed on the competitive curve, continuous integration (CI), continuous delivery (CD) and continuous testing (CT) have become the catalysts driving quality digital transformation.
It goes without saying that continuous testing has become critical and is challenging. CI and CD are primarily tools and team-driven activities, while CT is comprehensive in its scope, including teams, tools, testers and services. The importance of driving and integrating code changes cannot be ignored in the software delivery life cycle. At the same time, unless the automated delivery system can figure out the impact of such code changes on customer experience, CI and CD could become meaningless.
Rise of DevOps and CI/CD Automation - Security
As cloud adoption increases, automation of deployment to the cloud becomes a key factor, resulting in the meteoric rise of DevOps. DevOps uses many tools to automate cloud integration and cloud deployment, with CI/CD tools consistently at the center. Security must be part of this automation process, preferably in the CI/CD. The manual waterfall approach cannot work with the new speed and volume of application development. If scanning is not automated in the CI/CD, scans simply don’t get run. Therefore, because the automation workflow starts with DevOps, Security needs to be DevOps-first.
Changes after Covid-19:
The world has drastically changed. As a result, we have had to adapt the way we shop, socialize, educate and work. Businesses have had to adapt to keep operations going, and the biggest change they’ve had to make has been the move to remote working. For most, this has meant bringing a laptop home from the office and setting up at a home desk or dining table. For teams used to collaborating in-person, it may feel like the world has turned upside down.
DevOps teams have been thrust into a decentralized environment at the very time they are facing record traffic and the pressure to return to or even exceed their prior cadence. The current climate has accelerated demand for fast and efficiently running online services, such as e-commerce, streaming services and video conference platforms. Digital platforms not only are facing greater demand, but they are also seen as more mission-critical than ever.
Survey Sees Surge in Demand for DevOps Skills
The Linux Foundation and edX, a provider of an online learning platform, jointly released an annual report today that for the first time finds organizations are looking for more IT Personnel with open source DevOps skills (65%) than developers (59%).
No team or organization can know everything all the time, but we can build in visibility to the process of rolling out functionality to our users and create a shared vision of our intentions and the results we achieve. I would argue that if you do look at DevOps from both sides, up and down, you will know the benefits.
You’ll grow faster if you take time to scale properly
For a scaling business, this is the single most important factor allowing your team to grow in a non-linear fashion. As automation is extended, the number of services that can be supported by a consistent number of engineers increases. Which means you can scale your revenues much faster than your costs.
As you move beyond the start-up phase, all eyes are on growth acceleration. Naturally you want this to happen as fast as possible. But carving out time to do things properly – and taking care not to scale prematurely – will reap dividends.
If you try to do everything at breakneck speed, there’s a good chance that growth will peak too soon, or worse still, that the business will fail. Aim instead for a sustainable approach, even if it means an initial delay. In the end you’ll grow faster and stronger for longer.
Supported by the culture are the 4 key principles to ensure DevOps is successful. Automation is a significant ‘pillar’ of DevOps methodologies, ensuring that near-instantaneous feedback can be gathered through automated processes. Lean IT is about instilling an agile mindset into the team and its processes, ensuring the focus is always on producing value for the end-user by taking a lean approach to system thinking and requirements.
This lean thinking extends to the next principle; Measurement. It’s important in any continuous delivery environment that teams do not spend time measuring extraneous KPI’s. Keep it simple and measure the right things – those stats that will help guide you to customer value and allow you to find and fix faults quickly. The final principle in this model is a practical application of the cultural foundation – make sure you collaborate and share experiences and learnings. Take responsibility for sharing goals.
What are the benefits?
DevOps has some big advantages, both on the processes and culture of an organization.
The cultural mindset change, that is necessary to facilitate the move to a DevOps model, leads to a much more collaborative environment. The culture of shared responsibility should foster a greater feeling of trust between teams, as all are now working toward the same outcomes and objectives.
The emphasis on repeatability and automation means that it also becomes easier to scale development processes, allowing for greater flexibility and agility within the company. The increase in the speed and availability of feedback afforded by automation allows for teams to react quicker to create faster fixes to any issues that arise.
DevOps offers enormous potential for improving the effectiveness and efficiency with which a genuinely cross-functional product team can deliver. It ensures that development, in particular, can focus on adding customer value and not get lost in the weeds of operational tasks. It allows product management to confidently experiment and monitor how their product is performing; while giving the ability to respond quickly to issues in a live product.
DevOps is not a new fad; it is a philosophy that has been around for some time and looks to be here to stay. It is highly complementary to how modern digital product teams work and if you are not already doing some (or all) of it, we would lay odds on it coming to your business soon