Some thoughts...
I agree that the trend is towards components, but I think there will always be a need for new software.
Technological developments continue, and no-one is saying all hardware will be built by 2020. If this is the case, surely not all software can be. I'd say that in well-known markets (desktop/enterprise apps: CRM systems, document management systems blah blah), product development will slow down. Equally, other areas will pick up:
computing on mobile devicesInternet apps, particularly as bandwidth increases (video/audio stuff, real time collaboration blah blahSoftware for hardware that doesn't yet exist, and applications that take advantage of that hardware/software. Eg, a "virtual reality glove" you can wear to manipulate 3D objects. Great for games and modelling.Software in cars, watches, etc etc. Virtually all electronic devices are getting "smarter" (are gaining in computing power), and someone's gotta write that machine code that runs the dishwasher... I'm sure there are others, but that's all I can think of at the moment.
Also, I think that companies won't cease developing just because today's product is "good enough". I can't see Microsoft halting at Longhorn, or even the version after that (I think it's code-named "RedHat"
) Equally, in all areas we'll find we need the latest, greatest thing.
I agree that a drive towards a component market is possible (and likely, even), but only in the most well-known and understood areas of software development, at least in the near future.
Anyway, my $0.02.
--Tim