DevOps as a Hermit or Socialite?
On our road to Delivery Efficiency, we’ve covered knowing and understanding your thing and we’ve also talked about making our thing better over time and where that fits in the delivery continuum. As we continue our journey, the next key element is in relationships.
What relationships? Sometimes our thing relies on other things and other things sometimes rely on our thing. Some people call these inter-dependencies. Simply put, they are relationships. Relationships come in many shapes and sizes: the relationship of technical components like software running on servers to server dependency on the network; the relationship between a custom-built application and a third-party database; the relationship between the business unit and the software application it uses. Even the smallest piece of code that is used has two types of relationships: that with its developer and that with its consumer. It is through these relationships that we are able to elevate to higher and more sustainable level of efficiency.
The high performing efficient teams I have worked with fall into one of two categories:
- They are self-contained and self-sufficient; Meaning they have all of the end-to-end resources to deliver a fully functioning thing.
- OR – They are acutely aware of and leverage their relationships to the fullest to deliver a fully functioning thing.
You can call these the Hermit or the Socialite, respectively.
The Hermit espouses self-sufficiency above all else. The Hermit may produce small things and trade or sell them in return for things he needs, but the entire point of the lifestyle is to ensure that the Hermit himself survives through self-sufficiency. The Hermit operates in a manner akin to a single team in an organization that supports the product end-to-end and doesn’t rely on anyone else. Overall the Hermit can be quite successful, as long as he has what he needs inside his bubble or has full control over what he needs. As soon as he has an external dependency that he can’t control, the dynamics start to shift and he either adapts to a non-Hermit lifestyle or suffers the consequences.
The Socialite understands that the world is larger and richer through interactions with others. She also realizes that relationships can be leveraged to more quickly achieve success and happiness. In some of these relationships, she provides benefit and value to others through her connections and knowledge (and yes, sometime her connections will take advantage). In some of these relationships, she seeks expertise to grow and to fulfill needs that she herself cannot. She also knows that the world isn’t static and to continue to deliver faster than her competition she needs to stay in shape and evolve- whether to meet new market demands or through continual maintenance (think daily workouts and a diet that have to change as you age). The relationships may also change over time as the expertise and offerings evolve.
It’s interesting to note that there are many similarities between the notion of DevOps and the Hermit ideals – i.e. try to do as much as you can yourself, reduce handoffs and dependencies with other team. Why has this proven successful? (One might hypothesize its because we have difficulty managing relationships, but I won’t comment.) This has proven successful because of the full control and elimination of the complexities inherent in relationships, including handoffs. In many cases this is exactly the right formula. On the other hand, an organization or enterprise that functions like a well-oiled machine both within its own operation and the extension of operations to partners and suppliers represents the Socialite. Think Lean, think Agile at enterprise scale, think of the interconnectedness between business and technology, think of sustainable long-term efficiency and success.
Who should you be?
Is there anything inherently wrong with being like the Hermit? Not if you hold fast to the bubble. In fact, there are many teams that are hugely successful with this philosophy. Mostly when dealing with a single product or offering end-to-end. But, there are limits and understanding these limits is the key to ensuring that this model of operation is sustainable in the long run. The Hermit who continues to operate like a Hermit in a world where he needs to interact and depend on others will become stressed very quickly. What I am suggesting is that as the number and complexity of the interdependencies increases, there is an an upper limit of the success of your thing within your thing-ecosystem if it operates as the Hermit. This is one reason why we have both Agile and the Scaled Agile Framework.
So if you can’t be like the Hermit because of your thing and its ecosystem complexities, how do you operate like the Socialite? To start off with we need to understand the relationships we have. In Red Hat IT, we’ve developed a core diagram. A simple depiction of relationships that is easily consumable that conveys what are the offerings that are supplied. After we understand the relationships, we can then internalize three crucial points to be like the Socialite with minimal effort:
- Where does my offering fit in relation to other offerings in my organization?
- On which offerings do I depend?
- Who depends on my offering?
This logical model can be useful simply to guide conversations in an organization. For example, to answer question #2 above, I simply look at the offerings below my thing in the model. To answer question #3, I look at the offerings above my thing in the model.
Seeing the your relationships can help to quickly inform concepts like organizational architecture and if your thing can operate more like the Hermit or if it is required to function like the Socialite. You’ve probably seen teams suffer when trying to operate in a way that doesn’t fit their thing. There are three typical ways this happens: 1. trying to be like the Hermit when you have a lot of dependencies that you can’t eliminate; 2. not managing your relationships and dependencies to your advantage; or 3. straddling the netherworld between these with resultant paralysis and stress.
Where does this leave us on our journey? We’re now easily able to communicate with others what we need and what we produce. Yes, these are the basics of knowing your thing and what it is that it does. Next, we add to that an understanding of the strengths of our relationships. At this level, the relationships may provide enough information about how to view our consumers of our thing as well as on whom we depend. And now we build and strengthen these relationships just like the Socialite to deliver Faster, Better, Stronger, Wiser.
How well do you leverage your relationships to deliver more efficiently like the Socialite? Or are you like the Hermit – entirely self-sustaining?
The Journey Continues
Next time we’ll continue our journey to delivery efficiency through looking at the pieces and parts that make up the inner workings of our thing. This is how we evolve and improve: by knowing what it is we do, leveraging the relationships, and appreciating how the threads of complexity act as road signs to tell us what we need to change and when. #guerrilla_ea.
Join the Red Hat Developer Program (it’s free) and get access to related cheat sheets, books, and product downloads.