今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

一山いくらのプログラマの使い方

情報ソースがなんだったか忘れてしまったけど、プログラミングスキルが絶対的に足りてないプログラマの使い方を読んだことがある。
スキルが足りていないプログラマには、プロジェクト全体のうち、重要ではない力仕事の部分を作らせるのが良い、と。手間がかかる部分ほど良い。
力仕事なので作るためにたくさんの時間がかかることは間違いない。彼は、何日も何週間も時間をかけて作り上げたものを持ってくる。少し動かせばすぐにバグが見つかる。「ここ修正してね」と伝える。複数見つけてもひとつだけしか伝えないのがポイント。彼は時間をかけて修正する。修正してきたら、次のバグを指摘する。それを何度も繰り返す。
この方法なら、スキルがある人が奪われる時間は最小限(バグを見つけて指摘するだけ)で済ませられる。かつ、スキル不足によるトラブルの要因をプロジェクトから隔離できる。
スキルが足りない人にコードを書かせるといろいろな問題を発生させる可能性が高く、それによりスキルが高い人の貴重な時間を割かれることが、プロジェクトに危機をもたらす。スキルが高い人がやれば1日で済む仕事をスキルのない人に任せると、事態を収集するためにスキルが高い人の時間を何日も奪われたりする結果を招く可能性が高い。それを予防するわけだ。
パレートの法則に従えば、2割のコードで8割の利用価値を生み出す。つまり、残りの8割のコードの中から重要でないが力仕事になる部分を選びだし、それをスキルが足りないプログラマに割り当てるとよい。