分業によって効率性を高めることは工業化時代の偉大な発明だとは思うけど
開発現場では責任感薄めるという害があると感じます。
開発の現場では、
「そこは設計者が悪い」とか
「そこはWebデザイナーが悪い」とか
「そこは営業が悪い」とか
だれもが、責任をなすりつける先を持ってしまいます。
システム開発では、分業という考え方に多少なりとも害があると思います
でも専門性の必要な部分はそこそこ残ってます。なので、そこは
ソリューションに対する主責任者とコンサルタント
という認識で役割分担をするほうが良いのではないでしょうか。
システム開発というサービス業は、要求に対するソリューション(解決方法)で成り立ってます。
1つの要求を分割して、そこは誰々と割り切ったところで顧客から見ればソリューションの品質がすべてです。
だから、ソリューションに対して主責任者を決めます。
大きなプロジェクトなら、ソリューションを少し砕いて責任者を決めます。
Webデザイナーも、DBAも、アーキテクトも、プロジェクトに対するコンサルタントであり、専門性の必要な部分を担います。
システム開発では、高度な専門性を必要とする分野は減っていると思います。
それに、今後も減っていく傾向にはあると思います。
代わりに、皆が広範囲の分野の知識を持っている必要があると思います。