Most of us know Dr. Dolittle’s pushmi-pullyu – that special beast with two heads that go in opposite directions whenever it tries to move. That this creature could only exist in a fantasy world free from Darwinian forces is obvious – doomed to failure because, while its blood may circulate, the pushmi-pullyu is literally of two minds whose “selfish interests” are forever at odds.
In the 2-person scull, rowing is executed in precise synchrony achieved through coordination and continuous feedback. Failure to stay in synch will list the boat to one side, slow forward progress, impede steering, frustrate rowers and serve as the root cause of numerous injuries.
Of course, competitive rowers invest in the best platform too (their racing boat or "shell"). Competitive shells are designed to reduce all manner of friction. A shell’s rigging is built to meet the distinct needs of each rower; accommodating unique requirements that stem from a rower’s relative position inside the boat (which should NEVER be confused with a conflict of interests between the two rowers).
In fact, the underlying design principles presume that rowers share a common goal (win a race), have entered into a contract (to coordinate and synchronize), and are committed to working within an integrated platform (their shell). …and the best rigging is one that finds a way to meet each rower’s unique requirements as measured by the achievement of their common goal.
The hallmarks of a successful DevOps organization (aka “the kick#@s crew”)
What’s it take to build a kick#@s crew and avoid breeding your own doomed pushmi-pullyu?
· Agree on common goals (Dev ROI?)
· Adopt processes designed to coordinate and synchronize DevOps activities through continuous feedback (Agile?)
· Invest in an integrated DevOps platform built to reduce friction and able to meet the unique requirements of both development and operations.
· Always be mindful that, if these unique requirements are not met (like in our sculling example), you will suffer slowed progress, impeded agility, frustrated stakeholders and all manner of inefficiency and loss.
These principles sit at the heart of PreEmptive Analytics and have helped ensure our success across industries, platforms and runtime environments.
I first blogged on the importance of understanding role based “special interests” relating to development and operations feedback almost two years ago to the day: Application analytics: a new game brings new rules (10/12/2010)
For a more contemporary discussion of these topics, check out my article inside the MSDN Visual Studio Library: Application Analytics: what every developer should know