設計が出来る人は管理者に、実装が出来る人は設計者になるため、実装できない人がプログラマになる | それゆけ西表島

設計が出来る人は管理者に、実装が出来る人は設計者になるため、実装できない人がプログラマになる

ピーターの法則という有名な法則がある。「社会はあらゆるポストが無能な人間によって占められて安定する。」という趣旨の法則だが、有能な人は無能になるまで昇進し続けるので、役職的に無能な人ばっかりになるという恐ろしい法則だ。


ソフトウェア開発の現場で仕事をしていると、優秀な人がどんどん上の役職に上がっていって、プログラミング能力のある人がプログラムを書かなくなったり、ドキュメント書かせると非常に上手い人が管理職になってスケジュールと予算ばっかり管理していたりと、優秀な人が揃っているのに開発スタッフが足りない状態になることがある。


そうすると何が起こるかというと、人を雇い入れるわけだが、優秀な人は高いしそもそもいないので、安くて意欲のある人を採用する。しかしそれほど経験がないという場合がほとんどなので、プログラム経験があまり無い人がプログラムを書くことになる。まさにピーターの法則ぴったりだ。


ピーターの法則に従わないようにするにはどうすればよいだろうか。アジャイル開発モデルを見ると、チーム全員が設計と実装を分け隔てなく行うことで、チーム内のリソースが無駄にならないようにしている。なるべく優秀な人を第一線に残すという点において、アジャイル開発モデルは良く考えられている気がする。


人が増えてきたら管理職が必要という考え方は、古い会社組織構造だと思う。例えば漫画家は、節税対策のために会社を設立するケースが多いのだが、一番偉いのは漫画を描く漫画家で、社長でありながら漫画を書いている。当然社長(漫画家)が死んだらそこでコンテンツの生産は止まるが、今までのコンテンツを維持管理して社員が食いつなぐ事は可能だろうと思う。


ソフトウェア業界では、社長がプログラムを書いているうちはだめだというような意見も見かけるが、上記漫画家モデルを真似て、社長がプログラムを書きまくる会社があってもいいのではないかと思う。あとの社員は全員アシスタントだ。それでもソフトウェアが開発できるならなんの問題も無い気がするが。


20世紀の組織論を無視して、一番能力を引き出せるような組織構造は何か、ということをもう一度模索した方がよいと思う。せっかくのスキルを埋もれさせることなく、世の中に貢献するために。