The Culture of DevOps
The State of Nebraska’s current IT initiative is to focus on the role of software delivery and support which is a best practice framework for Development and Operations. DevOps has many different definitions. I define it as the standard framework or set of practices, processes and tools that development and operations teams use to deliver a service which produces a business value.
DevOps encompasses the entire software development lifecycle from design through coding, to post-deployment support. The culture of DevOps involves several groups collaborating effectively and efficiently to provide a “service”, ie: Project Management Office, Change Management, Code Management, Developers, Operations and the Service Desk.
As usual our approach to DevOps is unique. The three interconnecting groups would normally be Development, Operations and Quality Assurance. We replace Quality Assurance with Project Management, and specifically portfolio management. Traditional DevOps (if there really is such a thing) focuses on the role of Operations and Development and makes a case for closer collaboration between these two groups. This collaboration may be as simple as deciding which incident requests are the highest priority and escalating appropriately.
In our model we will still focus on Quality Assurance but it will be part of the Development segment. Close collaboration between Operations, Development and Portfolio Management gives us the information necessary to be more efficient and effective.
An Enterprise Vision for Business Applications
Much like other large legacy companies, the State has essentially evolved through mergers and acquisitions (we simply refer to the business organizations as Agencies). This evolution of business has resulted in an excessive number of deployed applications, and I suspect, as we have seen in the infrastructure consolidation, a number of redundant applications producing and replicating a tremendous amount of data and information.
Applications are evaluated on an agency by agency basis in isolation, while the real value is in evaluating them from an Enterprise point-of-view. Evaluation is considered the process of documenting dependencies between the applications and the business processes which they support. The isolation method is costly and inefficient, and it hinders the ability of DevOps to effectively support the valuable applications. Over time, this has resulted in an architecture that resolves a short-term, isolated need, but at the same time prevents us from optimizing service delivery over the long-term. Application silos lead to inefficient and often ineffective processes, loss of productivity, inflexibility and unwillingness to see more efficient ways to deliver a more suitable solution or service.
Our organization, by statute, collects information from each Agency in the form of “Agency Information Technology Plans”, on or before September 15 of each even-numbered year.
Over time the agencies worked with various vendors to create standalone business applications, many of which no longer provide support to any process. The problem with homegrown applications is that they cannot be supported without the application administers’ knowledge, and too often legacy applications have been handed down without standard documentation. DevOps standards required that the application administers create a host of spreadsheets and access database workarounds along with the applications themselves. Without standard documentation, the people left to provide support for the application are reluctant to make changes to improve it, they have no knowledge of the consequences that their changes may have on the functionality of the application.
Identifying what applications are currently in use, and how much impact each one has, gives IT the ability to effectively serve its customers. Knowing the business value of applications, and how they support an agency’s mission, is essential to our mission of creating opportunity for Nebraska. We started with application inventory. This is essential to our goal of Focusing on the Fundamentals and sets the basis for “innovation”, “Transformation” and achieving “Best in Class” service.
Measuring Value with TIME
This process all begins with data. Gartner’s TIME Application Portfolio model helps us measure and map the business value of the different Agency applications. TIME is an acronym for Tolerate, Invest, Migrate and Eliminate. The resulting 2×2 chart simplifies the process of measuring applications by plotting the business value of an application against its overall quality, the number of the application’s users is depicted by the size of the bubble.
- The horizontal axis represents the Business Score (Business Value) which is the inherent importance of an application to achieve the goals of the State or Agency. The business score focuses on several factors, but most importantly it asks the question, does the application provide a critical function for the Agency?
- The vertical axis is the Technical Score (IT Quality) which captures the reliability of the application and its impact to the technical burden of the Agency in regards to support.
In the top-left quadrant are high quality applications with low business value. Limited time or money is being invested to support these particular applications, and these applications provide a certain amount of value. It serves its purpose, it is good enough.
The top-right quadrant contains high quality applications with a high business value. These applications are stable, they do not require a lot of support, they are architected well, and you have the source codes. The business uses it.
The lower-right quadrant contains applications to Migrate or consolidate. They are low quality but high value. The business is using the applications and can articulate their values. There is a high cost of support, lack of knowledge, lack of source code, or a variety of different factors that make these expensive applications to maintain. We should look to migrate this application.
The lower-left quadrant contains, applications that are low quality and low business value. Sunset the application and free up our resources.
Continuing with a Roadmap
I tend to focus on fundamentals and take advantage of the opportunities handed to us with enterprise consolidation. Application portfolio management paves the way to a smooth DevOps implementation.
Every organization I have been a part of struggles with getting the most out of the applications they have, which in reality is simply knowing what applications they actually own and use. Spending time analyzing applications to determine which ones are best suited for the business always takes a back seat to other “modernization” projects. The result is a number of disparate applications being installed over time in various areas that produce duplication, inefficiencies and support challenges.
A lack of visibility results in needless complexity and higher cost of support. Disparate applications often result in IT wasting time and money to integrate and maintain ineffective systems, especially when new versions or releases are incompatible with currently integrated systems. A significant reduction in operational costs can be realized through standardization and time saved can be focused on improving operations.