One of the chief buzz words during the second-wind of internet growth is/was "agile development." This phrase serves the web industry well, and can even have some relevance out-side the sector. It means, of course, adhering to a semi-regular schedule of iterative release... and more importantly a realization that perfection has little place on world wide web.
But even after we've all been whisked away to a magical head space where we're willing to concede our personal and professional shortcomings, learn as we go and listen to our customers... we still haven't agreed upon when to build.
All to often the decision to create is dictated by when the inkling is conceived.
In the best of cases, a set of previously dreamed up ideas are chosen from cyclically, based on an educated set of assumptions about users. This is currently about the best companies hope for. Register notions (internal or from outside), then prioritize based on effected user base and potential new users.
But what about that really awesome new feature you want to add that you're just sure will totally knock the socks off new and old users alike? You know, the one they don't really need. The one that Scott over at Funded.com Inc. just pushed live on his site. Should you build that into your system? Or should you speed up your page loads by 5ms?
I just had to bring it back to form vs. function didn't I. Useful alteration vs. bling. Should the web be an experience or an efficient source of information?
I bring up this question, because I think that each site/company/project needs to continually reevaluate which heading it falls under. The inevitable answer is both, but the questions remains: to what degree and in what portions of your online presence. When IMDB (internet movie database) serves a trailer, they are an experience; when they provide a listing of actors in a film, they are an efficient knowledge bank.
In which direction does your presence need to grow?
This may be just the right place for my anatomy of a feature release list...
- Idea is conceived: you or your user(s).
- Emailed, ticketed, feedbacked or mentioned orally.
- Prioritized.
- Building begins.
- Pushed live.
- User is wowed.
The key here is that we have to be ok with bumping something indefinitely. And sometimes dropping the bling project to listen to usefulness. Of course.
My current "when to build" belief is-- Hold out for desire. Act on need.
I'm tempted to say that only the big kids --Microsoft/Apple, Facebook/Myspace, Google/Wikipedia, Flickr/Youtube-- have the luxury of freedom to innovate bling. But we know that's not true. While they serve most of the eyeballs on the web, they too must follow the pull of optimization and house-cleaning against smooth experience and titillating innovation. Besides, innovation often comes from the edges and the new comers.
This doesn't mean you can't make time for un-affirmed improvement. You just need to hold off getting innovation "production ready" until it's at least actively desired. By the time it's an actual user need it should be in place and refined.
