Every Team Should Embrace On-Call
Every Team Should Embrace On-Call
Since the goal of an Agile and DevOps mindset is quick, quality production, why not have all hands on deck when an incident arises?
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
Speed of execution is the greatest strength of the agile companies. When we look at the Agile and DevOps mindset, we can see that the sole purpose of all these movements is to make things faster without sacrificing quality.
What does it mean to be On-Call?
In short, being on “on-call” means being the first person who should respond to requests or incidents that need immediate attention. Doctors use pagers and are on-call for long periods of time. When there is an emergency that needs to be taken care of immediately, they get the call and respond to it.
Traditionally, operations teams were responsible for being on-call, but with the DevOps movement, companies are realizing the importance making everyone who is involved in the development life cycle on-call (not just operations engineers but also developers).
What are the benefits of making people on-call?
Companies who haven’t yet embraced the DevOps movement, or haven’t yet reached high maturity levels, still may put a few operations engineers on-call hoping they will deal with all critical issues. A more modern approach is to include the entire development staff who are responsible for building the software. Having the developers on-call has many advantages:
- As problems are assigned to the person who actually built the software, MTTR (Mean Time to Recovery) decreases.
- Increasing a developer’s responsibility encourages them to think past code functionality, and towards code deployment and usage, preventing failures and rollbacks.
- Developer’s skills will improve, as they gain greater insight of how their code impacts deployment and product usage.
- As MTTR decreases, customer satisfaction increases.
Making people on-call outside of the software development teams
The same benefits of distributing on-call responsibilities to an entire development team can be realized by implementing on-call practices for issues that impact any business goal within any department, including customers success engineers, sales, finance, and marketing teams.
For example, when a customer has an urgent request, a customer success engineer who is on-call may get an alert if response time becomes excessive. If a response is still not given, the issue can be escalated to the next customer success rep in line.
Focusing on your customer’s happiness is a big competitive advantage and putting people on-call is one of the best ways to make this happen.
One thing to note--putting every agile team on-call should be one of the goals of companies who want to be successful, but it is not something you can achieve overnight by just creating a schedule and paging people. Just like any other process, following an iterative approach is critical for success and will help you decide on the best ways depending on the dynamics of your teams and company. Managers should be clear about their expectations. Processes and actions that need to be taken should be designed and discussed within and among teams.
If you want to learn more about this topic, watch Emel, our Director of Product Management, give a talk on this topic at Istanbul DevOps Day 2017.
Published at DZone with permission of Serhat Can , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.