The Governance Mismatch
October 23, 2017

Mark Schwartz
Amazon Web Services

DevOps poses a unique challenge and opportunity for IT governance. Traditionally we have governed IT in terms of projects. We lump a number of requirements, fulfilling a number of business needs, together into a bundle we call a project. We then build a business case for that project, put it through some governance process, perhaps an IT steering committee or some variation on one, to decide whether to allow it to proceed and to give it a place in the company's priorities. Once the project is ongoing, the team conducting it reports on its progress against its objectives, and probably against its planned costs and schedule, and some sort of oversight mechanism is in place to review, and perhaps act on, those results. You could say that our unit of governance is the "project," or that we govern at the granularity of the project. The project is a grouping of requirements, a thing that can be planned, an initiative that begins and ends.

Of course project-oriented governance lends itself to the Waterfall model. A fixed set of requirements; a plan; a Gantt chart; a well-defined series of phases; a result at the end – this is a natural way to treat a conglomeration of requirements that has an approved business case and a committed plan.

DevOps offers us a very different manner of execution. It is flow based, with new requirements being pulled into a pipeline, worked on, and deployed quickly to users: it optimizes the lead time for getting requirements into production by automating the delivery process and by eliminating handoffs between functional silos. Each individual requirement travels its own path to production, as if it were a packet making its way across the Internet. Our unit of execution is the individual user story or task, and with very frequent deployments, DevOps can reach single piece flow.

So we find ourselves in a position where we are governing at the project level yet executing at the individual requirement level – a somewhat disturbing mismatch. The consequence is that we are forced to hold requirements in inventory, so to speak, or plan in large batches of requirements.

In order to make a business case and present an adequately sized business proposal to the steering committee, we still need to assemble a large batch of requirements. In order to report on the status of – what? – something that can have a status, I suppose, we still report on the status of projects. We forego, in other words, the full benefits of DevOps – the ability to work leanly by reducing our batch size.

But how else can we govern? What exactly can a steering committee greenlight, and how does it know how that thing is progressing?

I'd like to suggest that the answer is simple and staring us in the face. Or rather, answers, because I believe there are two approaches. The first is to govern by business objectives. We determine a business objective that will have concrete business outcomes, preferably measurable ones. Then we make a business case – formal or informal – that therobjective is worth investing a particular amount of money in. If we decide that it is, we hand the objective to an empowered team and ask them to start accomplishing it – immediately. Because we are in a DevOps world, they should be able to begin deploying functionality virtually right away. We observe the business results they achieve, determine whether they are worth continued investment, and adjust our plans.

The second alternative is to govern IT investment the way we govern the rest of our company – without a governance process. The IT organization is allocated a budget and expected to make good decisions on how to spend it to accomplish the company's objectives. It is assessed and guided like any other part of the company – let's say that the CEO evaluates the CIO's performance and gives feedback to steer IT's direction. What is evaluated is the business outcome of the IT organization's decisions. The advantage of this approach is that it allows for continual transformation, continuous investments in systems, rather than the periodic, on-again-off-again flow of investment when we organize around projects.

It's one thing to reap operational advantages from DevOps. It is a different thing to maximize the value that DevOps can deliver to the enterprise, strategically as well as tactically. For that, we need to rethink governance.

Mark Schwartz, Enterprise Strategist at Amazon Web Services (AWS), is the Author of "A Seat at the Table"
Share this

Industry News

October 17, 2024

Progress announced the latest release of Progress® Flowmon®, the network observability platform with AI-powered detection for cyberthreats, anomalies and fast access to actionable insights for greater network and application performance across hybrid cloud ecosystems.

October 17, 2024

Mirantis announced the release of Mirantis OpenStack for Kubernetes (MOSK) 24.3, which delivers enterprise-ready and fully supported OpenStack Caracal, featuring enhancements tailored for artificial intelligence (AI) and high-performance computing (HPC).

October 17, 2024

StreamNative announced a managed Apache Flink BYOC product offering will be available to StreamNative customers in private preview.

October 17, 2024

Gluware announced a series of new offerings and capabilities that will help network engineers, operators and automation developers deliver network security, AI-readiness, and performance assurance better, faster and more affordably, using flawless intent-based intelligent network automation.

October 17, 2024

Sonar released SonarQube 10.7 with AI-driven features and expanded support for new and existing languages and frameworks.

October 16, 2024

Red Hat announced a collaboration with Lenovo to deliver Red Hat Enterprise Linux AI (RHEL AI) on Lenovo ThinkSystem SR675 V3 servers.

October 16, 2024

mabl announced the general availability of GenAI Assertions.

October 16, 2024

Amplitude announced Web Experimentation – a new product that makes it easy for product managers, marketers, and growth leaders to A/B test and personalize web experiences.

October 16, 2024

Resourcely released a free tier of its tool for configuring and deploying cloud resources.

October 15, 2024

The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, announced the graduation of KubeEdge.

October 15, 2024

Perforce Software announced its AI-driven strategy, covering four AI-driven pillars across the testing lifecycle: test creation, execution, analysis and maintenance, across all main environments: web, mobile and packaged applications.

October 15, 2024

OutSystems announced Mentor, a full software development lifecycle (SDLC) digital worker, enabling app generation, delivery, and monitoring, all powered by low-code and GenAI.

October 15, 2024

Azul introduced its Java Performance Engineering Lab, which collaborates with global Java developers and customers’ technical teams to deliver enhanced Java performance through continuous benchmarking, code modernization recommendations and in-depth analysis of performance impacts from new OpenJDK releases.

October 10, 2024

AWS has added support for Valkey 7.2 on Amazon ElastiCache and Amazon MemoryDB, a fully managed in-memory services.

October 10, 2024

MineOS announced a major upgrade: Data Subject Request Management (DSR) 2.0.