The High Velocity Edge: Part Six
Capability one: a framework for system design using kanban and jidoka.
[00:00:00] Hello and welcome. I'm your host, Adam Hawkins. In each episode I present a small batch, with theory and practices behind building a high velocity software organization. Topics include DevOps, lean software architecture, continuous delivery, and conversations with industry leaders. Now let's begin today's episode.
[00:00:26] Welcome to part six of a series on Steven Spear’s 2009 book, the high velocity edge today I'll discuss how Kanban applies to system design and jidoka applies to system operations together. They create a framework for system design and operation. Every system may treated like a black box. There are inputs on one side and outputs on the other.
[00:00:49] The system's purpose is to deliver the output. That's the objective. That's the thing that delivers value. It's also the thing that defines success or failure specifying outputs is the first level of system design A Kanban pull-based system matches, demand with output. So the system should only produce output if requested by the consumer.
[00:01:12] This ensures that all work done by the system is in service to the outputs.
[00:01:17] Jidoka means self-regulation using built-in checks. The built-in checks for this level, check the match between output and demand. if the system is over-producing, then that's waste. If the system is underproducing then it's lacking resources now peek inside the black box, what's happening to deliver the outputs.
[00:01:39] You'll see pathways for material, information and services that convert the inputs to outputs, ideally in a linear flow with minimal handoffs, exchanges and feedback. loops. Imagine this like the different roles in an organization. There are executives, managers, programmers, marketers, and customer support inputs will flow through each of these people before becoming an output.
[00:02:02] Each person pulls work as needed then signaling other. When their work completes Built-in checks, indicate problems with linear flow, unexpected interrupts or idle people. If people are interrupted, then that indicates low resources. If people are unexpectedly idle, then that indicates over design or is over provisioning.
[00:02:24] Do you see how problems at this level bubble up to mismatch, demand and capacity. Now look one level deeper each pathway in the system has it’s own inputs and outputs product managers use research to write user stories for programmers, assembly line workers, use nuts and bolts to attach tires for a customer’s new car. Waiters convert customer orders to chef friendly instructions. Each of these requests and responses have their own requirements for material information and services. The built-in check for the request answers this question. Do I have everything I need to produce the output, the built-in check on the response answers.
[00:03:04] the question is everything I've produced useable by my consumer? Applying Jidoka here builds. Quality control into operations cooks do this naturally. First they check they have everything required for the recipe before starting. Then they frequently check their work by tasting it only putting it on the table.
[00:03:26] When it's ready, engineers apply the same principle to deployment pipelines by including preflight checks that prevent deploys in known failure conditions and using smoke tests to quickly check that system is usable by consumers. The percent, complete percent accurate metrics applies here. It captures the output quality of each connection in the system.
[00:03:47] Quality problems may be identified before they infect downstream consumers, quality control in operations. is Not enough the system must also match demand with capacity. The hypothetical chef should only making dishes requested by someone. at a table. If food is piling up on the table, then there's a response without a request.
[00:04:07] On the other hand, if hungry people are piling up then there’s a request without a response, each indicates a different problem in the system’s connections. let's follow our hypothetical chef into the kitchen. This where the actual work happens. The chef follows a recipe to turn ingredients into tasty meals.
[00:04:26] This activity is lowest level of system design Built-in checks, indicate problems with the work itself. Say the recipe isn't being followed. This may indicate a problem with the recipe itself or the training to follow the recipe. What if the recipe is being followed, but there's still problems with the food.
[00:04:46] Well, then there may be a problem with recipe. Now let's zoom all the way back out to where all we see is the black box, these are the four levels of system design level, one system output. What does the system have to deliver to whom, and by when to be successful? Level two -pathway design, who does what for whom? level three connection, design triggers and exchanges between pathways level four methods for individual task activities.
[00:05:19] Basically how tasks are done. High velocity organizations apply these principles to design systems that reveal operational problems. As soon as they occur, this is the first capability. The second capability is actually solving the problems. that's for the next episode, you've just finished another episode of small batches podcast on building a high performance software delivery organization for more information, and to subscribe to this podcast, go to smallbatches.fm. I hope to have you back again for the next episode. So until then, happy shipping,
[00:05:55] I like the sound of small Batches? This episode was produced by pods worth media. That's podsworth.com.
Subscribe to Small Batches
Show notes and other presents sent to your inbox