<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Coder Legion - Recent posts tagged kanban</title>
<link>https://coderlegion.com/tag/kanban</link>
<description>Powered by Question2Answer</description>
<item>
<title>The thinking behind Millrace</title>
<link>https://coderlegion.com/23817/the-thinking-behind-millrace</link>
<description>&lt;p&gt;Did you ever notice how digital task boards are suddenly all the same horrid thing. Heavy engines of compromise that are as happy to supply a Gantt chart and resource plan as they are to give you a Kanban board.&lt;/p&gt;
&lt;h3 id=&quot;slow-and-steady-not-slow-and-heavy&quot;&gt;Slow and steady, not slow and heavy&lt;/h3&gt;
&lt;p&gt;That moment of realization happened for me a few months back and I spent a great deal of time playing “Work Management Crossy Road” by jumping between all the available tools to find a new home for my work. I hated them all.&lt;/p&gt;
&lt;p&gt;The thing that I found really disappointing was that the Kanban board felt so much like it was tagged onto something else. Something big, greasy, and hostile. Like when you realize that “Scrum Master” has decades under their belt as a pathological project manager. They will happily rename all their PMBOK shenanigans to remain employed, but their approach hasn’t changed a bit.&lt;/p&gt;
&lt;h3 id=&quot;finish-the-good-stuff-and-let-mediocre-ideas-fall-away&quot;&gt;Finish the good stuff and let mediocre ideas fall away&lt;/h3&gt;
&lt;p&gt;My work method merges ideas from Getting Things Done at the big-rock level, and Personal Kanban to slice things up and stay focused on what really matters. That lets me apply Pomodoro Technique at the smallest scale to build up chunks of focus time that move things forward.&lt;/p&gt;
&lt;p&gt;When it comes to a task board, that means creating a big-rock card with loosely formed ideas that I might choose to never work on. In fact, most of the ideas will be superseded by newer better ones and that’s a good thing. If the idea survives, I’ll slice chunks out of it and flow them across the board to get them done.&lt;/p&gt;
&lt;p&gt;My up-next and in-flight columns need limits. These are the areas I need to carefully weed. Other columns tend to have their pace set by those two handling-time columns. Sometimes I like to break rules, so WIP limits are a visual thing, not an enforced policy.&lt;/p&gt;
&lt;p&gt;Because all my work tends to happen on a screen, I like prominent links on the card, so I can teleport to where the work is without opening up the card. While I reject the idea of a due date, I do like to have my tasks wake up at relevant moments, so a next-action date is useful.&lt;/p&gt;
&lt;p&gt;To reflect on my work, I like to review my completed items each week. If I can tag the crucial stuff, I can see if it’s making it all the way to “done”. A few tasteful charts can be useful in checking myself when I go off the rails. They help direct me to areas that need improvement, which is helpful.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=16831499793184690071&quot; alt=&quot;A dashboard of charts that show different aspects of the work&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;a-certain-level-of-polish&quot;&gt;A certain level of polish&lt;/h3&gt;
&lt;p&gt;There also needs to be a certain level of polish. The user interface doesn’t have to spark a new trend in app design, but what I can’t tolerate are paper cuts. A small irritation that I scrape past every time I check in on my work is a sure-fire productivity killer.&lt;/p&gt;
&lt;p&gt;When I was trying out all these “productivity tools”, I kept finding blatant, reproducible, and distracting issues. Like one tool where I added a new card to the board only for it to vanish as I was typing in the title. The steps to reproduce this involved moving a card that triggered an automation, then adding a new card before the automation completed. This would be a forgivable edge case if this wasn’t one of the most common moments you might add a new card.&lt;/p&gt;
&lt;p&gt;Or maybe it’s the tool that only let you add links to the rich-text field. Copy. Type. Locate icon. Click. Paste. Nope. On top of this, you could only see the link by opening the card. That’s too much friction when I have links on around 60-80% of my cards.&lt;/p&gt;
&lt;p&gt;A tool you use occasionally can have a rough patch or two, but one you use to orient your day and manage your energy has no room for splinters.&lt;/p&gt;
&lt;h3 id=&quot;calm-slow-smooth-fast&quot;&gt;Calm, slow, smooth, fast&lt;/h3&gt;
&lt;p&gt;The thing is, we’ve all seen someone trying to achieve something under pressure. They transform from a sentient human into a comedic slapstick actor. You know what I mean! They are baking a cake and it’s boring to wait for stuff to happen, so they start doing other things at the same time. Maybe they wash up some of the bowls and spoons. No big deal.&lt;/p&gt;
&lt;p&gt;But then they catch a hint of that unmistakable burning smell. Oh no! The cake is burning. It’s not just that their calm has gone, the whole chain of calm-slow-smooth-fast has collapsed.&lt;/p&gt;
&lt;p&gt;They whip their hands out of the washing up bowl, splashing water over the kitchen floor. They make an urgent grab for the oven glove, but knock it off the worktop. They pick it up, pull open the oven door, and use the half-on glove to grab the baking tray. The start to pull the cake out of the oven, burn the bit of their hand that isn’t in the glove, and just before the cake gets flopped upside down on the floor they realize that the burning smell was just a thin edge catching.&lt;/p&gt;
&lt;p&gt;As the cake splatters on the floor, they realize it could have done with another ten minutes. Now it’s ruined. They should probably run their hand under a cold tap, but before they get to the sink they’ve slipped up on the wet floor.&lt;/p&gt;
&lt;p&gt;It’s ridiculous. I agree. But this is how most people approach their work. They are over-burdened and their response is to make the work harder.&lt;/p&gt;
&lt;p&gt;That’s why your Kanban board needs to be a source of calm. Calm is slow. Slow is smooth. Smooth is fast.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=13092992433868461606&quot; alt=&quot;A simple Kanban board with WIP limits&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;fin&quot;&gt;Fin&lt;/h3&gt;
&lt;p&gt;And that’s it. That’s the thinking. I didn’t build a Kanban board. I created a calm space to think about my work, my energy, and my impact.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/23817/the-thinking-behind-millrace</guid>
<pubDate>Thu, 30 Jul 2026 08:23:00 +0000</pubDate>
</item>
<item>
<title>Millrace: Git-backed Kanban</title>
<link>https://coderlegion.com/20173/millrace-git-backed-kanban</link>
<description>&lt;p&gt;Did you ever notice how digital task boards are suddenly all the same horrid thing. Heavy engines of compromise that are as happy to supply a Gantt chart and resource plan as they are to give you a Kanban board.&lt;/p&gt;
&lt;h3 id=&quot;slow-and-steady-not-slow-and-heavy-1&quot;&gt;Slow and steady, not slow and heavy&lt;/h3&gt;
&lt;p&gt;That moment of realization happened for me a few months back and I spent a great deal of time playing “Crossy Road” by jumping between all the available tools to find a new home for my work. I hated them all.&lt;/p&gt;
&lt;p&gt;The thing that I found really disappointing was that the Kanban board felt so much like it was tagged onto something else. Something big, greasy, and hostile. Like when you realize that “Scrum Master” has decades under their belt as a pathological project manager. They will happily rename all their PMBOK shenanigans to remain employed, but their approach hasn’t changed a bit.&lt;/p&gt;
&lt;h3 id=&quot;finish-the-good-stuff-and-let-mediocre-ideas-fall-away-1&quot;&gt;Finish the good stuff and let mediocre ideas fall away&lt;/h3&gt;
&lt;p&gt;My work method merges ideas from Getting Things Done at the big-rock level, and Personal Kanban to slice things up and stay focused on what really matters. That lets me apply Pomodoro Technique at the smallest scale to build up chunks of focus time that move things forward.&lt;/p&gt;
&lt;p&gt;When it comes to a task board, that means creating a big-rock card with loosely formed ideas that I might choose to never work on. In fact, most of the ideas will be superseded by newer better ones and that’s a good thing. If the idea survives, I’ll slice chunks out of it and flow them across the board to get them done.&lt;/p&gt;
&lt;p&gt;My up-next and in-flight columns need limits. These are the areas I need to carefully weed. Other columns tend to have their pace set by those two handling-time columns. Sometimes I like to break rules, so WIP limits are a visual thing, not an enforced policy.&lt;/p&gt;
&lt;p&gt;Because all my work tends to happen on a screen, I like prominent links on the card, so I can teleport to where the work is without opening up the card. While I reject the idea of a due date, I do like to have my tasks wake up at relevant moments, so a next-action date is useful.&lt;/p&gt;
&lt;p&gt;To reflect on my work, I like to review my completed items each week. If I can tag the crucial stuff, I can see if it’s making it all the way to “done”. A few tasteful charts can be useful in checking myself when I go off the rails. They help direct me to areas that need improvement, which is helpful.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=13931038410407646069&quot; alt=&quot;A cumulative flow diagram&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;-a-certain-level-of-polish&quot;&gt; A certain level of polish&lt;/h3&gt;
&lt;p&gt;There also needs to be a certain level of polish. The user interface doesn’t have to spark a new trend in app design, but what I can’t tolerate are paper cuts. A small irritation that I scrape past every time I check in on my work is a sure-fire productivity killer.&lt;/p&gt;
&lt;p&gt;When I was trying out all these “productivity tools”, I kept finding blatant, reproducible, and distracting issues. Like one tool where I added a new card to the board only for it to vanish as I was typing in the title. The steps to reproduce this involved moving a card that triggered an automation, then adding a new card before the automation completed. This would be a forgivable edge case if this wasn’t one of the most common moments you might add a new card.&lt;/p&gt;
&lt;p&gt;Or maybe it’s the tool that only let you add links to the rich-text field. Copy. Type. Locate icon. Click. Paste. Nope. On top of this, you could only see the link by opening the card. That’s too much friction when I have links on around 60-80% of my cards.&lt;/p&gt;
&lt;p&gt;A tool you use occasionally can have a rough patch or two, but one you use to orient your day and manage your energy has no room for splinters.&lt;/p&gt;
&lt;h3 id=&quot;calm-slow-smooth-fast-1&quot;&gt;Calm, slow, smooth, fast&lt;/h3&gt;
&lt;p&gt;The thing is, we’ve all seen someone trying to achieve something under pressure. They transform from a sentient human into a comedic slapstick actor. You know what I mean! They are baking a cake and it’s boring to wait for stuff to happen, so they start doing other things at the same time. Maybe they wash up some of the bowls and spoons. No big deal.&lt;/p&gt;
&lt;p&gt;But then they catch a hint of that unmistakable burning smell. Oh no! The cake is burning. It’s not just that their calm has gone, the whole chain of calm-slow-smooth-fast has collapsed.&lt;/p&gt;
&lt;p&gt;They whip their hands out of the washing up bowl, splashing water over the kitchen floor. They make an urgent grab for the oven glove, but knock it off the worktop. They pick it up, pull open the oven door, and use the half-on glove to grab the baking tray. The start to pull the cake out of the oven, burn the bit of their hand that isn’t in the glove, and just before the cake gets flopped upside down on the floor they realize that the burning smell was just a thin edge catching.&lt;/p&gt;
&lt;p&gt;As the cake splatters on the floor, they realize it could have done with another ten minutes. Now it’s ruined. They should probably run their hand under a cold tap, but before they get to the sink they’ve slipped up on the wet floor.&lt;/p&gt;
&lt;p&gt;It’s ridiculous. I agree. But this is how most people approach their work. They are over-burdened and their response is to make the work harder.&lt;/p&gt;
&lt;p&gt;That’s why your Kanban board needs to be a source of calm. Calm is slow. Slow is smooth. Smooth is fast.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://coderlegion.com/?qa=blob&amp;amp;qa_blobid=13512886487861163170&quot; alt=&quot;A kanban board view of work&quot;&gt;&lt;/p&gt;
&lt;h3 id=&quot;fin-1&quot;&gt;Fin&lt;/h3&gt;
&lt;p&gt;And that’s it. That’s the thinking. I didn’t build a Kanban board. I created a calm space to think about my work, my energy, and my impact.&lt;/p&gt;
</description>
<category>Launches</category>
<guid isPermaLink="true">https://coderlegion.com/20173/millrace-git-backed-kanban</guid>
<pubDate>Wed, 10 Jun 2026 13:12:33 +0000</pubDate>
</item>
<item>
<title>Shaped Kanban: Complete Features, Not Sprints</title>
<link>https://coderlegion.com/19683/shaped-kanban-complete-features-not-sprints</link>
<description>&lt;p&gt;As an architect, a core part of my job is assessing viability and risk before committing a team to building something. That means understanding the problem deeply, testing critical assumptions early, and knowing when to change course. Sprint-based development fights me on every one of these. Planning ceremonies reward estimation speed over depth, sprint commitments pressure teams forward regardless of what they discover, and customer needs get filtered through velocity charts that measure team activity rather than delivered value.&lt;/p&gt;
&lt;h3 id=&quot;the-timebox-problem&quot;&gt;The Timebox Problem&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Interval-based development organizes work around fixed time periods, not around completing features.&lt;/strong&gt; When timeboxes become the primary organizing principle, they corrupt even well-aligned teams.&lt;/p&gt;
&lt;p&gt;The intention is sound: prevent endless work, create rhythm, establish accountability. Yet timeboxes attempt to enforce through calendar boundaries what discipline should provide naturally.&lt;/p&gt;
&lt;h4 id=&quot;the-calendar-fills-itself&quot;&gt;The Calendar Fills Itself&lt;/h4&gt;
&lt;p&gt;When discovery changes understanding mid-interval, teams are forced to ship incomplete work or carry it over. When planned work gets blocked, teams feel pressure to fill the remaining days with whatever fits: not the most valuable work, not what should naturally come next, just work that squeezes into the artificial deadline. In continuous flow, a free WIP slot takes the top-ranked item whatever its size, because no boundary is four days away. In a sprint, the days left tend to decide. A high-value item that won't fit gets passed over for a smaller one, or it gets started and carried over. &lt;strong&gt;The timebox itself becomes the constraint that dictates what work happens, not the actual priorities or readiness.&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote class=&quot;pull-quote&quot;&gt;
&lt;p&gt;The timebox created the problem it was meant to solve.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;different-teams-forced-cadence&quot;&gt;Different Teams, Forced Cadence&lt;/h4&gt;
&lt;p&gt;Different team types operate on different natural cadences. Feature teams might deliver every few days while platform teams deliver every few months, yet many organizations force synchronization through universal sprint cadences because cross-team planning needs shared boundaries. The Scaled Agile Framework makes this explicit, aligning every team's iteration start and end dates within a release train.&lt;/p&gt;
&lt;p&gt;Timeboxes also conflate three concerns that should be independent: development cycles, deployment cycles, and feedback cycles. Each operates at its own natural frequency, yet sprints tend to pull all three into alignment, stretching fast work to fill the interval and fragmenting slow work across multiple cycles.&lt;/p&gt;
&lt;p&gt;The Scrum Guide doesn't require this coupling. It lets a team release an increment before the sprint ends, and it says the Sprint Review is never a release gate. But planning still happens at the boundary, and in practice feedback tends to batch at the review, where stakeholders inspect the work.&lt;/p&gt;
&lt;h4 id=&quot;ceremony-fuels-continuation-bias&quot;&gt;Ceremony Fuels Continuation Bias&lt;/h4&gt;
&lt;p&gt;Scrum's ceremony structure fails this most visibly. Sprint Planning commits you to work. Daily Standups report progress. Sprint Review demonstrates what was built. The Retrospective redirects for next time. No ceremony routinely asks the question that matters mid-sprint: should we stop this work two days in because the assumptions were wrong?&lt;/p&gt;
&lt;p&gt;The Scrum Guide comes close. The Daily Scrum can adapt the sprint backlog, and the Product Owner can cancel a sprint whose goal has become obsolete. But adapting the backlog serves the sprint goal, and cancellation belongs to one role as an exception. Neither is a routine check on whether a piece of work should stop.&lt;/p&gt;
&lt;p&gt;Without a ceremony that asks the question, many teams don't. They obfuscate and proceed because abandoning the sprint goal feels like failure, and the real failure gets deferred. A team that won't fail a design two days into a sprint is unlikely to throw away three sprints of committed work either. The sunk cost grows with every sprint, and each Sprint Planning recommits the team to it in front of stakeholders.&lt;/p&gt;
&lt;blockquote class=&quot;pull-quote&quot;&gt;
&lt;p&gt;The redirect you needed was to fail early, not plan differently next time.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&quot;We can't remove sprints; how would we know when things are done?&quot; That question reveals the dysfunction. Scrum's own Definition of Done is meant to answer it without reference to the calendar. If a team still can't tell when work is done without one, it has a definition on paper but never developed genuine agreement on what &quot;done&quot; means.&lt;/p&gt;
&lt;blockquote class=&quot;pull-quote&quot;&gt;
&lt;p&gt;When alignment exists, delivery cycles follow naturally. When alignment doesn't exist, timeboxes just create the illusion of progress.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;shaped-kanban-discipline-without-shared-timeboxes&quot;&gt;Shaped Kanban: Discipline Without Shared Timeboxes&lt;/h3&gt;
&lt;p&gt;What if you could have discipline without a shared timebox organizing everyone's work?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shaped Kanban combines rigorous upfront work definition with continuous flow.&lt;/strong&gt; It takes the best ideas from Shape Up, shaping work before betting on it and using circuit breakers to bound risk, and applies them to Kanban's continuous flow model. Unlike Shape Up's fixed 6-week cycles, each piece of work has its own natural timeline within appropriate bounds.&lt;/p&gt;
&lt;p&gt;Shaped Kanban replaces team-wide timebox mechanics with genuine discipline:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shape work before committing&lt;/strong&gt; - Define clear boundaries, identify risks, clarify what &quot;done&quot; looks like&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bet flexibly&lt;/strong&gt; - Commit resources on a business cadence (quarterly, monthly) or on-demand as priorities shift&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use feature-specific circuit breakers&lt;/strong&gt; - Each feature gets appropriate time bounds (3 days, 2 weeks, 6 weeks) based on complexity, not universal sprint durations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flow continuously&lt;/strong&gt; - Work moves through the system when ready, not when the calendar says so&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This allows different team types (feature teams, platform teams, shared services) to operate at their natural cadences without artificial synchronization pressure. Coordination happens explicitly through dependencies, not through forced sprint alignment.&lt;/p&gt;
&lt;h3 id=&quot;how-shaped-kanban-works&quot;&gt;How Shaped Kanban Works&lt;/h3&gt;
&lt;h4 id=&quot;1-shaping&quot;&gt;1. Shaping&lt;/h4&gt;
&lt;p&gt;Before work begins, senior people shape the problem and solution space. Not detailed specifications, but boundaries.&lt;/p&gt;
&lt;p&gt;Appetite, Shape Up's term, defines how much time this problem deserves, not how long it will take. Instead of estimating bottom-up (&quot;this will take 6 weeks&quot;), you set a top-down constraint: &quot;this is worth 2 weeks, not more.&quot; The appetite becomes a creative constraint that forces the question: what can we solve within this time bound? If you cannot shape a viable solution within the appetite, the problem either needs a bigger appetite or should not be worked on yet.&lt;/p&gt;
&lt;p&gt;Shaping answers these questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What problem are we solving, and what is the appetite?&lt;/li&gt;
&lt;li&gt;What are we explicitly not doing?&lt;/li&gt;
&lt;li&gt;What does good enough look like within the appetite?&lt;/li&gt;
&lt;li&gt;What assumptions are we making that, if wrong, would make this unviable?&lt;/li&gt;
&lt;li&gt;Which other teams' work depends on this, and what does this depend on?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shaping happens when needed, not on a fixed schedule. Work entering the system has clear boundaries, identified assumptions, and defined appetites instead of vague user stories.&lt;/p&gt;
&lt;h4 id=&quot;2-betting&quot;&gt;2. Betting&lt;/h4&gt;
&lt;p&gt;Leadership commits resources to shaped work on a business cycle (quarterly, monthly) or on-demand as priorities shift.&lt;/p&gt;
&lt;p&gt;The system maintains a hard separation between two artifacts. The Idea Archive is a PM-managed library of potential pitches sitting outside the development workflow. The Dev Backlog contains only accepted bets, each with a defined appetite and documented assumptions. Work moves from the archive to the backlog only when leadership places a formal bet, keeping the development queue clean.&lt;/p&gt;
&lt;p&gt;Shaping and betting can happen as often as business needs emerge. Priorities can change before developers pull the work, capturing the benefit of short planning cadences while preserving context about which assumptions need testing.&lt;/p&gt;
&lt;p&gt;Bets also give stakeholders the forecast a sprint used to give them. The appetite states what a feature is worth, and it doubles as a time budget. Each appetite is a ceiling. Add up the appetites queued ahead of a feature and divide by how many the WIP limit lets run at once, and the result is the latest that feature should start. That start date holds unless an earlier bet is extended or reshaped, or a new bet is placed ahead of it.&lt;/p&gt;
&lt;h4 id=&quot;3-circuit-breakers&quot;&gt;3. Circuit Breakers&lt;/h4&gt;
&lt;p&gt;Each feature has built-in boundaries, both temporal and assumption-based.&lt;/p&gt;
&lt;p&gt;Temporal boundaries are feature-specific time limits: a simple CRUD screen might have a 3-day limit, a complex workflow with integrations might have a 6-week limit, and a research spike might have a 2-week limit.&lt;/p&gt;
&lt;p&gt;A temporal boundary is still a time limit, but it differs from a sprint in what it controls. It belongs to one feature and is sized by that feature's appetite, and it exists to force a reassessment, not to decide what work happens. When it trips, there are no leftover sprint days to fill, because the next shaped item is pulled when capacity opens.&lt;/p&gt;
&lt;p&gt;Assumption boundaries trigger when testing reveals the work is unviable. Critical assumptions defined during shaping get tested during implementation. If testing proves an assumption wrong and requires massive realignment, the circuit breaker trips and the work moves to Failed status for potential reshaping or Dropped status if unworkable.&lt;/p&gt;
&lt;p&gt;When either boundary is hit, anyone building the feature can declare the trip, and work stops at once. The people who placed the bet then decide what happens next: adjust scope, extend, reshape based on what you learned, or drop the work. Stopping never waits for a decision. Only restarting does. An extension is a new bet with a new appetite that competes with the rest of the queue, and it shows on the board, so a quiet slip becomes a visible decision.&lt;/p&gt;
&lt;p&gt;Per-feature boundaries also make failure localized. One feature can trip its circuit breaker while others continue flowing. In a uniform sprint, stopping mid-cycle puts the whole team's commitment in question, creating social pressure to keep going regardless of what you've learned.&lt;/p&gt;
&lt;p&gt;With a per-feature breaker, the stop condition was written down before work began, so stopping carries out the plan rather than abandoning it. The appetite said what the problem was worth. It never promised the team would finish within it, so tripping the breaker is a smaller admission than abandoning a sprint goal. It still takes someone willing to declare it, which is why the failure section below treats tripping as a discipline.&lt;/p&gt;
&lt;h4 id=&quot;4-kanban-flow&quot;&gt;4. Kanban Flow&lt;/h4&gt;
&lt;p&gt;Work flows continuously. When capacity opens, pull the next shaped and bet-on feature. The first order of business is testing critical assumptions identified during shaping, not building features, because the earliest moment to catch a wrong assumption is when a ticket is pulled. Then build until done or the circuit breaker trips.&lt;/p&gt;
&lt;p&gt;Work items progress through clear states: Unshaped → Shaped → Accepted → Active → Completed, Failed, or Dropped. Progress tracking uses hill charts from Shape Up. Work is either uphill (still figuring it out) or downhill (executing on known work). This avoids the useless &quot;80% done&quot; claims that plague sprint burndowns.&lt;/p&gt;
&lt;p&gt;A sprint boundary forces an inspection every few weeks. A six-week appetite has no such calendar checkpoint, by design. The assumption tests at the start and a hill chart stuck uphill do the job a sprint boundary was meant to do, and they raise the warning sooner.&lt;/p&gt;
&lt;p&gt;WIP limits and circuit breakers work together. WIP limits constrain how many features run simultaneously, while circuit breakers bound how long any individual feature can run.&lt;/p&gt;
&lt;blockquote class=&quot;pull-quote&quot;&gt;
&lt;p&gt;&quot;Done&quot; means the feature delivers the agreed value, period. Not &quot;the sprint ended so we call it done.&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h4 id=&quot;5-technical-debt-without-a-cooldown&quot;&gt;5. Technical Debt Without a Cooldown&lt;/h4&gt;
&lt;p&gt;Shape Up's two-week cool-down between cycles handles work like technical debt and exploratory spikes that don't fit a formal pitch. Shaped Kanban removes fixed cycles entirely, which creates a real gap if left unaddressed.&lt;/p&gt;
&lt;p&gt;Small items too minor to pitch, like a dependency bump or a half-day refactor, travel with the active feature that touches that code, inside its appetite, so shaping leaves room for them in scope. For anything larger, the answer is to reframe technical work so it can compete at the betting table. Every meaningful technical work item falls into one of three categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Corrections&lt;/strong&gt;: mistakes actively hurting the business now, including security vulnerabilities, bugs driving churn, and reliability failures violating SLAs. These are risk mitigation bets, not engineering housekeeping.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimizations&lt;/strong&gt;: improvements that translate directly into margin or efficiency, like reducing cloud spend, speeding page loads, or automating deployments. With numbers attached, they compete well.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Re-Alignments&lt;/strong&gt;: work that unlocks future capabilities the roadmap depends on. Making the dependency explicit changes the conversation, since leadership is already implicitly betting on this work when they approve downstream features.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Technical debt framed as engineering work gets deprioritized. Framed as business risk, margin opportunity, or roadmap prerequisite, it can win bets. This demands more rigor than Shape Up's cool-down, but architectural health becomes visible and competes on the same terms as every other bet.&lt;/p&gt;
&lt;h3 id=&quot;multi-team-coordination-through-explicit-dependencies&quot;&gt;Multi-Team Coordination Through Explicit Dependencies&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Multi-team coordination is hard. Shaped Kanban doesn't pretend otherwise.&lt;/strong&gt; Scale deserves an honest answer.&lt;/p&gt;
&lt;p&gt;Shape Up emerged from Basecamp's own product development, refined over years as the company grew from four people to over fifty. My own experience with Shaped Kanban at scale sits in that same range: three medium-sized teams working on the same broad system. I have also worked in organizations running Scaled Scrum. That is enough to project how the two approaches compare as teams multiply, though I won't claim confidence about enterprise-level deployments I haven't run.&lt;/p&gt;
&lt;p&gt;The most significant dynamic at scale is continuation bias. I expect Scrum's greatest weakness to get worse as teams multiply. Scrum as commonly run operates on collective abstractions like sprint commitments, velocity charts, and planning poker (the last two aren't in the Scrum Guide, but they usually come with it). None of these give the people building a feature a pre-agreed trigger to stop it, and you cannot fix the collective without first empowering the individual.&lt;/p&gt;
&lt;p&gt;Shaped Kanban's core mechanisms work at the level of the individual feature. Its appetite and documented assumptions give the people building it an explicit, pre-agreed trigger to stop, without waiting for a team-wide ceremony or a collective decision. Leadership decides what happens after the stop, not whether it happens. That is the lever I would reach for to prevent bad assumptions from propagating across a multi-team program.&lt;/p&gt;
&lt;p&gt;Cross-team coordination in Scaled Scrum typically flows through the Scrum of Scrums meeting. But Scrum of Scrums is just another timeboxed event. It begins, it ends, and everyone returns to their sprint. It doesn't build an ongoing, async coordination discipline that is informed and purpose-driven. Scrum teams can write dependencies down too, but nothing in the sprint process requires it.&lt;/p&gt;
&lt;p&gt;In Shaped Kanban, dependencies are explicit from the shaping stage. When one team's circuit breaker trips, the shaped work already lists the downstream bets that depend on it, and those teams hear at once rather than at the next sync meeting. Each team understands how their work connects to the broader program and why, which makes async coordination practical because the context is already documented rather than locked inside a recurring meeting.&lt;/p&gt;
&lt;p&gt;Scrum's rigidity also tends to produce a common breakdown at scale: a small number of individuals, usually dev leads or architects, silently absorb all the cross-team coordination the process doesn't account for. They become the informal connective tissue holding the program together while everyone else follows the sprint. Shaped Kanban moves that load into shaping. Senior people still carry it, but the dependencies they find are written into the shaped work and visible to every team. They stop living in a few people's heads and inside ceremonies that can't actually handle them.&lt;/p&gt;
&lt;p&gt;The genuine challenge is visibility. Shaped Kanban at scale requires roadmaps that are explicit about dependencies between epics and features. You cannot hide behind sprint abstractions and hope the pieces fit together.&lt;/p&gt;
&lt;h3 id=&quot;how-this-approach-can-fail&quot;&gt;How This Approach Can Fail&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Shaped Kanban can be abused just like Kanban can be abused.&lt;/strong&gt; The flexibility that makes it powerful also creates opportunities for dysfunction if discipline erodes.&lt;/p&gt;
&lt;div class=&quot;callout callout--warning&quot;&gt;
&lt;p class=&quot;callout__title&quot;&gt;How This Approach Can Fail&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;WIP limits must actually limit work.&lt;/strong&gt; If WIP limits become suggestions rather than constraints and teams allow constant disruptions and context switching, the framework collapses into chaos. Kanban without strict WIP limits is just a glorified to-do list.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Priorities must be honored.&lt;/strong&gt; Bet on work you know has high value, deliver the original priorities, and let the circuit breakers do their job. If every urgent request bypasses the queue or priorities shift weekly, you are practicing reactive chaos with a Kanban board.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Circuit breakers must trip.&lt;/strong&gt; When work hits its time boundary or invalidates critical assumptions, stop and reassess. Do not extend deadlines reflexively. If you never let circuit breakers trip, they are theater.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Flexibility requires discipline.&lt;/strong&gt; Without discipline, you have just removed the one forcing function that timeboxes provided while keeping all the dysfunction: poorly defined work, shifting priorities, and endless scope creep.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Timeboxes enforce rhythm mechanically while Shaped Kanban requires you to enforce rhythm through actual alignment and genuine agreement. When that agreement slips, it fails more visibly, because continuing past an appetite takes a new bet rather than a quiet carryover. Enforcing rhythm through agreement is harder than letting a calendar do it, so the willingness to change comes first.&lt;/p&gt;
&lt;h3 id=&quot;when-to-consider-this-approach&quot;&gt;When to Consider This Approach&lt;/h3&gt;
&lt;p&gt;If your organization struggles with timeboxes fragmenting work, teams forced into artificial synchronization, or discovery invalidating sprint commitments, Shaped Kanban might help.&lt;/p&gt;
&lt;p&gt;It is the wrong move for a team without senior people who can shape work, or under leadership that won't honor its bets. A shared sprint cadence supplies a forcing function those teams can't yet supply for themselves.&lt;/p&gt;
&lt;p&gt;Shaped Kanban requires these disciplines:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Define work with clear boundaries before committing&lt;/li&gt;
&lt;li&gt;Start work with uncertainty, knowing you can stop and realign when assumptions break&lt;/li&gt;
&lt;li&gt;Commit to specific outcomes with understood scope&lt;/li&gt;
&lt;li&gt;Build until done or until constraints force reassessment&lt;/li&gt;
&lt;li&gt;Measure whether you delivered value, not just whether you shipped&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is not a perfect solution. Continuous flow across teams demands more intentional coordination than synchronized sprints. But I will take that tradeoff every time. Explicit coordination makes dependencies intentional, while synchronized sprints leave them to hope until the next boundary.&lt;/p&gt;
&lt;p&gt;Rhythm and tempo come from alignment and natural feature boundaries, not predetermined calendars. You cannot iterate toward value without agreement on what constitutes value. Shaped Kanban makes that agreement explicit, visible, and continuous, without requiring everyone to march to the same drumbeat.&lt;/p&gt;
</description>
<category>Articles</category>
<guid isPermaLink="true">https://coderlegion.com/19683/shaped-kanban-complete-features-not-sprints</guid>
<pubDate>Thu, 04 Jun 2026 15:08:56 +0000</pubDate>
</item>
</channel>
</rss>