First of all, we do it and it works. Two it's too cumbersome, unpleasant and expensive. I think we need a combination of better design techniques, better languages and better management. Take the movie industry, for example. They don't pretend everyone's the same.
Cameramen run cameras.
Lighting specialists do lighting. I think within the design and programming, we actually probably need more specialization and more cooperation. There's too much emphasis on fitting people into a few rigid categories. Programmers are like this, and you want to get an ANSI standard programmer. And you want to pay him an ANSI standard wage.