A beginner's guide to DevOps
Embrace a customer-first mindset as the first step on your DevOps journey
Build shared language, practices, and tools with this guide
For a team just starting out on the journey to DevOps, there’s a seemingly endless amount of playbooks and guides. What do they have all in common? Customer-centricity.
The path differs for every team, based on what their customers need. That said, the following reference architecture helps teams build better shared vocabulary about the future state, and prioritize their practice and tool improvement efforts.
Customer centricity reference architecture
Workflow
Practice
Action
Plan and track
Code
Detect
Package
Deploy
Deploy to production-like environment
About this guide
Does this sound familiar? Nobody on the software team has a clear understanding of what the business really needs. Team leadership constantly struggles to provide stakeholders with clear statements of progress and status. Work is isolated based on each function, which leads to long hand-off delays in both the planning and delivery phases of a project.
If this characterizes your situation, there’s likely a gap in the trust between your management and your team, and perhaps even between your team members. It’s a team culture problem where trust is scarce but blame is everywhere.
In our experience, the first step is reorienting the team to ensure that everyone is focused on a shared goal. That means the team thinks and plans in terms of benefits to sponsors, customers, and users.
Where you are today
Process Indicators
- Lead time for changes:
Between one month and six months - Deployment frequency:
Between once per month and once every six months - Time to restore service:
Between once a week and once a month - Change failure rate:
45-60%
Tech
- Tool stack:
Niche tools (ad-hoc) - Technology platform:
IaaS, often self-managed
How to make these team changes
Focus on the customers
The whole team must learn customer centricity. If user stories fall flat for your team, you might need to add more detail. Impact mapping, as a team-wide activity, can be a great way to take large business goals and break them down into parts that still hold customer meaning. It helps connect the tasks in a backlog to an overall target.
Specification by example is a way to get more detailed about the work, without losing customer perspective. Examples describe how customers interact with a system, so that we can better test our design. Examples should not be "another artifact". Instead, collaborating on the creation of examples builds customer empathy across the team.
Recommended resources
Atlassian’s plays on customer concentricity
Use scrum to connect the backlog to the customer
For many teams, scrum offers a more concrete solution, because the product owner acts as the customer representative. Here's how we describe the role:
Product owners are the visionaries for the product. They work with customers, stakeholders, and others to build a roadmap for their product, and they also build out a backlog, which is is the next level of detail from the roadmap … The product owner’s big contribution to the agile team is a prioritized backlog.
This person decides which tasks are most valuable for the team to prioritize or tackle. Scrum separates what is valuable from how to accomplish it. This means an effective product owner isn't simply building a backlog of activity, but prioritizing work according to customers' needs. A customer-focused product owner is essential to re-orienting a team lacking customer empathy.
Recommended resources
An overview of Scrum
Continuously improve customer empathy across your teams
Overall, tools and practices must grow and change together. A team won't get the benefits associated with DevOps if they don't share the fundamentals of customer-centricity. For too many organizations, developers focus exclusively on getting features out the door, while operations focus exclusively on keeping things secure and stable for customers. But, these two teams need to find a compromise in the tools and practices they apply.
There's no way to find that compromise without connecting a team’s preferred tools and practices to customer needs. Hopefully, this article sparks that initial conversation around orienting towards the customer.
Just getting started with DevOps?
See all the guides we recommend.
Customer-centricity already part of your team?
Visit our next guide around automation.