THE RKGBLOG

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

Technorati Tags: , , , , , , ,

  • Alan Rimm-Kaufman
    Alan Rimm-Kaufman founded the Rimm-Kaufman Group...
  • Comments
    One Response to “YAGNI, and The Rule Of Three”
    1. Heather Fox says:

      Mike Moran’s “Do It Wrong Quickly” book is mentioned in this post and so readers may want to try out the Do It Wrong Quickly Challenge. Answer as many questions as possible in 90 seconds (there are 100 questions in total) with a corresponding explanation sheet at completion. Enjoy, and good luck!
      http://www.ibm.com/ibmpress