Say no by default
Listen to the product
Ignore details early on
Improve what you have
Decisions are temporary
The above is from this presentation by Jason Fried of 37Signals. I want to get that slide laminated and keep it in my wallet. Coming across this slide the other night sent me on a rant about how much I disagree with a heavy front-loaded design process. Products need to be evolved, not designed. I think you need to start with a few basic building blocks that are flexible and adaptable, and let them be shaped by the environment. Some of the components of the environment are users, constantly evolving technical constraints, and rapid innovation. I came across this reaction to Google+ by Dave Winer that makes this point well, so I don’t have to.
The thing that makes Facebook great is that it incubated in the market with real users. It was made by real users. It was formed by actual use. One day at a time, one feature at a time, in public, every home run visible, and every mis-step.
Products like the one Google just announced are hatched at off-sites at resorts near Monterey or in the Sierra, and were designed to meet the needs of the corporation that created it.
A similar phenomenon could explain why the features and usability of Learning Management Systems have a reputation for being lacking.
See Also: Software Engineering: An Idea Whose Time Has Come and Gone?

