特別天然記念物

日本ぱんだ(@nihonpanda)です。エンジニアです。プログラム談義とかします。

20万人月の作業を1人でやる話 〜1万7千年生きたSE〜

昔々、具体的には約1万7千年前の旧石器時代、大学の情報工学科を卒業して、新卒22歳でSIerに就職した男(以下SE)がいました。

SEはある日、上司に言われました。
「2016年くらいに、銀行で大規模な基幹システムが必要になるらしいから、今から君一人で作り始めて。工数は20万人月ね。」
そういうと、上司はシステム企画構想やそれに伴う提案書、ノートPCを1つSEに渡して、自分は狩りに出かけました。
途方にくれるSE氏、ここから彼の約1万7千年(1万6666年)にも及ぶ、20万人月のシステム開発が始まるのでした。

  • 約1万7千年前
    |- 要件定義書を作成着手。
    | 周りの人達は狩りをしながら生きている。
    |
  • 約1万6千年前
    |- 要件定義書の作成が完了する。
    | 基本設計に着手する。
    | 土器を作り始める人が現れる
    | 徐々に日本列島が大陸から離れ列島になっていく。
    |
  • 約1万4100年前
    |- 基本設計がとりあえず作り終わったので、120年に及ぶレビューが始まる。
    | 人が犬を飼い始める。
    |
  • 約1万3500年前
    |- 基本設計が完了する。
    | 詳細設計に着手する。
    | 日本列島が完全に大陸から離れる。
    |
  • 約1万2000年前
    |- 詳細設計のレビュー中にムー大陸が沈む。
    |
  • 約1万700年前
    |- 詳細設計が完了する。
    | 3000年に及ぶ製造工程に着手する。
    |
  • 約1万年前
    |- 氷河期が終わる。
    | ホモ・フローレシエンシスが絶滅し、人類はホモ・サピエンスのみになる。
    |
  • 約7千700年前
    |- 大体コードが書き終わる。
    | 180年に及ぶレビューが始まる。
    | 世界では農耕が始まる。
    |
  • 約6千700年前
    |- UT開始。
    |
  • 約5千年前
    |- UTで見つかったバグを直したりする。
    | 弥生時代が始まり、土器がシンプルになる。
    | 日本でも稲作を始める人が出てくる。
    | オフィスが竪穴住居から高床住居になる。PCの充電器をネズミに噛まれなくなる。
    | たまに来る渡来人が、アジャイルとか言い出す。
    |
  • 約4千600年前
    |- バグフィックス完了。
    | 結合テスト項目書を作成し始める。
    |
  • 約4千年前
    |- マンモスが絶滅する。
    |
  • 約3千年前
    |- 結合テスト項目書の作成が終わり、テストを開始する。
    | 古代エジプト文明・メソポタミア文明などのの初期の文明が現れる。
    |
  • 約2千年前
    |- 結合テストが、発見されたバグの修正も含めて完了する。
    | バグフィックスしてる間に、前漢やができて滅び、高句麗ができる。
    | ローマ帝国が出来上がったりもしてた。
    | 日本はまだ弥生時代
    | 総合テストの項目作成に着手する。
    |
  • 約1230年前
    |- 総合テスト項目書が作成完了する。
    | その間に、邪馬台国ができたり、古墳時代が始まり、飛鳥時代が始まり、
    | 奈良時代が始まる。
    |
  • 約1230年前
    |- 総合テスト項目書のレビューが終わる。
    | ポルトガル王国が建国される。
    | 総合テストを開始する。
    |
  • 約248年前
    |- 総合テストが完了する。
    | 日本ではすでに江戸時代後期、10代将軍・徳川家治の時代。
    | ヨーロッパでは産業革命ど真ん中。
    |
  • 約174年前
    |- 世界最初のプログラマーとされているエイダ・ラブレスが、
    | 世界最初のプログラムを書く。
    |
  • 約70年前
    |- 第二次大戦中、世界最初のコンピュータ「ENIAC」が完成する、
    |
  • 約50年前
    |- バグフィックスも終わり、検品&納品作業を開始する。
    |
  • 今年
    |- 全作業終了。終止一人で作業していたSE氏、一人で打ち上げしてから家に帰る。
    |

まとめ

事の発端は、いつものようにTwitterに張り付いていた所、久しぶりにM銀行の20万人月案件の話が流れて来たことです。
4000億の費用がかかり、ピーク時は8000人がアサインされていたという20万人月案件。
なんとなく割り算しながら、「新卒で入って定年するまでずっと働く人が400人以上いるのかー」とか「一人でやったら1万6666年かかるのかー。」とか考えていたんですけど、
そこから、「約1万7千年前っていつだ?」とか「何の時代にどの工程やってればいいんだ?」なんて思っちゃったんです。

各工程の時間配分に関しては、IPAソフトウェア開発データ白書の活用 (PDF)をベースに、計算して出しました。変えてる所は多分にありますが。 まさかIPAの方々も、自分たちが作った資料がこんなくだらない話のために使われるとは思いもしなかったでしょう。

ちなみに、SE氏が40年で2億円の給料を貰えるエンジニアだと仮定した場合、SE氏は850億円の給料がもらえる計算になります。多いのやら少ないのやら。

年表上の案件以外の出来事は、Wikipediaのみを見て書いているので、間違ってる可能性も大いにあると思います。言ってもらえれば直します。ついでに算数が間違ってる可能性すら僕は感じています。

まぁあれですね、おっきい仕事はみんなでやろう!ってまとめでいいですかね。

以上でーす