Kent Beck on Expand Projects

Expand is where you have a new growth engine.

Expand is powered by a reinforcing feedback cycle where the more you grow, the easier it is to grow more

The expand loop when it's really taking off is hypergrowth and is littered with near-catastrophes along the way because of demand outstripping supply.

Beck maintains that you can't solve all expand problems with careful engineering but you often have to improvise solutions in the moment because by the time you find out elegant solutions it'll often be too late.

Increase supply through throwing money at the problem. e.g. scaling resources and spending money. Sometimes some fast solutions get you there. I've seen both of these solutions before. Sometimes a fast solution was caching instead of fixing the underlying system. Other times we just threw money at the infrastructure.

Decrease the demand on the system: You can also limit growth by release to segments, doing "betas" or invite only. Sometimes delete features. Optimize things so that they perform better.

Explore / Expand / Extract curves are fractal.

Oftentimes we try to "solve" the problems but really that leads to more problems through long hours, little progress, and irreversible failures.

That you don’t know how to solve the problem is a good sign. It means fewer competitors.

When you start trying to solve the problem, you're in Explore: Creativity & diversity, Small experiments (quickly discarded), Experiment in parallel, Collaborate closely.

Once you find a solution to increase the supply and or reduce demand focus on it until the crisis passes.