DevOps practices are designed to unify software development and software operations. Through multidisciplinary teams, the DevOps movement enables automation, quick integration, testing, and improved deployment frequency. DevOps practices also lead to a lower failure rate of new releases, shorter lead times between fixes, and faster recovery times. DevOps practices bring with them a whole host of benefits, but it is also difficult for an enterprise to achieve.
We all gather inspiration from agile prodigies like Amazon, Spotify, and Netflix. Spotify has a strong, agile engineering culture, Netflix is the poster child for microservices, and photo-storing website Flickr developed a DevOps approach, to support a business requirement of ten deployments per day.
Companies born in the era of digitization have smaller teams and are easily adaptable or primarily set up in an agile manner. Take, for example, Spotify’s agile engineering culture. Launched in 2008, Spotify’s teams are called “squads.” These squads have their own missions and are optimized for autonomous collaboration. Spotify has a strong culture of aligned autonomy, radical agility, and cross-pollination in place of formal standards. Spotify's supporting architecture is based on 100 separate systems - each owned by one different squad. This level of flexibility is hard to find in an enterprise.
Below is a video of Spotify's unique engineering culture.
Inspirational and innovate, it may be hard to initially emulate on an enterprise level. Larger companies that mimic the steps of newer, smaller firms are likely to fail. Enterprises have different cultures, tools, and processes that have proven to work well enough drive advancement to enterprise level; but the same rigid, steadfast structure may hinder quick adaptation to DevOps.
5 Steps to Scaling DevOps in the Enterprise
The demand for top-notch DevOps talent is as high as it has ever been; with 60 percent of hiring managers looking to fill DevOps engineer positions, according to the 2017 Open Source Jobs Report. Adopting anything on a grand scale may be a bit harder than adopting the same process on a smaller scale. The following points are 5 ways to prepare your enterprise for DevOps.
1. Define what DevOps means for your enterprise
The term DevOps means various things to different companies. Decide which practices and benefits your company desires from the agile practice. Are you looking to cease dependence on inspection to achieve quality deployment? Improve quality and productivity of software code? Foster an autonomous culture? Break down communication barriers and informational silos in your architecture? Deciding your key focus points before you begin sets correct directional guidance, and will help you choose which metrics to track.
2. Acquire top talent
DevOps jobs are in high demand - and they expect to be compensated and surrounded by other pioneering DevOps practitioners. At the time of this post, DevOps engineer ranks #2 on Glassdoor’s 50 Best Jobs in America rankings. Before innovation, disruption, social impact, or global reach weighed into a career move; there was the lure of long-term job stability. Having a secure job for your adult life was the goal. Now, top talent trends indicate that the desire to work for a flexible and innovate company tops job stability. Consider this when looking for developers.
Consider hiring a DevOps evangelist to infuse DevOps processes into a preexisting enterprise. DevOps evangelists work with other architects and domain experts to transform emerging technologies and business requirements into industry/company specific software designs and patterns.
3. Perform an initial stock-take
Look for the current characteristics in your organization that support a DevOps culture. PaaS platforms, Docker, and DevOps-trained employees. It is imperative to document, prioritize, and optimize existing deployment pipelines. From there your team can seek efficiencies categorically and deliver stronger business outcomes.
4. Track Dev-Ops metrics
Just changing processes isn’t enough - it is also imperative to track metrics. Choose the metrics most relevant for your organization to evaluate where you stand with your current DevOps endeavors.
- Deployment frequency
- Change volume
- Deployment time
- Lead time
- Customer tickets
- Automated test pass %
- Defect escape rate
- Service level agreements
- Failed deployments
- Error rates
- Application usage and traffic
- Application performance
- Mean time to detection (MTTD)
- Mean time to recovery (MTTR)
Note that not every metric will be relevant for your particular situation.
5. Preempt the culture shift
Due to the sheer size and nature of enterprises, teams are usually sectioned off. The business sector may not understand the gravity of the weight of DevOps endeavors. It is critical that business leaders understand the new focus on creating and supporting innovative software. From this understanding, management can reinforce collaboration across teams, which will prepare their organization for the open cultural environment that DevOps brings.
Prepare for a DevOps journey
Enterprises must do DevOps differently from startups. For established companies, the road to DevOps is long, winding, and eventful; it will uncover weak spots, silos of information, and disadvantageous processes in your company’s pipeline. With the use of DevOps metrics, cross-functional communication, top-talent, and specialized support your enterprise will be heading in the direction of agile and DevOps transformation.