What if software was not soft?

Posted by on November 14, 2008

Slipping deadlines by months and sometimes by years, exceeding estimated cost by many times, defects in production, and projects that never complete are common issues in the software industry.

In my view this is due to the softness of software. One definition of “Softness” is: Easily molded, cut, or worked1. Software can be easily changed; it’s not like changing the design of a house after it’s built. If that’s what you think, think twice. Is it really easy to change software?

Changing current code of software does not make a mess like tearing down a section of a house does. However, changing software takes time, and that means it costs to change software. If the one who changes the code is not the original writer, it may take more time to understand the logic of the previous code before doing any changes. What’s more, changing code could introduce new issues that may or may not get caught before shipping the product. If caught, these would require more re-work until all issues are fixed. Sometimes, this becomes a never ending cycle of fixing-introducing more issues - fixing.

Therefore, is the softness of software just an illusion caused by the apparent cleanliness of the demolition and rework of software? What if software was not soft, but once it’s coded, it can’t be changed? Would this have resulted in more rigorous ways of perfecting initial requirements, or betters ways of modeling software? If software was not soft, it would have meant that once the product gets out of development, if it does not pass quality control, it would be rejected, and not sent back to developers for bug fixes, resulting in developers having to re-build the product or parts from scratch. Would this have resulted in more disciplined development methods that ensure what’s released from developers are of production quality?

I don’t have answers to these questions. However, thinking of software as “not soft” may open up new avenues for perfecting software engineering.

1. softness. Dictionary.com. The American Heritage® Dictionary of the English Language, Fourth Edition. Houghton Mifflin Company, 2004. http://dictionary.reference.com/browse/softness (accessed: November 14, 2008).

No TweetBacks yet. (Be the first to Tweet this post)
Comments

Respond | Trackback

Comments

Comments: