Jason Fried spoke yesterday at Web 2.0 in a talk titled “Ligtweight Business Models.” I might have titled his portion of the talk “Agile Design.” It seems like the ideas from Xtreme Programming aka Agile Development are cropping up for non-programmers. This internet savvy generation is not content as a worker bee within out-dated structures that supress creativity. I see more often this relentless pursuit of effectiveness.
I’m diving into yet another exciting project with an insane timeline and a small team. I enjoyed the reminder that those constraints can be a key success factor. Here are some of the highlights from Jason’s talk about best practices in designing and building a web site (along with my interpretations):
* Start with the Interface: Design the interface first. Worry about implmentation second. The architecture of the code and the data model needs to support the UI, not the other way round.
* Say no by default: Of course, you don’t actaully say no, but don’t add a feature just because someone asked for it. Give them what they need, which is often not precisely what they asked for. Often fewer features done better is the right answer.
* Iterate quickly: making it real helps the design process. Jason had this great Christopher Alexander quote that I wish I could find about when designing in a real setting, ideas tend to converge, but when its hypothetical, ideas often diverge.
* Use it while you build it: we all need to use the software we build, during the development process. You are your own best beta tester.
* Iterate in the wild: let real people use the software while you are still working on it. This lets you see real patterns of beahvior and make critical corrections. Its also fun to see your stuff in action.
Working styles can change when the instant comunication of the Internet is asummed. Whether it is the near-instant feedback loop of google’s ad sense or the “ability to iterate in the wild,” this new working style is affecting engineers, designers and marketing folks alike.