Implementing DevOps as a culture requires transition from a well-structured to an unstructured IT organization. While implementing DevOps, I’ve learned that people have varying definitions of structured and unstructured IT organizations. After attempting to define both structured and unstructured IT organizations for my management team, I came to the conclusion that IT organizations can be categorized on a scale beginning with “chaos” and ending at “structured”.
Chaos is a state in which an organization lacks documentation, procedures, feedback, projects, defined tasks, and well-defined roles and responsibilities. In a nutshell, when an organization is in the chaos state, nothing is defined for individuals; they have the freedom to do what they want and to decide how it is they would like to achieve it. A start-up in its first months of operation would probably fit this definition.
On the other hand, structured organizations have very rigid and detailed documentation, projects, contiguous feedback, and defined tasks, roles, and responsibilities In essence, each individual’s work environment is defined for them; they know what is expected of them and exactly how they should perform in order to meet this expectation. Usually big enterprises, managing hundreds of thousands of employees, fit this description.
If “chaos” and “structured” are at opposite ends of the IT organization spectrum, I believe that an organization labeled as “unstructured” would fall somewhere between the two. Each one of the characteristics given in the above definitions of chaos and structured states will exist to a certain level in an unstructured organization. In order to successfully move your organization from “structured” to “unstructured”, it is necessary to come to an agreement with your management and staff as to what the definition of an “unstructured” organization in your specific company looks like.