Don't forget the one key issue that almost all hackers (including myself) continually overlook.
We do the HOW.
They determine the WHAT.
Doesn't matter how efficient we get at doing the HOW until someone figures out how to get more efficient determining the WHAT.
All of us (users, hackers, managers, entrepreneurs) are so bad at determining the WHAT that we don't even try anymore. We build something "close" and we iterate until it's "close enough".
Until someone comes up with a methodology or technology for tying down the WHAT into a rigorous functional spec, I wouldn't worry about anything becoming too cheap.
So perhaps we've been focusing on the wrong series of problems when it comes to software development productivity. Doing the HOW is not the bottleneck, but rather determining (rigorously enough) the WHAT that is the bottleneck.
We do the HOW.
They determine the WHAT.
Doesn't matter how efficient we get at doing the HOW until someone figures out how to get more efficient determining the WHAT.
All of us (users, hackers, managers, entrepreneurs) are so bad at determining the WHAT that we don't even try anymore. We build something "close" and we iterate until it's "close enough".
Until someone comes up with a methodology or technology for tying down the WHAT into a rigorous functional spec, I wouldn't worry about anything becoming too cheap.