Best Simple System for Now • Daniel Terhorst-North • GOTO 2025
Summary
Daniel Terhorst-North's "Best Simple System for Now" philosophy advocates for a pragmatic approach to software development, emphasizing adaptability over premature optimization. This concept, inspired by Hokusai's "The Great Wave" (which features Mount Fuji as a constant), encourages focusing on enduring principles rather than fleeting trends. "For now" means resisting the temptation to guess future needs, acknowledging that early decisions are often regretted (Shalop's Law). "Simple" involves understanding the problem's essence, starting with minimal solutions, and allowing systems to evolve, echoing Gall's Law. "Best" refers to achieving an appropriate level of code quality through deliberate trade-offs, like Picasso's minimalist bull sketches. The approach highlights the economic benefits of reducing "value at risk" and "cost of delay" by delivering value sooner, even if it means iterative rework.
Key takeaway
For software engineers and technical leaders balancing speed and quality, adopt the "Best Simple System for Now" mindset. Resist over-engineering for speculative future needs; instead, build the simplest viable solution that works today. This approach reduces "value at risk" and "cost of delay" by enabling faster delivery and continuous adaptation, ensuring your systems can evolve effectively without being burdened by premature complexity.
Key insights
Build adaptable systems by focusing on current needs and evolving them, resisting premature optimization for an uncertain future.
Principles
- Resist the temptation to guess future needs.
- Complex systems evolve from simple, working ones.
- Appropriate code quality balances under- and over-engineering.
Method
Apply the "Vespa" framework: Visualize, Eliminate vestigial elements, Simplify, Practice until boring, then Automate. This iterative approach fosters adaptability.
In practice
- Start with the simplest possible solution.
- Embrace "Kakaku" (abrupt change) when constraints shift.
- Prioritize delivering value sooner to reduce cost of delay.
Topics
- Best Simple System for Now
- Software Architecture
- Technical Debt
- Premature Optimization
- Agile Principles
- System Evolution
Best for: Software Engineer, VP of Engineering/Data, CTO
Related on AIssential
Editorial summary, takeaway, and curation by AIssential. Original article published by GOTO Conferences.