Best Practices for Adopting a DevOps Culture
Best Practices for Adopting a DevOps Culture
DevOps is fast becoming a vital part of many company cultures. Here's how to do it right with the proper tools and the right DevOps mindset.
Join the DZone community and get the full member experience.Join For Free
Implementing DevOps in your organization isn’t as simple as buying a tool and mandating that everyone use it. DevOps is more than a job title or even a team of resources: it’s a culture of constant innovation. A journey that requires continuous, incremental improvement. Daunting? Yes. Worth it? Most definitely. It’s a necessary foundation that enables you to innovate, learn, and improve to drive your business forward.
The Best DevOps Outcomes Are Driven by The Best Metrics
It’s always helpful to begin with the end in mind when embarking on a new initiative that requires organizational change. Leveraging metrics is the smart way to keep you on track and ensure a successful DevOps journey.
The Dora State of DevOps 2019 report identifies solid metrics to help benchmark progress towards a DevOps transformation.
- Deployment frequency — How often do you deploy code to production or release it to end users?
- Lead time for changes — How long does it take to go from code committed to code successfully running in production?
- Time to restore service — How long does it take to restore service when a service incident or defect that impacts users occurs; like an unplanned outage or service impairment?
- Change failure rate — What percentage of changes to production or released to users result in degraded service, and then requires remediation, like a hotfix, rollback, fix forward, or patch?
The research shows that the highest performing organizations do significantly better on all four measures. That's a good group to be in.
You may also enjoy: 8 Meaningful DevOps Metrics You Should Trust
Reach Your Goals, Without Sacrifice
The industry has crossed the chasm with DevOps. Industry velocity is increasing, making the holy grail of speed and stability a reality.
With DevOps, it's no longer "why?" but "when?" Companies, just like yours, use DevOps to reduce risk and be more agile, collaborative, and efficient. They use metrics to measure outcomes. Not just on the macro level. They dive deep into the processes affecting end goals.
For example, if you're pushing to move faster, you may measure against a release date. But it's important to take into account functionality that may have been dropped to meet that goal. The outcome at stake, with a successful shift to fully automated infrastructure and a successful DevOps pipeline, is a true Cloud Native environment that does not sacrifice stability for efficiency.
People, Process, and Technology, In That Order
All your DevOps planning is meaningless if you aren't sharing your vision with the people who have to actually bring it to life. That means taking a hammer to silos between people, data, tools, and processes. It's normal for team members to be resistant to change. New roles and responsibilities create uncertainty. DevOps isn't static. It's an on-going process, which requires an organizational shift. Consider beginning with smaller, easier to manage pilot projects to prove success while showing the benefits of working in new ways.
Share your vision of what their jobs will look like in a DevOps setting, and then provide training to guarantee their success — in their careers and the organization.
Focus on a DevOps-Ready Platform
You won't meet your goals if you're building on top of a faulty foundation. We have identified four key pillars for a DevOps-ready platform. By identifying the gaps in your infrastructure based on these pillars, you can create an environment that supports the automation, integration, and monitoring you need for agility and efficiency. To help identify gaps, start with the following questions in the context of each pillar.
- Platform as a Service – Does your infrastructure provide a service catalog of pre-defined capabilities to promote simplicity and supportability?
- Developer Productivity – Do your dev teams have standardized productivity and automation tools so they can focus on app development?
- Built-in Security – Are your orchestration tools embedded with security checks?
- Hybrid Cloud – Can Kubernetes be deployed with ease in on-premises or in the public cloud?
Creating a services-oriented DevOps platform will ultimately provide the elements necessary across these key pillars. Developers can focus on creating applications on a platform that provides the consistency and stability necessary to enterprise IT operations. You end up with a total package that delivers control, standardization, and cloud agnostic capability – a true Cloud Native enterprise environment.
Now, It's Time to Walk the Talk
DevOps is a new way of embracing technology and requires a critical evaluation of traditional tools, practices, and philosophies. This level of commitment to change requires a strong vision shared by a champion who is empowered to change the culture. Typically, sponsorship for any major undertaking needs to come from the executive levels of the business. Implementing DevOps is no exception. If you are the executive sponsor in your organization, let’s get started. If you are a visionary who is not in an official leadership capacity, you need to find that person and enroll them in your vision. Change feels scary and hard. By clearly communicating expectations and outcomes, it is possible to get developers and operations teams on board to think and act differently, despite conflicting priorities.
- Sell the vision – Who will DevOps service? What services will you provide? How does DevOps fit into the application strategy? What are the expected business outcomes?
- Promote cultural change – Address conflicting priorities between dev and ops head on. Root the goal of the DevOps transformation in a shared commitment that everyone can get behind. Automate first – find some quick wins. Speed is good, automation reduces risk.
- Deliver results – Build a team with the right skills. Set milestones and deliver real DevOps capabilities against them. Create a governance and continuing operating model.
It’s certainly not easy but anything worth doing rarely is. And you are not alone. Many top enterprises are grappling with the same challenges. It helps to find peers who are further along the journey and learn from their successes and challenges along the way. The impact of a successful DevOps transformation is wide-reaching with outcomes that include; improving job satisfaction for both development and operations teams, positively impacting profitability and productivity, and ultimately improving the customer experience for those on the receiving end of the innovation your company is putting out into the world.
Top 12 DevOps Tools for Your DevOps Implementation Plan
5 Best Practices for Implementing DevOps
Opinions expressed by DZone contributors are their own.