なぜ友達で集まって行う開発は炎上するか
「遅れているプロジェクトへの人員追加は開発を更に遅らせる」という経験則がある。これは主に頭数が増えることによる連絡業務とかそれまでの仕様の確認が発生するからである。AとBの2人だけで仕事をしている場合、連絡経路はA-Bの1本だけで済むが、ABCの3人に増えるとA-B, A-C, B-Cの3本の経路が必要になる。4人なら6本、5人なら10本、6人なら15本。人が増えれば増えるほど仕様のすり合わせとか情報共有がネックになりその分の業務が増える。
アウトプットは頭数に比例しては増えない。チームに誰かを加える場合、その者の貢献は最低でも人数の増加による連絡業務の発生を上回っていなくてはならない。そうでなければ貢献どころか正味足を引っ張っていることになる。
この理屈を敷衍していくとパラドクスに行き当たる。即ち、少人数(例えば1人)で開発をする場合は少々腕が悪くてもまとまるが、大勢で共同作業をする場合は1人1人の技量が相当に高くないと容易に爆散炎上する。多人数でいることにより連絡や政治の問題が始終発生する。構成員がそれを上回る速度で正味の仕事を片付けなければ進捗はマイナスになる。誰の意見を通すか、誰を外すか、どうやってビジョンを共有するかといった外縁業務に終始して永遠に何も完成しない。
ゆえに「経験が浅いから」「あまり自信がないから」という理由で人数を集めると期待と正反対の結果になる。技量が足りない場合は尚更1人で片付けねばならん。10人の痩せっぽちは1人の痩せっぽちに比べて10倍の土嚢を運べるだろうが、10人の鈍才は1人の鈍才よりもはるかに生産性が低い。そいつらが生み出すのは喧嘩と曖昧な企画書だけだ。
1人でできない事は2人ではもっとできない場合がある。
Tweet