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.
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.
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.