DevOps - It's a cultural exercise.

DevOps - It's a cultural exercise.

TIL Friday - Why understanding culture will help you achieve DevOps


Did you know that Amazon engineers deploy code every 11.7 seconds?! That's more than 7000 deployments per day...! Every day!!

We need to think about that for a second - because deploying code is hard work and there are so many moving parts. Each deployment needs a backlog of user stories, it needs a couple of sprints, it needs a heck load of testing, it needs... You know the drill, you probably live this every day! So multiply that daily effort - the concentration, the conversations, the coffees, the frustrations, the creative solutions - whatever it takes to deploy once - BY 7000! EVERY. SINGLE. DAY!

 

So how do they do it?

Well, they have a massive team... And that helps. But they also do DevOps reeeeeaaally well. And as much as you probably don't quite aspire to deploy at that intensity, I'm sure we all aspire to being efficient enough to reach our peak deployment.

DevOps level efficient = Peak Deployment.

 

What have you got to do to achieve "DevOps level efficient" at your organisation?

If you said "employ more engineers" you were wrong. The right answer has to do with culture (and more engineers in a bad culture is only going to make things worse). We need to understand how the right culture can enable DevOps and how the culture you have in your non-DevOps environment needs to change in order to move to this new way of working.

  

 So let's talk about culture: what is it and how did it happen?

Culture has to do with the way a collection of people think and make decisions. Seth Godin, one of my favourite authors on this topic, captures the essence of culture in the following catchphrase: "People like us, do things like this". It's worth breaking that down a little bit and looking at how this catchphrase applies in our development context.

In the old days of deploying code, we used to separate ourselves into our different delivery functions - the Dev team would write a bunch of code, then they would throw it over to the Testing team who's KPI's were about finding all the mistakes, then once that battle was over, they'd throw it over to the Ops team to deploy it. And that seemed to work fine. Each team working separately, with their own KPI's, doing things their own way - ways that worked best for them to deliver on their unique part of the puzzle. Teams working separately in silos to deliver.

And because each team was siloed in their our own environment, they each developed their own unique culture. Testers, for example, have their own unique stereotype... And they do things, well, differently... and so do the rest of us! People like us, do things like this. Each delivery unit, with their own ways of working and their own unique culture.

And that's great! Except for one thing: working like that is inefficient. There's often a lot of friction between siloed teams and their different cultures. And friction makes things inefficient... Which means NO to peak deployment and ABSOLUTELY NO to 7000 deployments each day.

We've got to the remove friction in order to achieve our peak deployment - and in order to do that, we must break down the silos and merge the culture.

 NO MORE SILOS! Otherwise no DevOps.

And that's why understanding culture is so important! Because breaking down the silos means the mixing of these unique and well-established cultures (which isn't easy). It means working together in a new way where we have to redefine who "people like us" actually are, and what "do things like this" really means. We have to establish a new common set of values. We have to value each other's input, understand each other's problems, collectively define what success looks like and create a new culture within our organisation!

For example, if "building quality software that meets the customer's needs" is a collective outcome we are striving for, then "doing things like" setting testing KPI's to achieve 50 tests per day... won't necessarily contribute to that outcome. Perhaps getting the Testers to collaborate with the Dev team BEFORE they write code could lead to a better outcome. Another example might be opting for collective input from across the disciplines on infrastructure architecture early on in the project - which means redefining "people like us"... Getting the Dev team to put their Operations hats on and vice versa will pay huge dividends later down the track.

But this doesn't happen by itself, it takes a bit of effort, intention and leadership to create a culture where true DevOps can take place.

Breaking down and bringing together well-established silos is a challenge, especially when the org charts that the silos live under are sky-high. It's not something that happens overnight. But it can happen! And if you start by doing some cultural investigation within your organisation, you will be on your way.

 Have a great weekend!


As always, get in touch with any questions or feedback. Keep the conversation alive by liking, commenting and sharing!

#DevOps #Agile #CI/CD #Culture #Development #Operations #Testing

 

 

 

要查看或添加评论,请登录

Kevin Anderson的更多文章

社区洞察

其他会员也浏览了