How to Improve DevOps Collaboration: Better Handoffs
Getting the development (sometimes called "project") organization to work closer and more efficiently with IT operations is providing a competitive edge to leading product development organizations. Together, these DevOps teams are building and maintaining a value-creation machine that lets them update their product quickly, continuously, and infinitely over time. One important challenge: wasteful and inefficient handoffs.
There are good, bad, and worse ways to handoff.
But what if you could avoid handoffs altogether?
Handoffs: the Invisible Threat to DevOps?
There are claims that up to 50 percent of information and knowledge is lost in every handoff. Imagine a customer telling a salesperson exactly what they need.
That sales person then tells product management, who then tell the development team, who then tell the testers, who then tell the operations team.
With 50 percent of information lost in each step, the customer may only see a mere 3 percent of their original needs reflected in the end product.
It should be no surprise, then, that handoffs are scorned by the Agile community. Every handoff — much like context switching — is a source of waste and risk.
When the receiving team (an operations team, for example) is unprepared for the handoff, meetings must be booked, time is taken to learn new concepts, etc. Organizations with many handoffs risk losing critical product information while delaying time to market. In the end, this delays your product and extends the time it takes for the customer to receive what they want or need. Depending on the industry, this delay can have serious repercussions. Within healthcare, for example, the wrong information can directly affect a patient’s health.
Information is lost because so much information and knowledge is not formalized. Credited to Michael Polanyi in 1958, tacit knowledge is the kind of knowledge that is difficult to transfer to another person through conventional methods — whether writing it down or verbalizing it. How software behaves in a complicated system is tacit knowledge.[/caption]
3 Ways to Improve DevOps Collaboration
How many times have we heard someone from the operations team tell developers that their code was not correctly documented? That strange behaviors occurred after an upgrade and no one seems to understand why? These things happen as a result of poorly handled handoffs. When you cannot avoid a handoff entirely, there are ways to make your handoffs more efficient. These include having a better definition of “done”, gamifying handoffs, and team building.
- Have a clear, shared Definition of Done. To define a handoff in a DevOps situation, the development side’s “Definition of Done” should correspond to the “Definition of Ready” on the operations side. For example, before the handoff happens, operations guides are complete, changes are deployed to staging environments, and new strings are localized to Japanese — all typical checkboxes in a development organization’s Definition of Done.
- Gamify the handoff. Every day, and with each handoff, teams and individuals interact and learn from each other. How can you make that interaction more valuable and productive? One way to raise awareness about challenges as well as learn about different formats is through games. Spend an afternoon with your team playing a game like this, where work is divided among teams to quickly build a high-quality house out of a single sheet of paper. By framing the handoff process as play, the process becomes more fun and memorable.
- Help everyone feel like part of the team. Successful handoffs occur when both sides — the development and operations organizations — feel and act as one team, not two estranged parts. In many larger organizations, completely cross-functional teams are not possible for a number of reasons. That doesn’t mean teams need to be strangers. Great first steps include making sure development and operations staff know each other well and have a shared understanding of goals, objectives, and achievements.
Can We Remove DevOps Handoffs Altogether?
Imagine a transparent DevOps world where the operations teams can see what is going on in development — in real time —and prepare (or raise any concerns) as early as possible, reducing awkward and sluggish handoffs. It’s possible. At Hansoft, we’ve developed a project management tool where hundreds of decisions can be made in a DevOps organization simultaneously. It immediately flags when work is ready while also containing all the information the receiving team needs to begin their work. With a tool that creates transparency, operations teams can see what is going on in development and vice versa. All of the information and knowledge is propagated transparently and in an easy-to-understand format to all other users on the team.