Within the last 10 years or so, various software development methods have evolved and have gained more adoption. Inevitably this resulted in overlaps and the expansion across various group silos.
DevOps started to gain popularity around 2009 through a series of events describing it’s benefits and implementation.
According to wikipedia, the definition is:
“DevOps is a software development method that emphasizes communication, collaboration (information sharing and web service usage), integration, automation, and measurement of cooperation between software developers and other IT professionals. The method acknowledges the interdependence of software development, quality assurance (QA), and IT operations, and aims to help an organization rapidly produce software products and services and to improve operations performance.”
Basically, the premise around DevOps is the ability to build collaboration between operational and development teams. With the explosion of Online services offered nowadays, this becomes an even more important aspect in many organizations. The rapid evolution of features provided by both a platform and custom developed modules relies heavily on direct and open communication between the various team building the customizations, supporting the environments, and supporting the users.
Microsoft has been a supporter of DevOps for some time now. With the Azure platform and the other Online offerings, accelerated methodologies have proven this need. They have also sponsored the following white paper called: “Why DevOps Matter: Practical Insights on Managing Complex & Continuous Change” available to download from HERE.
This set of methodologies has been primarily adopted in complex LOB platforms, with Oracle and SAP being some of the first large adopters. Now the Dynamics family of products is at the point where DevOps becomes also a necessity.
In an Agile environment, DevOps is even more valuable. Te rapid release cycles, coupled with the multiple streams of parallel projects and project sponsors as well as the increased responsibilities assigned to support and infrastructure teams are pushing these groups sometimes outside of their comfort zones. Without a clearly defined DevOps process, they run the risk of not being able to deliver the required value on their projects.
The various products offered under the Dynamics umbrella now interact with various other infrastructure components as well as with each other. Add to this the customizations implemented on top of these platforms, which some can be quite extensive, and you can easily see how communication between the various groups and visibility into the application and performance requires all hands on deck. From the front-line CSRs collecting the issues reported by the users, and all the way back to the dev teams fixing them, the communication must be smooth, and responsibility lies with all groups to perform in a fashion that helps identifying the root causes, and empowers all groups to perform the tasks required to be more efficient. Breaking the silos where the support team is only counting how many tickets they close and how fast, the infrastructure team is only reactive, and the dev team builds but has no visibility into the root cause of production issues is the only way to provide better value. With a fluent DevOps process in place, companies can achieve stellar results, with upwards of 50% reduction in time spent repairing defects and in deployment times. In the end, DevOps is about the metrics also.
Talking about metrics, one very important aspect is identification of those metrics that are critical to a company. These should be clearly identifiable and measurable.
The following steps is the implementation of tools to help with automation. This could be automation of testing, builds, deployments, as well as monitoring and reporting on the previously identified metrics.
In the end, DevOps is about the ability to deliver maximum value in a shorter period of time. And the only way to achieve this is by enhancing the teams collaboration, by adding clarity around the desired outcomes, and by consistently measuring and improving the processes we put in place.
Whether you’re new to DevOps or more seasoned, one good source where you can find various opinions and details on this is devops.com