Is DevOps A Culture or Role in your Organization?
For past 3 and 1/2 years I’ve been watching many Techies and Startups talking, questioning and trying to understand more on the magical word called “DevOps” on this Cloud Era. And Yes, personally I’ve faced lots of questions regarding “What is DevOps?”, “How can an Organization/Startup adapt DevOps?” etc…The funniest thing is even I too have asked the above questions to those who offered me DevOps Role in a couple of Organizations, long time back.
Right from the year 2014, till now, I’ve answered many questions regarding DevOps on Quora. Some of top questions are,
- What is a DevOps role?
- IT automation and DevOps, are they two sides of the same coin?
- Is it good to shift a career from a developer to a DevOps engineer
I’m not going to say I’m an expert or my answers are going to be 100% correct, but I would like to sharpen yours as well as my view on DevOps. Before proceeding with this post, it is absolutely necessary for you to read and understand my standpoints from the above links.
Do you think DevOps is just a Role?
I would like to say “NO” forever. I know you might feel a bit annoyed, if you have the tag called “DevOps Engineer” officially. But let me be clear, most of the orthodox IT/Computing/Networking/Security Organizations or Startups hire people based on the skill sets and their previous Designation/Role. Some of the known Role names are “Software Analyst”, “Test Engineer”, “QA Analyst”, “Program Analyst”, “Software Developer”, “Software Engineer”, “Junior Programmer”, “Senior Programmer”, “Operations Engineer”, “Platforms Engineer”, etc...(may be a never ending queue of Roles).
For example, if a guy having Designation/Role as “Senior Programmer” with humongous experience, and can concentrate only on programming and building business logic, He/She will never know where the application runs, how its deployed and how it is tested or analysed etc…If one doesn’t know anything other than building business logic, do you think one can build a better, scalable, less buggy application? Never. Those Organizations find hard to build, deploy and scale applications faster as the demand grows and fails at some point. I would like to call this methodology as Role based approach.
Finally the Organization is the loser here and not the individual, he/she will jump to another Organization based on their current Role, getting some good hike in salary. Role based approach can be the main reason for the failure of an Organization. This is Cloud Era, the success of an Organization purely dependents on how fast it can build, test, fail and scale its products.
If you agree with my reasoning, I can strongly state that DevOps is not just a Role and can never fall under Role based approach. Fine, then what DevOps is? This might be next question you have on your mind and I’m coming to it.
Yes, DevOps is a Culture.
As I’ve already said this is Cloud Era and pointed out some of potential problems within an Organization that can have huge impact, now it is time for an Organization to try adapting Culture based approach.
Yes, DevOps falls under Culture based approach. From my point of view, the definition of Culture based approach is the transparency within the Organization individuals/teams while building products, solving problems, production deployments, infra operations etc…
DevOps is a Culture within the Organization, where the developers and operations people transparently work together to plan, build, release and deploy. The developers know their infrastructure well before they code and so the code quality and architecture can scale.
For example, if a newly hired developer in your Organization is able to build a piece in the product after clearly understanding the infrastructure, test-analysis, deployment strategy and existing architecture etc…then I would say that Organization has executed DevOps as a Culture. The reason is, he/she knows the complete cycle from development to production and thus quality, scalability and portability of the product into production becomes more simple and reducing chances of failure. This is a big win for the Organization as well as the individuals/teams with respect to time, cost and resources.
Is your Organization ready to adapt DevOps as Culture?
If Yes, then there are a few things to do,
- Change the mind set of Dev and Ops people to share the knowledge and work together from development to production. I always believe that change should happen from an individual.
- Train your Ops people on your development strategies and Dev people on your infrastructure and deployment strategies. This is the secret sauce.
- Let the Dev people inspect the work of Ops people and Ops people inspect the work of Dev people on regular basis.This is to find the flaws and rectify them.
- Try to maintain 100% transparency between the Dev and Ops people. This is to avoid confusion within Organization and prevention of faults migrating into production.
- DevOps should not dictate the Organization strategy, but the Organization should dictate DevOps strategy i.e The Organization has to form a strategy to execute DevOps as Culture.
Hope this helps for any kind of Organization that is trying to adapt DevOps as Culture. Eagerly waiting for responses, so that I can also learn from you. Thanks.
Finally, if an Organization can build this kind of Dev to Ops relationship, then I would say the Organization has adapted to DevOps as Culture and their Devs and Ops can be called DevOps people.