まらんさんのチラ裏

その日暮らしのおじさん

大規模開発は小規模開発の詰め合わせパック

http://d.hatena.ne.jp/ksh/20061230/1167490514
この記事読んでて思ったこと。

プログラマは日々勉強し、自分の強みをさらに高めるとともに、弱みを無くすか代替手段を作り、自分の得意分野では他人の仕事にもくちばしをつっこんで「アレについてはやつにまかせておけば心配ない」と思われる人になって欲しい。だから私はメンバ一人一人を見て、得意なところは「お願いする」。危険を感じたら「相談してもらえるようにする」というやりかたで、実際やっててうまくいってるし、お客さんも評価してくれてるんで、間違ってないと思います。

id:kshさんは、こういうことで上手くいっているのだから、下記の部分に関しても上手くやるのはそう難しくない気がするのです。

大規模になれば、そのプロジェクトの上位のSEはメンバ一人一人まで見ることはできないでしょう。じゃあ、そんな状況で、プロジェクトのメンバをプログラマのスキルに依存せずアサインして、問題が発生したときどうなるのか? 彼ら自身が解決できると信じることができるんでしょうか。

大規模になれば、といっても、結局チームは小分けされているのが普通だと思う。
だからといって、例えば、kshさんが全チームの各メンバーに大して事細かに吸い上げを行うことは不可能だろう。いや、体力と気力と時間があれば可能かもしれないけど。
んじゃどうすんだってーと、各チームにはリーダーがいるから、その人達にkshさんのような対応を行うよう教育すればいいんじゃないかな。

というわけで「プログラマに必要なスキルレベルが明確な体制を作り上げることが最強なんじゃないですか?」と言わせていただきたいと思った次第でございます。

こういう体制作りも大切で、可能ならそうしてほしいんだけど、現状ではそもそも「この作業にはこの程度のスキル(もちろん熟練度も含めた)が必要」みたいなことを正確に測ることは難しいんじゃないかなー。
開発現場で周り見てるとみんな顔が引きつってるし、作業遅れてるし、病院送りにされる人とかもいるし、(これ以上は自重)
だから、そういった状況で上記の体制を作り上げるのは、まだ現実的ではない。
僕が考える「チームリーダーが各人のスキル・状況等を吸い上げる体制」というのは、いまでもそう意図されてチームという体制があるんだと思う。現実にはちゃんと行えてないけど。
だから、そこでリーダーへの教育が必要になってくる。
全体のメンバーは多くても、リーダー自体は少ないのだから教育のコストもそんな大変なもんじゃないかもしれない。(ここらへんは上の人が判断するところ?)


吸い上げスキルを身につけた各リーダーは、各チームの各人から正確・スキル・状況等を吸い上げる。
吸い上げた情報をPMとかそこらへんの人に出力してやる。
逆に、リーダーからPMが情報を吸い上げるという表現にしてもいい。そうしないとPMの仕事が無くなりそうだから:P
得た情報を元に、PMが人の配置を考え、実行する。
配置を考える際、各リーダーからの意見を求めると尚良い。


これで、まあ、いまよりはマシな状況になるんじゃないかな。
いや、そもそも何もできないまったくの素人を送り込む派遣会社も問題だとは思うんだけどね。
そこらへんは別の人たちがたくさん考えてくれてる気がするから、いいや。