I’ve worked in the enterprise software game for quite a few decades now and for most part it’s been a good gig. Ok, there’ve been a few road bumps that beset anyone working in this oh so fickle and volatile business, but what really keeps me motoring isn’t the software at all – it’s the joy that comes from helping folks learn and grow – even in the midst of all the crap, chaos and confusion that surrounds us.
Paradoxically and sadly, most of this “triple-C” burden comes from over hyping and sensationalizing the real IT goodness. Goodness in the shape of best practices that can help us grow both at an individual level, and in context of supporting team, departmental and business goals.
DevOps is a classic example.
Here we have a set of principles and guidance to facilitate better communication across an often fractured IT function. All simple goodness you might well say. So why is it that clever folks are waxing on at great lengths to proclaim DevOps is the best IT thing since sliced bread? Why are vendors hurriedly washing just about every product (from servers to thermostats) with the DevOps soap? Why is it that our industry is taking something that’s really common sense and shrink-wrapping it in hyperbole and nonsense?
Well, the short and simple answer is there’s a buck to be made. Hey, nothing wrong with entrepreneurial spirit, except of course when the cost and burden of suspect knowledge and overstated capabilities (all packaged in glossy DevOps wrapping), is passed on to you – and becomes – well, another “box” that sits and gathers dusts on the shelf of good intentions.
So whether you’re a working at the sharp end in development and operations or in the management treadmill how do find and put to work all the DevOps business goodness and not end with another trendy IT white elephant? I have some surprising, but simple advice that starts and ends where it’s most effective – with you.
Garbage in, Garbage out – Go on, Google DevOps — 10,900,000 results in 0.23 seconds– isn’t the Internet just wonderful. But in all the noise, how much is actually useful and applicable in context of your daily grind – Not that much, I’d say. Nuggets are especially hard to find when you’re distracted by all rants and raves – like, ITIL is dead – long live DevOps, or DevOps solves Global Warming. Ok, I jest, but for the sake of your sanity, seek out folks who apply common sense thinking as it applies in your world. Personally, I enjoy (although I don’t always agree with) the work from the likes of Kim, Spafford, Haight, Bloomberg, Edwards Willis and Mann (even Rob England for a good dose of Skepticism), but depending on your own craft, look for solid, meaty, practitioner-baked material that makes sense to you.
Greeks bearing Gifts – or anyone for that matter. The good or bad thing (depending on which way you look at it) about DevOps is that being a collection of principles it lacks a formal framework and isn’t a standard. Unfortunately this provides an opportunity for scurrilous types to fill the void with suspect claims. So if a vendor tells you that they have the best DevOps product, or that their product/service is DevOps compliant, they should probably be selling steak-knives on one of those late night promo TV channels.
Don’t Play the Fool – In slang we often use the word “tool” to depict someone that goes along with something without question and never questions the greater purpose. How often do we see the other form of tools (great software products) used in this manner. All too often the business invests in damn fine open source and smart enterprise software, only to have its true potential diminished because of tribalism, parochialism and plain stupidity. So the next time a tool lands in your eager hands, think beyond your silo and see what automation and integration exists to weave the DevOps collaboration fabric between you and you colleagues. Like for example Ops guys using performance management data to auto-generate realistic virtual services that Dev and Test can use to prevent defects reaching production.
Apply the KISS Principle – it’s easy to get carried away in DevOps folklore with grand tales of continuous deployment, microservice magic, containers and design for failure. But back on your planet, old creaking servers still need to be patched, the help desk sucks, and you’re being asked to deliver mobile apps on the smell of an oily rag. Sure, there are great lessons in the DevOps hall of fame, but think practically about what’s applicable in your organization. Like any best practice, DevOps isn’t an all or nothing approach, so cherry pick what works and think big as you progress. Personally, I think the best place to start is by applying lean thinking – that is, clinically identifying and unashamedly owning up to the waste and technical debt that exists in your own department.
DevOps is great, but it isn’t a perfect package. Your role is to take it, shape it, and apply it in ways that work for you and your organization – which always involves, time, cost and commitment.
Shame on anyone who tries to shrink-wrap DevOps in outrageous claims that just add more burden and cost to an organization.