Editorials

What is a Reasonable LifeCycle for Software?

Decades ago I used a popular database engine. It was a self-contained product, single tiered, providing both the application code for the user interface, and the database code for the storage behind it. The product had an annual version release. If you purchased to annual upgrade rights, you received a quarterly release that included bug fixes, and minor feature upgrades. This was a pretty common model with most software products at the time. It turned out that new features came at a pace you could absorb and utilize.

Today there are many different models. Some products do continuous upgrades, checking for updates every time you open the application. It will sometimes prompt you to upgrade; some software just upgrades as part of the application boot process. You, as a consumer may not have any control.

The server products are one of the things that seem to follow a more rhythmic schedule. Version releases are annual, or bi-annual. Service packs come out on a reasonable basis. Updates to fix major issues or security holes are released ASAP. This seems to follow something more reasonable.

When it comes to writing software, tools, frameworks, libraries, patterns; these all come out so quickly it is like trying to drink out of a fire hose.

What would you say is a reasonable lifecycle for service or server type software? Is the developer toolset expanding too fast? Are the new ways of doing things all that superior, making it worth the effort to re-tool?

Share your thoughts in our comments, or drop an Email to btaylor@sswug.org.

Cheers,

Ben