We use cookies. You have options. Cookies help us keep the site running smoothly and inform some of our advertising, but if you’d like to make adjustments, you can visit our Cookie Notice page for more information.
We’d like to use cookies on your device. Cookies help us keep the site running smoothly and inform some of our advertising, but how we use them is entirely up to you. Accept our recommended settings or customise them to your wishes.

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