With all the hype around DevOps it's easy to become enamoured. There are many success stories of companies driving tremendous innovation at a very fast pace. The so called unicorn companies such as Etsy and Netflix are great examples of approaches worth striving for. Hearing tales of 50 deployments per day and resilient environments can easily fill one with envy.
Sadly not all of us work in environments like that. Even more frustrating is the fact that many organizations do not have leadership promoting a DevOps culture.
The unicorns have clearly found some of the most lush grass to feast on, but there are some solid tufts for all of us.
For a long time I tought that it was possible to drive DevOps principles regardless of management support. I no longer feel very hopeful that the culture can truly be altered from the bottom. I don't make this statement lightly, nor am I entirely resigned to the status quo. Reality is rarely black and white.
The difficult thing about pursuing a DevOps culture from the bottom is that in most organizations the ability to influence is greater the higher up in the organizational hierarchy one is. It's simply the result of the power structure. To state the obvious: the hierarchy gives greater control to those at the top. Regardless of the intentions and desires of those who would most benefit from DevOps, the management structure allows management to drive approaches which frequently simply don't align with DevOps principles. This results in shortcuts for testing to get a feature out, deprioritizing the pay down of technical debt, and not making time to improve team interactions.
Depending on my state of mind I think of this as negative or shrug it off as purely factual. It is what it is. Que sera, sera.
Most of the time I remind myself of what's really important: making things better.
The opportunities to improve something (anything) arise on a near daily basis. Continuous improvement is a vital part of DevOps. It may not come near the unicorns, but even just one or two individuals can make things better. The progress will be much slower than if the entire organization embraced a DevOps culture, but it's a journey and every little step gets closer to the goal.
So as a reminder to myself and perhaps others who watch the unicorns grazing upon much greener pastures I offer the following questions as something to embrace before diving into the day:
- What can I eliminate today? Technical debt and manual processes are the prime targets
- Who can I help today? This is about making processes self-service and helping to guide others. Perhaps even some DevOps evangelizing
- What can I learn today? Innovation is critical to the organization and learning new things is vital toward that end
- Why am I / are we doing this? Lots of things just happen. It's hard to make things better unless the why is clear. Questions are good
For me it is worth reflecting on those at the end of the day. I find that days where I can point to items that meet the goal of one of those questions are simply better days.