Bet-Driven Development
No matter how you build software (or anything for that matter), you're making bets. You're wagering that a specific amount of effort placed here will yield greater rewards there. In a way, all software is Bet-Driven Development. However, "Small Bet"-Driven Development is a superior method of building software.
Quite simply: large projects are complex, and complex things fail more readily than simple things. In software these failures are very expensive in terms of money and time spent.
The inverse is also true: small project are simple, and simple things are easier to reason about. Simple software is easier to adapt to fit changing requirements. Simple failure are easier to debug, fix, and future-proof than complex failures.
A series of small bets can quickly add up to the full value of a single large project. Indeed, small pivots taken throughout the project can actually get you to the end faster than if you had just plowed on through with your gantt charts and Agile Manifesto. (If you're not aware that's a very clever jab at how many enterprise companies build software).
Jack be nimble, Jack be Quick, Jack ships software 10x faster than Jill who is held hostage by the Cult of Agile.
🔑 Key Takeaways
- Smaller bets mitigate risk (cost, time)
- Big bets rarely pan out well without significant resource investment
- Small bets are best for small-to-medium sized companies who can't afford full-time senior software developers.
Extra Credit
Read Shaping Up to figure out how to take better small bets.
BIG ASK
Do you know someone who might enjoy reading a daily email about overcoming the challenges of software development as a small business owner? I'd be mighty honored if you'd consider sharing this email with them.