Software, technology, sysadmin war stories, and more. Feed
Friday, September 9, 2011

Structure before content == cart before the horse

Some people seem to think they can see the future perfectly.

I've always been bothered by people and projects which build up a lot of structure and places to fit things before they really have anything to put there. It just seems mighty presumptuous to think that you can somehow know exactly how things will come together and what sort of taxonomy it will all have before it even exists.

Here's one place where it could have happened: all of these writings started about four months ago. I had no idea what sort of topics I would cover, and I didn't want to constrain myself, so I picked a simple directory name and avoided any sort of chapters, topics, sections, tags, subjects, labels, or anything else which might serve to arrange them. There was no way to know back in May what the next 130+ posts would look like -- that's about how many there are now.

I've seen it happen, though: someone starts up a new thing and immediately creates a whole bunch of little areas they think they will populate later. Oh, I'm going to write about this, and I'll have one of these, and one of those, and so it's going to need this, and this, and this...

Sometimes that works out. You get a web site where a few areas thrive, and a couple others don't pan out. Eventually, perhaps some of them are pruned back. That's an acceptable outcome.

The problem is that some people will stack up all of this stuff and turn it into things which must exist before they can go forward. They'll invent some ridiculous requirement, like the site must be multi-homed from the four corners of the Earth and needs unicast DNS advertising for maximum reliability! That becomes a huge cognitive load, so nothing happens and the whole thing fizzles.

This happens with business ventures, too. I've heard stories about people who are trying to set up this entity or incorporate this thing or that thing, and then I ask: what exactly is the product? When the response turns out to be something that's relatively simple at its core, my next question is then: how much code is there -- does it work?

More often than not, I hear that there is no code. So there they are, just doing all of this business stuff with a half-dozen or more (!) people involved, and there's not a single bit of code behind any of it. I guess they must be in business to be in business, since they don't seem to be in business to actually, develop something.

This seems to be a variant of Joel Spolsky's "architecture astronauts".

I have a simple avoidance technique for this: just start making stuff, and once there's enough of it, a schema will become apparent. Then, if you actually need to use it, use it. Otherwise, it's just a fun curiosity which can be ignored, and life goes on.

Otherwise, I guess you should stock up on Windex for your crystal ball.