Black Magic Code

Monday, February 18, 2008

Further comment on "How software companies die!"

People that work with sales and marketing are for software developers a strange bunch. For a software developer it is totally nonsensical why anyone would come up with ideas like: Gluing a couple of eyes on a rock and call it a Pet Rock. But marketing people see how brilliant it is. They think: "You can sell anything with the right marketing!".

But you can't sell everything with marketing. It depends on the nature of the "product". As soon as the buyer expects it to something and be usable the meme of "anything can be sold with marketing" becomes useless. Marketing and sales do not understand the nature of the beast of software. When you cram in more features in the poor developers schedule two things happen. They have less time to fix old bugs and the buyers (sometimes referred to as the market) get confused by too many options and features. If you ever try to fight a marketing department when they say "the market demands more options and features", you will get slammed each and every time with "developers are too dumb too understand the users" or "developers don't understand marketing". So when they get their way the result is an unmaintainable mess of buggy bloatware with features no one knows how to use. Thanks marketing.

Are there any solutions for this mess?

Lets look at a related business of hardware. Processors to be precise. I feel like an old fart when I think back to the dancing clean room guys. But that was exactly what happened with Intel. Marketing took over because they had a successful campaign with brightly colored people dancing telling about MMX enabled processors. They started to butt in to the engineering decisions of the company. Intel had an CEO that allowed that. To make a long story short, it resulted in a Pentium IV with a magical number of 3.2. But a lot of engineering compromises where necessary to reach the magical number. Competitors caught up, they had engineers making R&D decisions. Resulted in a different gamble from their part. AMD trounced Intel with good engineering, they wouldn't have had the chance if Intel had made decisions based on technical merits than reaching a magical marketing number. Intel shifted to an engineering based decisions and they are making solid products ever since.

This is also very true for software. It is better to make solid products rather than market the crap out of compromises.

Sounds awfully familiar.

This pops up now and again when you read about software engineering and programming on the web. How Software Companies Die by Orson Scott Card. It is scary how often you see this pattern repeated. It seems to be repeated at my current workplace. Considering it is written in 1995, the remaining question is will people ever learn.

I'll post a longer comment on it later.

Friday, February 01, 2008

Here is a scary thought for you.

The faith of billions of euros(or dollars or whatever currency you prefer) are decided by Excel sheets with quick n' dirty VBA hacks. These hacks are sometimes built by people with little or no training in software engineering. This is the scariest bit of information that I have got from the SocGen scandal. Jeromé Kerviel isn't a computer genius, he knows a little VBA. Don't believe me read this.

Who would have known, an Excel bug could trigger the next stock market crash. Microsoft decides the faith of more money than they are themselves worth.

I don't know about you, but to me this looks like an accident waiting to happen. And if we don't do anything about, it will not be pretty.