When NASA’s Mars Climate Orbiter reached the red planet in September 1999, thousands of engineers and scientists anticipated major breakthroughs from the 338-kg robotic probe, which was due to gather, analyse and send valuable information back to Earth, writes Rodrigo Albuquerque, DevOps Solution Developer, F5 Networks. Instead, it burnt to a cinder on entering Mars’ atmosphere.
The cause was not a dramatic mechanical failure but a simple communication lapse between project teams: Developers of the onboard computer system chose metric measurements for distance calculations, whereas the ground crew opted for the imperial route. The mismatch sent the probe hundreds of miles off course to its fiery demise.
Communication breakdowns seem like an obvious, and even banal reason, for projects to go haywire but it is very real and extremely common – particularly when a multitude of stakeholders are involved.
While disconnected, siloed working doesn’t always lead to explosive Martian mishaps, it is certainly increasingly incompatible with our hyper-connected, digitally transformed realities.
Innovation and progress have the best chance to succeed when inter-team alignment is constant, and everyone is relentlessly, continually engaged in collaborative dialogue.
This is exactly why DevOps methodologies are having such an influential impact on software development right now, bringing development and operations teams together to produce the best possible outcomes.
Much has been written about the technical aspects of DevOps but, regrettably, less attention has been spent on championing the fundamental soft skills that make the it so powerful.
The key soft skills and behaviours essential for DevOps actualisation are not technical, though they are closely related to technology.
First, let’s look at community. DevOps tools are open source and maintained by a vibrant group of people, so it’s important to be in touch with peers. If you aren’t sharing ideas and contributing to the community, you’re probably doing it wrong. DevOps is an inherently social process where you must engage to stay relevant and up to date.
Then there’s collaboration. You cannot succeed in the DevOps world without it. A non-stop development pipeline without barriers won’t happen if any contributor is left behind. Details matter. Fortunately, DevOps automation tools are starting to diminish siloed thinking and/or departments operating as opaque fiefdoms.
To make everything work, a level of collaboration between the traditional development and operation teams needs to have real depth and should become culturally ingrained. It must reverberate throughout an organisation’s DNA.
These same principles apply whether you’re a Silicon Valley tech behemoth or a small-to-medium size independent developer that is taking a more gradual approach to DevOps.
In fact, the cultural challenges can often be greater for larger organisations, many of which are hamstrung by both legacy systems and business-as-usual mindsets. In this scenario, implementing DevOps means changing the way individuals and teams work on a day-to-day basis. Abandoning bad habits is never easy but it is a necessary transition.
If you’re at the start of your DevOps journey, it is vital to get relevant staff on board with the new methodology from the outset.
Undertake extensive education initiatives and get all stakeholders to agree on a viable approach. Identify bottlenecks upfront and, crucially, repeat the discussion over time. Before jumping full-blooded into the DevOps realm, it is always prudent to test processes. Pick a few projects that are not mission-critical before scaling the initiative far and wide.
Ultimately, any worthwhile DevOps strategy needs to be owned from the top down with credibility and purpose. Otherwise it won’t work. A process of constant self-evaluation is non-negotiable. Each project should have its own designated DevOps coach or “champion” to help drive the process of constant self-evaluation and improvement.
Whether your organisation is tentatively stepping into the DevOps space, or is already at an advanced stage firing on all cylinders, it will all end in tears with the wrong culture in place. No amount of technical skill will save a DevOps project if participatory behaviours are inappropriate or misaligned.