Keeping software simple

I have been working on a software program for about four and a half years now. It is pretty cool – and getting cooler by the day. However, I can’t help thinking that if it was a little less cool, and a little more used, then life would make a lot more sense.

It was in this frame of mind that I came across what has become one of my favourite software companies – http://www.37signals.com. Now you would think that if these guys were really my favourite software company then I would be using all their gear. But unfortunately that is not the case. In fact, I do not use any of their software. I just like the way they think.

The reason I know what they think is because I have read their books – both of them. But I hear you say, these guys write software, what do books have to do with anything? Well they were so good at running their software company, they decided to write about it, and share their insights.

A lot of professionals write books to get “leverage” from their knowledge – rather than getting paid by the hour. Most professionals also think of software as the ultimate in leverage – ‘write once, sell many’. So when a software company writes a book about how to build a software company – we are talking ‘leverage on leverage’ that would make a Goldman Sacks mortgage broker start to drool.

Their premise is that you can’t please everyone all the time – and if you try then your software soon becomes someone else’s bitch. Software seems to suffer from the same fate as humans, when it puts on weight, it does so in all the wrong places.

So how do you keep your software looking trim? Focus. Don’t try and satisfy everyone all of the time. In fact, make it a rule to only satisfy some people most of the time.