More often than not the needs of our business are changing at a rapid rate. As a result our scalability on the way we can handle these demands has not changed effectively over the same period of time. Taking a closer look at the processes we currently have in place we might categorize them as appropriate to deliver exceptional service. However since the business has changed over time IT has not adapted in the way they manage business requests. The execution of processes is not as streamlined as it could be and as a result produce results which from the business perspective are less than satisfactory. When Development and Operations teams take a closer look at the overall delivery they may be quick to blame the other team for any bottlenecks. This “Us and Them” mentality is part of the problem that may exist.
The DevOps methodology looks to improve upon this. In essence DevOps attempts to enable development and operations teams to improve communication and collaboration with each other for the betterment of service delivery through the breaking down of silos where they may exist.
Typically organizations which are not leveraging DevOps, have challenges with regards to something being developed and deployed in relative isolation. The common complaint here is that once it is ready for production, operations raises issues with a piece of development for whatever reason citing, “this can’t work in a production environment in this manner, this needs to be fixed”. Development then takes this back to task which in turn adds some timeline to the project. This addition of time and rework comes at a price, not only from a financial perspective but our business sees this as another delayed project delivered from IT.
This is not strictly a development problem or accountability. The Operations teams need to ensure that they are at the table at the beginning to make sure that the requirements they have for operational delivery will be reviewed long before the move to production. They are just as accountable for the timely implementation of this project as well. This is after all an IT solution we are delivering so working together as an IT team is pretty important.
If you do any reading on the subject, DevOps can improve delivery efficiencies through faster releases with fewer errors, however implementing this isn’t as simple as all that. You culturally need to be in a position to manage this effectively. Delivering these releases continuously in an agile way may be something that is easier for a smaller organization rather than an enterprise one. You may have heard the term “Two Pizza Teams” which refers to smaller teams which could share 2 pizzas.
Start to think about what makes sense to your organization both from the perspectives of both your IT teams and business needs. Take away the components of this methodology that work for you and use them to help improve your service delivery. At the very least improving the communication and collaboration within your IT teams will net some positive results. In starting these discussions you may identify the common bottlenecks which impede you from timely delivery of new services. These results might have been obvious to operations and development separately but until they are discussed they are not going to change. Use your findings as a base for future improvements.
Follow me on Twitter @ryanrogilvie