The Idea Dude


Thursday, January 18, 2007

The devil's in the details

It's true, never more so in software. Brainstorm concept (30 mins over noodles), prototype (1 day), getting to release (5+ days). It's not a new concept, Tealeaf and I live it everyday. It's the tiny details that take 80% of the sweat, it could be getting the look and feel of a new page right, the regular expression that won't co-operate, that elusive piece of open source code that doesn't make any sense, the compiler error that defies explanation and before you know it, the sun is down and it's another day. We've just added comments to our blog and opened up our forums, seemingly simply things to do but still took us a good couple of days to do it right, like making sure the pictures of our members are displayed prominently next to their comments and forum replies. Try it, I think you'll like it.

Despite the many books on software planning and management, shipping on time is still an art simply because 1+1 is never 2. You can't always blame it on poor skillsets, ineffective teams or bad estimates. The problem again and again is the one dagger that strikes just before you ship. The elusive bug that cannot be reliably reproduced, the performance figures that can't be improved, all these anomalies are due to complexity. Unless it's a 'hello world' program, most software projects have far more degrees of freedom than we realize. Complexity is what drives uncertainty and too many managers fail to understand that despite best efforts there are things that no human can foresee or control.

For small companies, using as much open source is a must, not because it is cheap, but because it has been tested and twisted more ways that you can imagine, security holes are discovered quickly and fixed and most importantly, if you have a question to ask, probably 10 other people have asked the same question before and 20 others have answered with various alternatives. It's a hard model to beat. So instead of spending your budget (both time and money) writing infrastructure, supporting modules, you can focus on building the layer that counts, the business layer.

And when all is said and done, to get that rave review from your fans...priceless.


Post a Comment

<< Home