As enterprises continue to add more tools to handle specialized portions of software delivery, an alignment has begun to place more emphasis on data than tools. This alignment realizes the value of data — not just processes or applications. The result: a real need to leverage insights into the practices and better optimize them. Multiple technologies, processes, applications, and systems need to be updated and maintained on a regular basis to keep this fragile ecosystem functioning properly.
What does “DevOps success” really mean, and why do we need to avoid tool chaos? Of course in a multi-team enterprise environment it is important for people to collaborate, but without tool collaboration and integration, we can’t achieve continuous delivery; we can’t deliver software faster and in more agile ways. The task of automation, which is one of the key elements of DevOps, will become complex without tool integration.
With the increasing need for integration, the acceleration of integrations in an enterprise creates even more chaos. More learning is needed for the IT support organization — the need for more alignment in the DevOps processes, and more metrics to determine how well all this interactivity is working. Increased chaos and the need to solve this is imperative. And with the shift from failsafe to safe-to-fail due to the IBM toolkit, even more robust systems are required with minimal downtime and minimum chaos.
As Segal outlined in Controlling Chaos, the chaos introduced by the interactions of increasing staff (now that analysts, testers, developers, and operations are collaborating together) increases geometrically approaching S2/2 where S is the number of staff.
In such a chaotic environment it is important that different business teams work closely together. Utilizing the collaboration features enabled through application integration is a powerful way to optimize communication between teams. The ability of teams to work together efficiently and seamlessly tends to the ever increasing need to minimize the disruption caused by disparate applications and information silos. But where do you start? As Perforce says in Conquering Chaos, don’t start with something too hard, or too easy. Don’t start with the low hanging fruit and don’t ignore the ugly fruit — it has to be picked eventually.
As discussed in a previous blog, the combination of all the enterprise’s application into a single cohesive environment is what we now call artificial intelligence, i.e., the way to combine all the data and power of our IT world to leverage information that was previously unavailable before the days of seamless integration. This allows us to reduce the disruption caused by the plethora of tools and varying processes, which will unfortunately place more load on the operations teams and processes as development becomes more efficient. The way to know when we get to this stage is to develop metrics and key performance indicators (KPIs) using the data captured from the information coming out of the application silos.
Effective monitoring, automation, and collaboration are the key factors in reducing the chaos in utilizing a complex network of application in your DevOps environment.
Doug Bass is a certified Atlassian consultant and trainer and a certified ScrumMaster. He is an experienced systems architect with experience in distributed application design, database architecture, network design, and project management. Author of the first relational database for military applications in the UK and the first java-internet based chat application, Doug teaches classes in object-oriented design. He holds a Masters Degree in Information Architecture. He is a consulting partner for Atlassian’s product suite, and architect of several of Go2Group’s products including the CRM Plugin (JIRA and Salesforce integration), JIRA/Perforce plugin, and ConnectALL (a multi-application synchronization solution). Doug contributes his free time to the United States Power Squadron where he teaches classes on safe boating.