I always enjoy the ramblings of those 37signals folks, even though in the past I’ve often though that many of the things they suggest would not work in the companies that most of us work at. I may have been wrong…
See Getting Real, the book. In the introduction we have this bit:
Getting Real starts with the interface, the real screens that people are going to use. It begins with what the customer actually experiences and builds backwards from there. This lets you get the interface right before you get the software wrong.
Since the last big project I worked on had huge functional specs that were largely ignored, I’m starting to thing that we would have done better with pictures and mockups and actual working pages showing how it should have looked and functioned. Instead what we were left with was a horrible mess of an application that does not work.
The one thing that worries me is that at my last job, we did design the interface first before there was working code, and the results then were not too much better. The developers complained about trying to work the design into their applications. Obviously a team (or person) doing everything, all aspects of design and development can work around this problem. That’s probably the lesson to be learned here.
As a footnote to all of this, you might also see What Corporate Projects Should Learn from Open Source, which is also of value for those of use trying our hardest to work smarter against all odds.