I was just perusing a conference catalog for a major conference and it all of a sudden dawned on me that a majority of conference sessions were about creating this application with that featured technology. What’s more, this phenomena isn’t unique to this conference– just take a look at any development portal and look at the article titles– they’ll most likely reflect the same pattern. In fact, this pattern of touting the latest and greatest framework or technology for building software applications isn’t new. We’ve been chasing technology silver bullets since the days of mainframes.

Don’t get me wrong– I love learning about the newest framework out there and trying to ascertain if I’ll have an opportunity to utilize it at some point, but why is it that we as an industry appear to focus the vast majority of our attentions on creating applications when we actually spend a far greater time maintaining software applications?

It turns out, as Robert Glass wrote in “Facts and Fallacies of Software Engineering” that:

Maintenance typically consumes 40 to 80 percent (average, 60 percent) of software costs. Therefore, it is probably the most important life cycle phase of software.

Therefore, wouldn’t it seem that we’d see a lot more conference presentations on how to make that large maintenance cost as low as possible? Or when someone builds the next greatest framework for building these, that, and those types of applications, why is it that they tout how fast you’ll be able to do it. I, for one, would love for someone to tell me how easy it is to maintain that particular tool or framework, because ultimately, that’s where I’ll end up spending the most money.

If the lion’s share of money is spent after the initial application is built, it seems to me that the criteria for success then isn’t how quickly a high quality application was delivered to a customer. A more logical standard for success, it seems, would be that an application was indeed delivered quickly, but that it also is relative inexpensive to enhance and therefore will prove to be an economically friendly long-lived application.

Instead, it appears that the vast majority of us don’t want to admit that software is aeternum and thus go about learning how to build interesting applications with equally interesting new frameworks and technologies. I’ll be doing the same, but with the added realization that many of those interesting applications will indeed be built and will undoubtedly be spending the majority of development costs in maintenance.