The Rise and Fall of a Software Company ~ Don't Call Us - We'll Call You

Thursday, February 26, 2009

The Rise and Fall of a Software Company

I'm reading Robert C. Martin's "Clean Code", and this little anecdote really struck me. Many businesses go down this slope, since management and even developers do not understand the need for refactoring and redesign until it's too late.
I know of one company that, in the late 80s, wrote a killer app. It was very popular, and lots of professionals bought and used it. But then the release cycles began to stretch. Bugs were not repaired from one release to the next. Load times grew and crashes increased. I remember the day I shut the product down in frustration and never used it again. The company went out of business a short time after that.

Two decades later I met one of the early employees of that company and asked him what had happened. The answer confirmed my fears. They had rushed the product to market and had made a huge mess in the code. As they added more and more features, the code got worse and worse until they simply could not manage it any longer. It was the bad code that brought the company down.

Later in the book, Martin (aka "Uncle Bob") compares the development of software with the development of a city. You won't build a 6 lane superhighway in a little village. You don't have the resources, and noone even wants it there. When the town is growing, you will need to build a new infrastructure. You might need to tear down some houses to build a new highway that can handle the new reality.
It's a good metaphore. My lesson learned is: Know the danger of not redesigning. If you keep building on old infrastructure that should be replaced, your city might break down.

No comments:

Post a Comment