What is “DevOps”?
This is an interesting question I love to engage with customers on. There are always such a wide range on answers based on their own professional experience and skillsets. I’d even go as far as saying there are those that believe “DevOps” was never really a position or that “DevOps” has now evolved into something else. This article is an attempt to answer What is DevOps from my own personal prospective and opinion.
There is no RIGHT Answer
First thing one has to realize, as with many things within software development (and life for that matter), there is no absolute right answer. This is critical when attempting to have any conversation with someone on the subject matter.
I’ve seen customers simply define “DevOps” as the team responsible for maintaining Azure DevOps and on the other end of the spectrum others define “DevOps” has inherit in everything which they develop and no need to even talk about the term “DevOps”.
I might be biased; however, I have always felt the definition Microsoft created isn’t a bad one:
A compound of development (Dev) and operations (Ops), DevOps is the union of people, process, and technology to continually provide value to customers.
This definition is broad enough that it is open to interpretation and adoption within any organization. The only addition I would make is there is a lack of emphasis on the “shift left” focus.
For those unaware “shift left’ is terminology used to reference pushing software development activities from the right side of a traditional software delivery lifecycle to the left where more development occurs.
Reduce Speed to Value
What this comes down to is how to reduces the speed to value for the customer. Sounds similar to Agile right? While DevOps, to me, is the technical equivalent or process which pushes Agile. This may involve such activities as giving more power to developers, increasing efficiency of such activities like build and deploy, and automating day to day operations.
Where to Get Started?
Every organization is going to look slightly different; however, here are some bullet points which could help “kick start” DevOps:
- Infrastrucure as Code
- Infrastructure as Code and Application Code built and maintained by the same team as well as deployed together
- Focus on decreasing build times
- Shorten response to failures via automation
- Quicker alert of any potential issues
DevOps can mean a lot to a lot of different teams and individuals. At the end of the day I always bring it back to that “DevOps” is whatever process and technologies can be implemented to get a higher product out the door faster.