Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
「XPマンセーッ!」
毎度、XPオタクのますくです。
このソフトウェア業界には、不可思議な単位や非常識な常識がたくさんある。
その代表が「人月」。
たとえば、3人月というと、「3人が1月働いたときの工数」という意味になる(この単位の起源は、恐らく、人/月のスラッシュがなくなった結果だろう)。
そして、この人月に対して、金額を割り当てていく。
たとえば、1人月=100万円といった具合に(1ヶ月で100万円という金額がすでに他の業界から見ればかなり非常識なのだが、まぁそれは触れないでおこう)。
詳しくは、ばたっちさんが最近書いたコラムをどうぞ。
これが、SEだと1人月=150万円、プログラマだと1人月=80万円といった感じで、同じ1人月でも金額は変動する。
しかし、ここでおかしなことに気付く。
何でXPで出てくるような負荷係数(カンタンに言えば、どのぐらい作業効率がいいかを数字で表したもの)を計ったこともないのに、AさんでもBさんでもSEだったら1人月=150万円という数字が出てくるのだろう?
こんなことはあまり大声で言いたくないが...
「ユニットテストもロクに書けないやつ」と「XPer」を同じ値段に設定するのは、「スケボー」と「車」のどちらにも5,000円と同じ金額の値札を貼ってるのと同じじゃないのか?
Peter Seebachさんの言う、「特定のプログラマーが他の労働者の100倍、もしくはそれ以上の生産性を示したことを報告しました」という問題に似ているかも知れない。
100倍は極端としても、ユニットテストを書けるかそうでないかで、生産性は2倍ぐらい普通に変わってくる。
そりゃそうだ。工程の50%近くを占めるテストが、ユニットテストで実装中(というかTDD(テスト駆動開発)だと実装前か...)に組み立てられ、デバッグはほとんど必要なくなるからだ。
特にハマると何時間、何十時間とかかるデバッグの工程は、ユニットテストのおかげでほとんど無に等しくなる。
当然、品質も比べ物にならない。
なぜなら、実装しか書いていないコードには、何も信頼の根拠がないからだ。
いつ壊れようが、いつ使えなくなろうが、おかしくない。
普通の神経の持ち主であれば、高速道路でいきなり止まる車を買う訳がない。
なのに、ソフトウェアのこととなると、平気でそれと同レベルのことをやっている(ちょうど、払う金額も同じぐらい)。
「会社の金だからいいじゃん」と言っている不埒な輩は、一度100万円の札束を自分の貯金からおろして、新宿高島屋の屋上(別にここにこだわる必要はない)からバラ撒いてほしい。
できる訳がない。
100万円とは、そのぐらい重いのだ。
SIer、開発者に関わらず、実際に100万円を自分の貯金からおろして(バラ撒かなくてもいいから)、その重さを手で実感してみるといい。実際の重量ほど軽くはないはずだ。
そんな訳で、1人月=100万円とごくごく自然に捕らえているのも牧歌的過ぎるし、明らかにスキルの違う人を指して「どちらも大して変わらない」と扱うぐらいだから、感覚が相当平和ボケしている。
そんな状態で「開発機能」単位という見積もりが果たしてどのぐらい役に立つのかわからないが、XPのストーリーカードを使った見積もりは、この「開発機能」単位の見積もりそのものだ。
もし、「人月」というあまりにも根拠のない見積もりに嫌気が差しているなら、XPのストーリーカードを使った「開発機能」単位の見積もりを試してみてはどうだろう?
「人月」単位と「開発機能」単位、どっちの方がいいかげんな数字か、すぐに分かるはずだ。
頭数でしか戦力を数えられない将軍には、戦いを勝つための戦略は考えられない。