ソフトウェア開発プロジェクトにメインプログラマという位置付けはあるか?
ソフトウェア開発プロジェクト、特に業務系の開発プロジェクトでは、あまりメインプログラマという肩書きは聞かない。リーダ格の人はいるが、プログラム作成工程の中では、作業は全員並列という感じである。
これがゲーム業界になると、少し前まではメインプログラマ、ツールプログラマ、サウンドプログラマという具合に、ソフトウェア毎に一人で開発するのが基本だった。
何が言いたいかというと、業務系のソフトウェア開発って、1つのプログラムに対して割り当てるプログラマの数が多すぎやしませんか、ということだ。当然規模や納期にも左右される問題だが、ソースコードに触る人の数が増えると、当然品質にばらつきが出るし、何をやっているのか良く解らない部分が増える。
ソフトウェア開発工程において、プログラマは少数でいいと思っている。サブプロセスにあまり分割できないのであれば1人か2人でいいはずだ。メインプログラマを決めて、プログラムについてはその人に任せよう。後は、ソフトウェア開発をサポートするための人員に力を注ぐべきである。
実際には、サーバの環境を整備したり、ドキュメントを整備したり、データを作成したり検証したり、テストをしたり、ソフトウェアに関してプログラムを作る以外にやらないといけない作業は相当ある。
逆に言うと、プログラマはプログラムを作る以外の工程に仕事が出せるような実装にすることで、プログラマ個人にかかる負荷が分散され、プロジェクト全体として、投入できる人材の幅が広がることに繋がる。
少々の規模のソフトウェアについても、開発時に大量のプログラマを集めるのではなくて、優秀な一握りのプログラマ以外は、プログラム以外の作業でソフトウェア開発に貢献させるべきだろう。
そうすれば、たぶん優秀なプログラマが徹夜で他のプログラマのバグを修正したりということもなくなると思う。もっとも、優秀なプログラマってどうやって見つけるのか、という問題はいつまでたっても残るわけだが。
これがゲーム業界になると、少し前まではメインプログラマ、ツールプログラマ、サウンドプログラマという具合に、ソフトウェア毎に一人で開発するのが基本だった。
何が言いたいかというと、業務系のソフトウェア開発って、1つのプログラムに対して割り当てるプログラマの数が多すぎやしませんか、ということだ。当然規模や納期にも左右される問題だが、ソースコードに触る人の数が増えると、当然品質にばらつきが出るし、何をやっているのか良く解らない部分が増える。
ソフトウェア開発工程において、プログラマは少数でいいと思っている。サブプロセスにあまり分割できないのであれば1人か2人でいいはずだ。メインプログラマを決めて、プログラムについてはその人に任せよう。後は、ソフトウェア開発をサポートするための人員に力を注ぐべきである。
実際には、サーバの環境を整備したり、ドキュメントを整備したり、データを作成したり検証したり、テストをしたり、ソフトウェアに関してプログラムを作る以外にやらないといけない作業は相当ある。
逆に言うと、プログラマはプログラムを作る以外の工程に仕事が出せるような実装にすることで、プログラマ個人にかかる負荷が分散され、プロジェクト全体として、投入できる人材の幅が広がることに繋がる。
少々の規模のソフトウェアについても、開発時に大量のプログラマを集めるのではなくて、優秀な一握りのプログラマ以外は、プログラム以外の作業でソフトウェア開発に貢献させるべきだろう。
そうすれば、たぶん優秀なプログラマが徹夜で他のプログラマのバグを修正したりということもなくなると思う。もっとも、優秀なプログラマってどうやって見つけるのか、という問題はいつまでたっても残るわけだが。