In the new digital normal, where remote working has upended conventional software development cycles, the role of DevOps is central. Many enterprises have an accelerated digital agenda, but are often underinvested in rebooting DevOps for several reasons, including a lack of experience and insight into how it can help businesses recover from the new challenges created by the pandemic. This can be a strategic mistake, as real acceleration is driven at the developer level. Here are three ways DevOps automation can help enterprises overcome challenges in product life cycles and excel during this time of flux.
DevOps Can Accelerate Product Life Cycles to Meet Demand
In 2015, Adidas released a new line of Yeezy sneakers, which became an instant hit. The company quickly sold more than 2,600 shoes every five seconds. But Adidas’ IT infrastructure could not keep up with demand and crashed, and software developers were unable to find a quick fix.
Impacted by customer and employee dissatisfaction, Adidas needed a solution to recover from the chaos and prevent future challenges. That’s when the company embraced cloud-native architecture, Kubernetes and DevOps. Today, Adidas’s IT infrastructure has accelerated its software product delivery cycle from once every six weeks to five times a day, while building a more resilient system.
It is not that Adidas wasn’t aware of DevOps in 2015. The company hadn’t yet invested in educating its teams about the DevOps automation mindset, nor had it made DevOps automation a priority. Adidas needed a shift in culture, one that it brought about by rebooting its DevOps practice. This DevOps success story underscores how an accelerating go-to-market demand needs to be supported by underlying structural and systemic change.
Today, as the pandemic continues to disrupt software development workflows, I urge enterprises to use this opportunity to reboot DevOps and gain speed, agility and resilience. DevOps can change the mechanics of dependencies between development and operations to reduce friction. By leveraging extreme programming and design thinking in conjunction with DevOps, enterprises can accelerate every segment of the software development life cycle independently, while maintaining resilience and adequate levels of governance. It provides the opportunity to invest in security-as-code (aka DevSecOps) so it is sustainable and scales easily. This also enables enterprises to reimagine software architecture and governance by implementing advanced digital architectures.
For enterprises on the path to such transformation, there are four key DevOps Research and Assessments (DORA) metrics indicative of their DevOps practice’s success. These are: lead time for changes, deployment frequency, time to restore service and change failure rate. The first two of these could be seen as an “offensive strategy” and the latter two as a “defensive strategy” to measure speed. This means to accelerate delivery, organizations must introduce a faster lead time for changes to production, increase the frequency of new software deployment, shorten the time it takes to restore services to production and reduce the change failure rate to production. As you can see, Adidas needed improvements in all four of these areas to successfully reinvent its performance.
DevOps Automation Can Reduce Complexities in the Software Development Process
It took more than four years for BMW, the premium automobile manufacturer, to move from a waterfall software development methodology to a 100% agile, DevOps methodology. Today, 20,000 employees in the company use an agile software development toolchain, allowing them to streamline and synchronize their end-to-end software development. BMW has reduced its time-to-market by 25%, minimize incidents by 30% and gain a 360-degree view of IT.
Today, enterprises are shifting from waterfall to agile weekly and daily releases. My belief is that every enterprise needs to adopt a 100% agile methodology, just like BMW did. Testing and continuous improvement/continuous development (CI/CD) is key for deploying code in small chunks and reducing merge issues and refactor efforts. Ultimately, this increases developer velocity and decreases lead time.
The shift from a partial to a 100% agile model requires more than simply senior leadership’s resolve. It needs a dedicated pool of certified DevOps automation consultants, coaches and subject matter experts with experience in SAFE, LESS, Scrum and Kanban frameworks. Best-in-class enterprises and OSS toolchains that cater to DevSecOps, service meshes and omnichannel apps are essential. Simultaneously, agile-based delivery coaching, audits and continuous support to existing and new delivery teams are a must.
While DORA metrics can serve as a good measure of an enterprise’s DevOps performance, businesses will need tools to assess DevOps maturity, improve developer productivity and provide specific recommendations for improvement. Data will play an important role in decision making and aid every developer’s performance, more than at any time in the past.
Automation Makes Room for New Product Development
Many software development teams struggle to keep up with the onslaught of new technologies entering the market. Take, for instance, artificial intelligence (AI); the number of applications built using AI is rapidly increasing. However, it continues to be new to many development teams. A similar story unfolds with Internet of Things (IoT), which creates complex systems with information pouring in from thousands of sensors and appliances every second with multiple software and hardware configurations. Testing these devices, configurations and performance cannot be done manually. This is where a DevOps automation mindset can help. It can ensure quality assurance processes have considerable test coverage across these different technologies and configurations by introducing automation.
Newer technologies, such as Kubernetes, serverless apps, 5G, edge and cloud computing are increasingly used in product development, making DevOps even more important today. DevOps also plays a key role in transforming the developer experience. Today, developers need the foundation of agility, decision-making power and speed to deliver solutions on-demand. To facilitate this, enterprises must automate the management of development, testing, quality assurance and IT operations to successfully build continuous delivery processes. Further, given COVID-19 and the shift to working remotely, DevOps can help product teams collaborate remotely, leveraging well-established platforms available with any of the major cloud providers.
As enterprises accelerate and adapt to work in this new normal, leveraging both the cloud and a remote workforce, a DevOps Automation mindset can speed up this transition. Enterprises must assess performance and enhance capability at the developer level to truly accelerate the journey to digital transformation.
Content By DevOps.com