I wrote a couple of articles many years back about building an agile and flexible enterprise using a set of models, principles, and design rules that address the need to maximize financial return, improve performance, minimize risk, and enhance business agility. I want to revisit the premise of that article and view it through the lens of DevOps.
Let’s define DevOps to provide a basis for understanding. Per Wikipedia,
“DevOps is a software development method that emphasizes communication, collaboration, integration, automation. 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.
In traditional, functionally separated organizations there is rarely cross-departmental integration of these functions with IT operations. DevOps promotes a set of processes and methods for thinking about communication and collaboration between development, QA, and IT operations.”
With that done, let’s revisit my earlier articles. An inescapable factor still present in today’s business environment is the constancy of change. Enterprises must adapt even more quickly than they did a few years ago to the new economic imperatives or wither and die; enterprises mastering the art of business agility can gain substantial and sustainable advantage.
The complexity of today’s enterprise—its business and IT components, and its linkages with other enterprises—increases the difficulty of implementing change. Different elements change at different rates, but the pressure to change is always there. By creating an agile and flexible means of modeling the enterprise, its components, and their IT embodiments, one can address many of the difficult problems associated with change.
In order to make your DevOps initiatives successful, you need to have a flexible and agile enterprise. This framework will provide the basis for everything you do going forward. This approach:
- Targets change as the fundamental architectural problem to address
- Recognizes that being adaptive requires balancing business agility with three other key dimensions: financial returns (especially lower costs), performance, and risk management
- Defines a core set of architectural principles to promote agility, and applies them consistently across people, processes, and technology throughout the extended enterprise:
- Modularity: to minimize the dependencies between changes
- Integration: to enable the composition of separate modules into useful systems
- Standardization: to facilitate integration, maximizing reuse and extraction of value
- Simplification: to minimize what needs to change and the associated costs
- Establishes the service as the basic unit of modularity, and reliable service delivery as the core focus of the IT organization
- Enterprises provide and consume business services
- Business processes—defined formal business process models that include key performance indicators (KPIs)—deliver the business services
- IT services, organized in three service layers (business, applications, and infrastructure) and linked through their service level objectives (SLOs) to the KPIs, are key to the effective execution of the business processes
- Separates the functional aspects (processing, data, presentation) of services from the management aspects (service levels, security, costs, and so on) to allow independent specification and control
- Defines a set of design rules, consistent with the principles, as the formal basis of architecture
- Uses service-oriented architecture to integrate both the functional and management aspects and to provide virtualized access to distributed IT resources across organization boundaries
- Uses a model-based approach to automate management and delivery of services across their entire lifecycle, greatly improving the speed, cost, quality, and safety of making changes
- Outlines key stages and activities on the enterprise’s journey to becoming adaptive, agile, and flexible
- Defines industry-specific agility metrics to help enterprises identify agility needs and track progress in meeting them
- Enables IT governance that synchronizes people, processes, and technology to realize the architectural vision—one solution at a time—without the need to rip and replace
Applying this framework over time results in a highly adaptive, agile, and flexible enterprise—one in which business and IT are synchronized to capitalize on change—with the following primary benefits:
- Simplicity: reduce IT complexity and associated operational costs
- Agility: adapt in real time to business needs, drive change, and accelerate time to market
- Value: reuse assets, free up resources for innovation, increase revenues and profitability, and use change as a competitive weapon
As the year comes to a close, I’ll be developing more articles around this framework and marrying it more with the DevOps initiatives.