05/05/2020

DevOps is not just a culture and it is also a role! - General

OK, probably you heard this many times before; "DevOps is a culture, not a role". It also has other varieties like "DevOps is a culture, not the tools" and so on. Well, I believe that this is not so accurate!

Maybe it looks like a philosophical post but it's actually not. It comes from a purely practical problem! After some time I realized that sentence became kind of a "cliché" and people just say it without a deep understanding of many DevOps aspects!

As an interviewer, I like to ask candidates about how they see/describe DevOps as part of their role. If I get answers like it's a culture and so on, then I ask the next question, how to activate/implement this culture? In many cases, I'm not pretty happy with the answer because it doesn't show how to have DevOps in place, and it's more like a magical thing that just happens!

So this is really not theorizing but a try to address a real problem in the market.

While the fact that DevOps is culture is true, but that's not so accurate because DevOps is beyond just that. Culture is just the tip of the iceberg!

For me DevOps is mainly about:

  • Set of practices (SCM, IaC, CI/CD, peer review, continuous feedback, etc).
  • Tools (modern tools used in the practices like Git, Jenkins, Kubernetes, etc).
  • Culture (make sure to clear DevOps goals on a high level like organization or department).
  • And most important, Mindset (positive attitude, fix the right problems, focus on the solution not on the problem, no untracked changes, avoid heroism, etc).

Also, here are some points I'd like to emphasize! :-)

Is DevOps a role by itself?

Yes, it is!

Saying that DevOps cannot be a role is like saying there is nothing called "Agile Coach" or "Scrum Master"! So in reality there is no conflict between being a culture and also a role. And again, the role title itself doesn't matter, but what is important here is that to understand all aspects of that role.

A DevOps engineer is a person who facilitates (also orchestrates) DevOps transformation within an organization, a department, or a team. And here we are not talking about DevOps engineer as a de facto job title because we all know that currently in the market the term "DevOps engineer" is used just as an "implementer" not a "facilitator".

But what does "facilitator" mean here? Let me quote this from Wikipedia:

A facilitator is a person who helps a group of people to work together better, understand their common objectives, and plan how to achieve these objectives, during meetings or discussions. In doing so, the facilitator remains "neutral", meaning he/she does not take a particular position in the discussion.

Facilitating DevOps could be part of other roles responsibilities like operations engineer, developer, team lead, engineering manager, or even a scrum master. But also it could be an independent role. So nothing prevents any company to have a role called "DevOps Engineer" as a facilitator especially in big companies or as a transit phase in DevOps transformation!

Is DevOps all about culture?

No, it's not!

On many occasions, I hear people talking about DevOps as a magical thing just happens and there is no clear path to have that culture in place!

To have a culture you need a set of practices, proper tools, and the most important thing a mindset that can utilize all of that. Frankly speaking, a culture without a way to make it happen not worth the paper it's written on!

It's something like: Do you use Agile methodologies in your company? Yeah sure, we do standup every day! (and of course, standup is part of Agile, but Agile is not all about having a daily standup!)

There are many other aspects of DevOps other than just culture.

Is DevOps just about Dev and Ops?

No, it's not!

The DevOps term has "Dev" from "development" and "Ops" from "operation". However, "DevOps" implicitly has in-between all other parts of building software ... security, testing, QA, data (science/engineering), etc. Otherwise, it will be something like "DevSecQADataMLOps" (you actually can add anything here).

So it's important as a DevOps adopter to understand all aspects of software starting from the business side to the life cycle and not just limit it to "dev" and "ops".

...

That's some of my thoughts about DevOps. There are many ways to implement DevOps, but when I hear someone talks about DevOps I expect from them to have some pillars to make it happen. Otherwise it's just another buzz word! (and it's actually not!)

Happy DevOpsing! :-)

Powered by Blogger.

Hello, my name is Ahmed AbouZaid and this is my "lite" technical blog!

I'm a passionate DevOps, Linux system engineer, Cloud/Kubernetes specialist, Free/Open source geek, author, interested in environment, calligraphy, and I believe that “Details Matter”!

DevOps transformation, automation, data, and metrics are my preferred areas. I have a built-in monitoring chip, and too lazy to do anything manually :D

Popular Posts