This happened in early 2012. We wanted to add some more features into an existing app built on Rails 2.3 about 2.5 years before (July 2009). We ended up in a situation that in order to proceed adding new features we had to upgrade to Rails 3.1. The primary reason being that we were using outdated technology and there is some difficulty in maintaining our legacy (read 2.5 years old) app by getting support and documentation. The migration also was not smooth--we spent time looking at screencasts, tutorials, documentation, and forums to move ahead and after a good deal of effort the migration happened. At one point during the migration there were also second thoughts to rewrite the app from scratch as the migration was labour intensive.
This event made me feel that we might be heading towards disposable software. Keeping the life cycle of the rapid development tools in mind, should we design cost-effective disposable software? By taking the example of How to Create a Blog from Scratch Using Ruby on Rails in simple steps, I believe that we might be heading towards a solution of disposable software. A large application could be built using many pieces of disposable software if we take care of data integrity during upgrades or replacements and effective communication between applications.
The questions that arise are: How long is long enough to dispose the software? Software development costs are ever increasing; will this model fit enterprises? Will this mindset make software accessible to the masses at a cheap cost?
My take on the questions:
Q. How long is long enough to dispose the software?
A. We could take around 2-3 years for software to be useful for us before we reach out for an upgrade.
Q. Software development costs are ever increasing, will this model fit enterprises?
A. My experience with enterprises is very limited, as far as I know the huge cost in procurement of an earlier version has been a mental block for organizations to go for a timely upgrade. If we make software development faster and cheaper then there is a high chance of regular upgrades.
Q. Will this mindset make software accessible to the masses at a cheap cost?
A. Right now many services are beginning to become available for super cheap cost empowered by the cloud, it could be possible in the near future that people can get made to order software at a cheaper price.