speak and write a lot about specialization in Information Technology and the idea of specialization relates to the original question by Sharon. It turns out that software is like many other industries such as textiles, metal working, medicine and architecture.
During the past centuries the evolution of modern societies has moved vigorously in the direction of increasing specialization of labor, knowledge, and expertise. It would be quite astonishing if software development did not follow this same path. The idea of specialization is nothing new, and it is not limited to a specific industry or a field of study.
Specialization in software development seems to be following a specialization along a specific phase. There seems to be a clear divergence between technical skills (.net, COBOL, and other languages) and business acumen.
We saw technical jobs either disappear like blacksmithing or be exported to Asia like textiles. What remained in the USA were business, requirements and design jobs.
As the software development industries matures there will be more and more individuals that specialize in a specific business. A problem is that many software developers have no desire to learn about core business. For the most part software developers do not study their customers, the core business or their companies competition. If software development does not understand the core business, how is it possible to understand what functionality needs to be included or not included in any project, upgrade, or release.
I could go on and on this subject. I devote an entire chapter to this in my online book Reboot! Rethinking and Restarting Software Development. The book is free and online at http://www.RebootRethink.Com.