Last night (my time) I watched the keynote of the BUILD 2016 conference in San Francisco. I was mind blown – holograms, bots, cognitive digital assistants that understand language – and let’s not forget Ubuntu on Windows! We’ve been saying (for quite a long time now) that it’s a new Microsoft – and BUILD certainly maintains this sentiment.
A few months ago I read some fantastic science fiction called “Future Visions” (it’s a collection of short stories inspired by current Microsoft Research projects). Actually, it’s not so much science fiction as it is science possibility. The interesting thing about BUILD is that we got to see real applications that, just 5 years ago, would have existed only in the realm of science fiction!
Aside: remember The Martian by Andy Weir that became a movie staring Matt Damon? One of the fascinations about the novel is that most of the tech in the book is in incubation currently – again, it’s more science possibility than science fiction.
All of this reminded me of a saying of a Product Manager I used to work with. He’d often talk about “the art of the possible.” So what has this got to do with DevOps? Well, a lot, as it turns out.
DevOps and Attitude
The old saw says, “Attitude determines your altitude.” This is true for DevOps too. How you think about DevOps (and your organization and your products and your users) will determine how successful your DevOps is.
I’m passionate (and fascinated) about the culture of DevOps (see this post). I’m starting to see that while tools and processes are important to DevOps, culture is absolutely critical to successful DevOps. But what culture do you have to build in order to succeed at DevOps? That, dear reader, is the question!
After watching the BUILD keynote, some ideas gelled together for me. In order to succeed at DevOps, you need to be positive and to see the art of the possible.
Often teams feel overwhelmed when they see DevOps. I can almost hear their thoughts:
- That’s all very well for someone else, but it won’t work here.
- Ah, but greenfield DevOps is easy. We have legacy systems.
- Those devs will never understand how hard it is to ensure consistency in our environments.
- Those ops guys don’t know anything about our application code, so what’s there to collaborate over?
- My manager hates Agile, so this will never work.
And so on and so on.
Just like any change in life, the fear of the unknown can hold us back. But I’ve seen teams take tentative, shaky steps towards change – and before you know it, their 6 month lead time has become just a few weeks. Maintaining a positive outlook on change as you embrace DevOps is critical. Keep believing in your team, and keep speaking positively.
How about you change how you talk about DevOps? For example:
- If it worked for them, then we can make it work too!
- If we can’t change the entire system, we can change this bit. And then this bit…
- The [devs/ops guys/business] may not understand, but if we work together we can help each other out.
- Even if my manager hates Agile, we can help him understand why we think it’ll make his life easier
And so on and so on.
You’d be surprised at how quickly change comes just by being positive about it!
It’ll also help to remember that DevOps is a journey, not a destination. Take those small, tottering steps and do the things you know you should be – source control, infrastructure as code, continuous integration, testing and deployment, app monitoring and all the other DevOps practices. And, like Johnnie Walker, “keep walking.”
Aside: Interestingly enough, one of the key findings in the 2015 State of DevOps Report is that “high performance is achievable no matter if your apps are greenfield, brownfield or legacy.” So it seems that some organizations with brownfield or legacy systems decided to ignore the talk of how hard it is to do, and just did it. So too can you.
The Art of the Possible
The art of the possible is all about imagining what can be. I remember what it was like to be in a Waterfall organization and how daunting the process of change looked as we moved towards more Agile practices. In the same way, moving from Traditional Dev and Ops into modern DevOps can feel daunting – but imagine what it will look like when you get there! Start imagining what the effect of your changes will be:
- What if business understood that small, incremental changes are easier to manage than long, detailed plans?
- What if you did have time to write good unit tests?
- What if you had time to deal with some of your technical debt?
- What if you automated VM provisioning so that it could be done with a click of a button?
- What if you source controlled your firewall rules so that you never had to wait for someone else to configure them correctly?
- What if you automated your build and release processes so that when you’re on leave, someone else can do it?
- What if you knew exactly which parts of your application were being used effectively by users?
And so on and so on.
The point is to paint a picture of where you’re going (and why). This will help you to figure out the who and the how.
We live in an age that 20 years ago seemed impossible – we’re taking holograms, bots and digital assistants in our stride. But somewhere in the not too distant past, someone was intentionally positive about a different future. And they used their positivity and vision to overcome obstacles and to make fiction into reality.
So now it’s your turn, dear reader, to be positive about your team and your DevOps journey. Picture what you want your DevOps to look like in the near future, roll up your sleeves and get going!