« Foxwoods | Main | PowerPoint »

Code is like wine

Code is like wine: it gets better with age. It does not grow cob webs the longer it sits around on one's computer. It does not spoil or cease to function. In fact, well-maintained code becomes more stable the longer it is in use and the more releases it goes through by virtue of having more eyeballs on it, rigorously exercising every feature under different circumstances, reporting bugs and having them fixed.

I should go back to the previous point about ceasing to function. Some may make the argument that some code will cease to function as the platform on which it runs evolves. For example, Visual Basic code built on an API built into Windows 3.1 may not work on a Windows XP machine today without some modification. That is true. That argument is tougher to make with web applications because generally previous versions of Javascript, CSS and HTML are backward supported in browser rendering engines.

I once read an essay that suggested software developers more often than not prefer to write applications from scratch instead of enhancing existing software, often inherited from someone else, because reading code is significantly more difficult than writing it. Here it is at Joel on Software. Initially skeptical of this statement, I have now seen this phenomenon in several environments, where developers swarm around an application and make the recommendation that it be rewritten from scratch because of "architectural" flaws or potential "scalability" issues. Often people on the business side do not have the background or confidence to argue with these abstract criticisms because they do not know what they mean. I predict that is going to change. As the software savviness of business executives rises over time, software developers are going to fall under increasing scrutiny each time they recommend wholesale rewrites and platform changes. Software is an asset, and just as businesses look critically at replacing capital infrastructure, they will look at software in a similar manner.

TrackBack

TrackBack URL for this entry:
http://www.tigercard.com/cgi-bin/mt/mt-tb.cgi/9

Post a comment