We use cookies to personalize content, to provide social media features and to analyze our traffic. We also share information about your use of our site with our social media, advertising and analytics partners. For information on how to change your cookie settings, please see our Privacy policy. Otherwise, if you agree to our use of cookies, please continue to use our website.

YAGNI, and The Rule Of Three

Great post on successfully building large software systems over at WTF.
"Avoid premature generalization," [Phil] Haack advises. "Don't build the system to predict every change. Make it resilient to change."As for knowing when to generalize, Haack lives by the rule of three: "The first time you notice something that might repeat, don't generalize it. The second time the situation occurs, develop in a similar fashion -- possibly even copy/paste -- but don't generalize yet. On the third time, look to generalize the approach."
In my view, the Rule Of Three advice applies to business processes as well. stop you aren\'t going to need it Online marketing is evolving so quickly, there typically isn't time to engineer the "perfect process" out of the gate. Heck, you can't even envision what the right process looks like until you've done something a few times. So start with the simplest approach that could possibly work. The agile development community have an acronym for a related idea -- YAGNI, for You Ain't Gonna Need It -- and this is a central point of Mike Moran's excellent new book, Do It Wrong Quickly. So, in software and in marketing:
  • Do the simplest thing that could possibly work.
  • Don't over generalize.
  • After three experiences, start optimizing if needed.
Link: Avoiding Development Disasters over at WTF
Join the Discussion