Menu Bar

Tuesday, May 17, 2005

The Value of the UI/Functional Spec

A few months ago, I posted an essay on why I think UI specs are important, and then I broke the link to it accidentally. This past 2 weeks I've been living through UI freeze hell on a bunch of products that feature complicated interfaces, many moving parts, and multiple developers; and no one is happy. I've updated the spec essay and reposted, adding the principle of Team Harmony to the reasons why you should bother to create specs when you build large interfaces.

2 comments
:

Anonymous
said...

I imagine one reason so many people resist writing specs is all of the specs they have encountered have been useless. Too many people imagine huge, complicated documents with hundreds of hours of Visio diagramming and lots and lots of templated verbiage. The kind of document that gets hours sunk into it with no obvious progress and then ends up withering because nobody reads it and it gets ignored during development. Sometimes the big, dead corpse of a spec ends up being used as a prop for somebody's agenda to justify something being missing or late, but it doesn't actually help anyone.

These victims of bad (or no) process need to be educated as to what a good, living, useful functional spec actually looks like and how a team (or a single developer) uses it. Sadly, the only way I've ever seen to demonstrate that is to quietly write a spec and use it as the tool it is and hope people get it.

Yes, you're right. There's a real talent in making a good living document, at the right level of detail, without overdoing it. And how to keep it updated and useful is a HUGE ISSUE. (I always had a long list of bugs against the spec at TiVo; at Adobe not enough people read it.)

The tragedy of this issue is that no one understands how badly things can go wrong on a large product without a good spec, till they've lived through it -- and on a couple of my teams right now, we're not sure we're going to get through it alive. My company doesn't strongly believe in doing specs, but then they're new to building large GUIs, too. The growing pains are really really painful.