惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
Last Week in AI
Last Week in AI
月光博客
月光博客
D
DataBreaches.Net
WordPress大学
WordPress大学
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Recent Announcements
Recent Announcements
宝玉的分享
宝玉的分享
MyScale Blog
MyScale Blog
C
Check Point Blog
F
Fortinet All Blogs
B
Blog
小众软件
小众软件
Vercel News
Vercel News
罗磊的独立博客
有赞技术团队
有赞技术团队

Software Design: Tidy First?

Reject Change, Sometimes Baking a Model Busy is Short Volatility Speculative Short Volatility & Neglectful Short Volatility How Do You Know That? Long Vol: What is Volatility? Long Volatility Development The Beginnings of an Idea: XP is Long Volatility When Complaints Are Good News Air Traffic Control The Cost YAGNI Was Never About Why So Literal? Smalltalk Genie Hey, N00b, We Didn't Hire You to Complete Tasks A Learning System Made of Learning Parts You Don't Get to Create Anything Trust Factory Genie Lessons from Genie Sessions: Prose as a Programming Language Scope Is The Steering Wheel Itchy Brain Thinkies World Congress II: May 20, 2026 Thinkie: Wider Scope Thoughts, Not Thinking? Did We Do This to Ourselves? Adaptive Radix Tree Genie Sessions: Run, Right, and Fast for the Adaptive Radix Tree Unstick Your Stuck Thinking Genie Tarpit Genie Lessons: Nobody Wants Agents Passing Tests Bore Me
Canon 3X: Explore/Expand/Extract
Kent Beck · 2026-07-30 · via Software Design: Tidy First?

I’ve started a series of Canon articles where I explain my ideas as plainly & unambiguously as possible—no analogies, no persuasion, just the facts. I started with Canon TDD. I expect to continue with Canon JUnit, Canon XP, and Canon Make-The-Change-Easy.

The growth of anything forms a logistic curve:

Take a software product—throughout the curve we ship changes, attract customers, & bill those customers. However, the smoothness of this curve is a dangerous illusion. The beginning, middle, and final portions of this curve require completely different approaches, even if they look superficially similar.

I promised that the Canon series would be no theory, just stuff. One tiny bit of theory is essential to the 3X: Explore/Expand/Extract story. It’ll introduce vocabulary we’ll use in the rest of the explanation.

That S-shaped curve is described by a formula:

​But that doesn’t help much when we’re trying to make young things grow. Instead, we can see S curve curve as a tug-of-war (oops, analogy, sorry) between two feedback loops:

To create the S curve, first you get the reinforcing loop on the left operating. The more your idea (product/company/movement/whatever) grows, the easier it is to grow more. Then later you get the inhibiting loop on the right taking over, slowing & eventually capping the growth.

A successful idea:

  1. Explore Finds a new growth loop (it needs to me new or somebody else would already be operating it).

  2. Expand Keeps it operating long enough for the idea to scale, avoiding all the potentially-fatal inhibiting loops along the way.

  3. Extract Finishes growing as the ultimate inhibiting loop kicks in.

  4. (Bonus) Uses the resources from the first curve to kick off the search for new curves with their own growth loops.

Schematically, the progression looks like this:

The central thesis of 3X: Explore/Expand/Extract is that each of these phases, no matter how much they resemble each other, actually requires its own approach to:

  • Finance

  • Team size

  • Project management

  • Personnel

  • Technology

  • Risk management

  • Implementation

  • Marketing

  • Sales

Applying the approach from one phase to an idea in another phase kills ideas.

Risk: Nobody cares. The idea dies for lack of fuel.

Goal: Find the growth loop. You can’t predict a new loop so you have to find it experimentally.

Strategy: Rapid experiments, maximum creativity, conceptual blending.

Tactics: Tiny teams, no dependencies, quickly discard failures.

Exit: One experiment works way better than others.

Risk: Can’t scale.

Goal: Avoid fatal obstacles while scaling furiously.

Strategy: Intense focus on the next emerging growth bottleneck.

Tactics: Throttle growth, discard non-essential features, good-enough-for-now scaling.

Exit: Cause and effect of growth become predictable.

Risk: Can’t sustain.

Goal: Growth with profit,

Strategy: Safely optimize while growing.

Tactics: Small, safe experiments; roll out successes; optimize costs.

Exit: No further return on investment.

The tricky trick of 3X is managing projects in different phases in the matching styles. You have some Extract products that pay the bills & pay for a portfolio of Explore projects. When a project hits Expand, treat it as a priority even over profitable Extract activities. (Simple to say and apparently nearly impossible to execute.)

Most teams don’t have a strategy problem. They have an adaptation problem.

Your plan was never going to survive contact with reality. The question is whether your organization bends or breaks when it doesn’t.

I help teams bend. Adapt to Thrive.

Booking a handful of custom talks and advisory engagements now. I interview your people, measure your real software flows, and hand you the truth plus what to do about it.

Curious whether it fits? Tell me about your team.