Joining a new team I was able to hear the remarks on how we have no dedicated DevOps person who is taking care of the AWS infrastructure and all the Gitlab pipelines.
The conversation reminded me of an old tweet.
“Yeah, we’ve found this great person to do all the DevOps”— Sam Newman (@samnewman) April 19, 2016
That isn’t DevOps
Okay… DevOps is also not a pipe
What then is DevOps?
Back then I took the tweet and in my head automatically translated it into
Every developer should be able to do operations work
It is the responsibility of the developers to take care of Ops
Meaning a specific train of thought is required to understand the tweet. It does not tell you how to do it. Only how not to do it.
Wikipedia on DevOps tells us
Most often, DevOps is characterized by key principles: shared ownership, workflow automation, and rapid feedback.
Yes, shared ownership. Of what though?
Hopefully development and operations.
There should be no dedicated DevOps person in the team. There should be no dedicated anything in the team. Dedicated anythings are always a bottleneck. Or poised to become a bottleneck in the future. Either by moving to other parts of the organisation, to other organisations, to other fields of interest, enjoying a holiday or anything else that makes them unavailable.
Of course we can have a person that carries DevOps knowledge into the teams. With the goal to enable the team to take care of the DevOps work themselves at one point. Teaching them to work with AWS or Gitlab pipelines if we take the example above.
Thus let’s not have a dedicated DevOps person in the team.
More on the topic is described in the article Cross functional teams