Talk

Does Anyone Remember YAGNI?

Exploring the art of maximizing the amount of work not done, and the discipline required to avoid engineering for anticipated future needs.

Agile Yorkshire Leeds, UK 1 min read

“Always implement things when you actually need them, never when you just foresee that you need them.” – Ron Jeffries

The Challenge

Teams often engineer solutions for anticipated future needs rather than focusing on present requirements. This talk addresses the risks of this approach and advocates for the honesty and discipline required to combat this tendency.

Associated Costs

Without YAGNI discipline, we incur:

  • Build costs
  • Repair costs
  • Delay costs
  • Carry costs

The Balancing Act

YAGNI isn’t about avoiding all planning - it’s about distinguishing between “building presumptive features” and “making software easier to modify.”

Supporting Practices

  • Test-Driven Development
  • Refactoring
  • Continuous Integration
  • Code Review

Without proper design discipline, applications become too complex to modify. The goal is simplicity that remains adaptable to future changes.