Bill de hÓra has a thoughtful piece about complexity experts and simplicity mavens. As Bill points out, conventional wisdom provides an easy way to criticize things without really thinking: in the 1990’s, you could diss any project or spec simply by claiming that “it won’t scale”; this decade, you can diss any project or spec by claiming that “it’s too complex”.
I think that there’s more to the change in conventional wisdom than mindless pot-shots, though — it’s really a fundamental change in the burden of proof (in the popular sense of the obligation to defend a position). With the rise of agile development and worse is better, we’ve shifted from “required until proven unnecessary” 10 years ago to “unnecessary until proven required” today, and I think that’s a change for the better — after all, if we’re uncertain either way, we might as well pick the option that requires less time and money. So when people say “the project is too complex,” what they’re really saying is “prove to me that these features are justified.”
Burden of proof matters a lot in life: just ask someone like Schapelle Corby, who has been charged with a crime in a country whose legal system does not support the presumption of innocence.
I think the “It won’t scale” dis is still very much with us. I like to satirize it by saying “But will it scale to a BILLION HITS PER SECOND from each of a TRILLION CUSTOMERS???”
Pingback: Unnecessary Until Proven Required [@lesscode.org]