Software is like a car… it falls apart.

I’ve been developing software, from a low level developer, to an applications architect, to a product managemer for over 10 years.

There is a fundamental truth, about software, that many people (even weathered IT insiders) havn’t grasped. I have witnessed this on all sorts of different projects. All software will fall apart. Software is like a car. Once it reaches a certain age, it starts to take bigger and bigger maintenance efforts, until it reaches a point where the maintenance can’t counter the decay.

How can software fall apart?

Its simple… software is never finished. Bugs are constantly being fixed and features are constantly being added. Constantly. For ever.

After a certain “critical size”, every line of code changed or added to a code base adds to its complexity. The more complicated a piece of software, the more likely a new feature will introduce a bug. Undiscovered bugs get built upon, making the bug harder to resolve, and more likely that the bug fix will introduce other new bugs.

The big question, which I cant answer today, is how big can a project get (in lines of code (or perhaps product features) and human resources) before it starts to fall apart?

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s