Episode 32

Both manufacturing and software development have seen rapid evolution over the past few decades. Principles within Lean Manufacturing, Agile Development, and DevOps have driven organizations to dramatically reduce the time it takes to bring new ideas to market and respond to market changes. Typically, there is a division between individuals responsible for determining a vision / strategy (the business) and individuals responsible for the operations and technical know-how (development / operations) to execute. For most organizations, the technical environment has been the bottleneck and business has had to set decision making processes to match pace. If your organization is used to development between quarterly to annual cycles, business can quickly become the bottleneck when releases are going out daily.

First off, having business as the bottleneck is favourable compared to development or operations. In many ways, this is a good problem to solve. But to get into this situation, some organizations will need to undertake a transformation that will impact people, processes, and technology. There are several ways to attack this problem and thankfully we have a ton of previous blog content on the subject. I would recommend looking at the change management tag for useful ideas.

Ok, so development or operations is waiting on business to decide, slowing progress; what can be done? First off, time to celebrate. To get to this stage is a significant challenge and it is important to acknowledge all the hard work that was undertaken. Now it is time to apply the same Lean and Agile principles to the strategic planning process. Two popular frameworks that have been used to great effect are the Business Model Canvas and Objectives and Key Results (OKR). Both frameworks have their origins in the technology start-up sector and contain numerous hard-earned lessons.


The Business Model Canvas is a strategic plan in dashboard form. The goal is to make visible assumptions and find answers through testing using a process that resembles the scientific method. The result is the development of an internal practice of continuous testing and truth seeking; and rapid abandonment of poor assumptions. This system provides agility as the focus shifts from analysis to testing, dramatically shortening the time required to derive an insight compared to traditional market research practices.

Objectives and Key Results is a priority management and performance measurement system designed to drive operational and strategic transparency, and accountability through the organization. An objective will state what is to be achieved and a key result are the benchmarks by which an objective is accomplished. It is important the key results are selected carefully so that they are time-bound, specific, and measurable to ensure that when a key result is hit, there is no ambiguity that the organization has moved closer to completing a stated objective. This system provides agility as struggling areas will stand out; therefore, resources can be quickly allocated to support the struggling area, or priorities can be adjusted based on progress on key results.

The last element to consider is governance. In development, the more hand-offs the more time required to take an idea to the product stage. The same goes for decision making. The greater separation decision makers are from the user/client, the more business cases, review meetings, etc. are required to get stakeholders up to the required knowledge for a decision to be made. Quality decisions are much like quality code; better quality code is produced when the responsibility for quality is pushed upstream to the developer, instead of a responsibility left for someone else later in development. Quality decisions made by those closest to the client are higher quality. Distributed decision making is a scary concept for many organizations and such a system is not without its flaws. However, with the visibility provided by frameworks like the Business Model Canvas and Objectives and Key Results, the enhanced visibility of a system to all involved allows for errors in the system to be made visible far earlier and corrected quickly.