I would classify the approach to building this site as a good example of 37 Signals “Getting Real” development effort. Did we do requirements? Yeah, we did a few. Did we do wireframes? Yeah, we did those and iterated a few times. Did we do a static build? Yep, we did that and fixed some typos and added buttons. Did all hell break loose once we actually built the mapping engine? Yep.
We changed tons of stuff. Once we saw how interaction actually worked, we changed and changed and changed and changed. Our whole perception of what was valuable and what was not rapidly altered. Pretty exciting! Was it good? Let’s just say that it would have been nice if we knew at the beginning what we know now. From an ease of building perspective, I would have to say that it was just OK. Could we have done it another way and had the same kind of result? Probably not.
Why is that? I would guess that when you are dealing with something so far out on the bleeding edge technology-wise and something where usability is first, second, and third on the list of valuable traits, even some of the most iterative waterfall methodologies are probably not iterative enough.
Our mocked up representation of the business failed to accurately represent what we ended up building and the differences were across essentially both dimensions of difference: We couldn’t build some of the things we wanted to and our brilliant technologists built some things that we never dreamed were possible. So we got both more and less than we expected.
Also, we weren’t able to take a long pause after we did the wireframes and the static build to truly contemplate what we had built. I think if we had taken two weeks off, maybe we would have been rewarded with some of the insight prior to commencing actual development, but it just doesn’t really work like that when you are trying to crank stuff out. The result is mid-stream change, which is painful.
Also, it’s easy to say two weeks now, but you never really know when you have looked at something long enough. Hindsight is 20/20!