There is considerable debate concerning a standard definition of "DevOps". A hot topic in multiple industries, it appears that each organization may need to define the concept in terms of how it can be implemented in an industry-specific manner. Or better yet, it can be defined more optimally on a business-by-business basis. Originally coined as a term to express a need for the developmental and operational sides of a business to collaborate more effectively together, it has instead come to mean different things for each organization that tries to incorporate it into business training and practice.
However, the thinking behind DevOps appears to be the same across all industries. In the simplest terms, the goal of DevOps is to help a business succeed from inception of ideas to fruition of finished product. Implementation of DevOps strategy is a win-win situation for all departments of a business, from development all the way through to software product release or implementation.
That being the case, what are the basic principles of DevOps? Surprisingly, it all boils down to what your mother taught you when she first put you in the sandbox with other kids on the playground. Play nice, and share the sandbox. Who knew Mom was such a forward-thinker?
How can Mom's advice be applied to DevOps in the real world of tech? There are several guiding principles which must be used to achieve the goals of DevOps. While an idea may begin to take shape in an IT department, input from the operations side of things must be taken into account for a seamless process to develop. A reciprocal form of communication must be established for optimal results. From a business practices standpoint, an organized pipeline of useful information must be put into place between departments to facilitate open and honest dialogue.
Feedback must be a strong lynchpin of this type of communication. While IT may be all about the tech side of the coin, and Operations may be all about implementation of IT's vision, neither side can reach full potential without the cooperation of the other. Software developers make better decisions when operational knowledge is taken into account, and operations does better when applications knowledge is considered. Cross-training between departments increases understanding and collaboration for the enterprise overall. Feedback fuels innovation on both sides of the fence. Or rather, in a perfect DevOps solution, there will be no fence at all.
Thus, the focus becomes not, "What will make this work for my department?", but rather, "How can we optimize the whole process, from start to finish, with cohesion and cooperation?" The real focus will be on collaboration toward the common goal of making your business ready to seize opportunities in technology and advances in other fields with agility born from a spirit of commonality. Such cooperation would make Mom proud, and will give your business a definite advantage over more compartmentalized enterprises.