At various meetings, committees, commissions, etc. across the State I am now being asked… So what is next?
The Culture of DevOps
The OCIO’s 2018 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 my approach to DevOps is unique. The three interconnecting groups would normally be Development, Operations and Quality Assurance. I am replacing 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.
We need to begin our journey by focusing on Portfolio Management. The OCIO, 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 would have 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 us the ability to more effectively serve our 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 have to start with an 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
Parallel to everything that the OCIO has done over the last two years, this next phase of consolidation all begins with data. This time the data will be consisting of the Enterprise and Code Agency Applications Inventory. We are planning to utilize Gartner's TIME Application Portfolio model to measure and map the business value of the different Agency applications. TIME is an acronym for Tolerate, Invest, Migrate and Eliminate. The resulting 2x2 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.
The charts below are excerpts from an OCIO inventory:
Tolerate: 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.
Invest: 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.
Migrate: 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.
Eliminate: The lower-left quadrant contains, applications that are low quality and low business value. Sunset the application and free up our resources.
Continuing with the Roadmap
I continue to focus on the fundamentals and we are taking advantage of some of the opportunities we were handed with consolidation. Application portfolio management can help pave 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.
We did this with infrastructure consolidation via virtualization of servers and were able to eliminate 200+ redundant servers……let’s do the same with applications.
As always, I appreciate what you do every day for the citizens of Nebraska.