先日、セブン―イレブン・ジャパンが情報システムを刷新するのに520億円の投資を行うと発表がありました。(コンビニ、欠品ゼロへ セブン、10年ぶり新システム 520億円投資)
みずほ銀行は4000億円もの巨額のシステム投資をしましたが破綻のうわさも出ているように、システム投資は失敗に終わることが非常に多い。特に巨額になればなるほど、サクラダファミリアのようにいつ完成するか分からない状態になりがちです。
そこで巨額のシステム開発は、なぜ破綻するのか、何度もそのような現場に立ち会ってきた立場から一般の人にも分かるように説明したいと思います。
見積りは勘、終わるかは運次第
システム開発は建築と似ていますので(これがそもそもの間違い)、建築に例えますと……。
- お客様からどんな建物が良いかヒアリング
- お客様の希望を元に設計を行う
- 基礎(土台)を作る
- 外形を作る
- 外装をする
- 内装をする
というような順に作られていきます。
しかし、システム開発は、建築よりもお客様が完成形をイメージできてないことが多いという問題があります。もちろん、建築でも外装や内装での問題が起きることが多いでしょうが、システム開発では、その変更が建築よりも多い訳です。
しかも、外装や内装の変更で、土台まで変更することが起きやすい構造になっています。
ですから、土台を変更すると、更に別の変更が発生することになり、それが土台の別の部分の変更に発展する。
つまり、
土台が変わる
→ 建物を変更する必要が出る
→ 土台に矛盾が出る
→ 土台を変更することになる
→ (最初に戻る)
というループが起きるのです。
例えば、以前に数十億円規模の証券会社のシステム開発に参加しましたが、
土台の変更が自分の担当範囲に影響ないか調査
→ 影響があったとき、自分と担当範囲の修正(書類・プログラム)
→ 更に、土台の変更が必要になったとき申請
→ 土台の担当者が申請を採用するか検討
→ 土台の変更
→ (最初に戻る)
という作業を、毎週200人近い技術者が行い、それが1年以上も続くのです。
「いつ完成するんだろう」
というサクラダファミリアの担当になったような気分が分かってもらえるでしょうか。
みずほ銀行のシステムでは最大8000人の技術者がいたそうですから、少しずつでも完成に近づくというよりも、毎週完成度が落ちていくという日々が続いたことでしょう。
このループがどれぐらい続くかは、勘(経験則)で見積もって、バッファとして見積額や納期に上乗せします。
運よくバッファ内に収まれば成功、収まらなければ失敗となります。
変更が、「お客様の責任か」という駆け引きもしますが、少なくとも当初の納期は守れません。
「バッファに収まらない事態」になったときは、大量の変更が発生している状態で、とにかく人海戦術で直すしかなく、8000人もの技術者を集めることになったりします。
勘と、運と、人海戦術という泥臭いことになるため、「IT土方」などと揶揄されたりするわけです。
どうすれば良いのか?
「システム開発は建築に似ている」とされ、建築の管理手法などを真似てきたことが、そもそもの間違いでしょう。
建物では、土台を入れ替えるということはほとんど不可能ですが、ソフトウェアなら最初から切り離せるように作っておけば、後で違う土台に乗せ換えることをいとも簡単にできます。
ですから、最初は仮の土台の上で建物を構築し、出来上がった建物に合わせた土台を作り乗せ換えればよいのです。
それによって、
土台が変わる
→ 建物を変更する必要が出る
→ 土台に矛盾が出る
→ 土台を変更することになる
→ (最初に戻る)
という地獄のループが必要なくなります。
土台を後で作る方法では、小さなシステムでは数回もあれば効果は数十%程度の改善でしょうが、サクラダファミリアのようなシステムでは、数十倍(数千%)の改善が期待でき、勘や運の要素を消せます。
しかし、そういうやり方は、既存のシステム開発会社ではできません。
なぜかというと、
■ 経営者
技術者の頭数で売り上げが決まるため大幅な売上減になる。
大量の技術者が不要になる。
■ 技術者
今までのやり方が間違っていたことを認めなければならない。
スキルがリセットされ、プログラムを書けないと務まらなくなる。
……莫大な投資をするお客様には、まったく関係のない理由です。
それでも完成すればまだマシで、先ほども書いた通り、「完成するかは運次第」なのです。
システム会社の都合で、何百億、何千億円も使ったギャンブルをすることになったセブンイレブンや、みずほ銀行は本当に気の毒で、成功をお祈りいたします。
ちなみに、技術的なお話はこちら。
株式会社ジーワンシステム
生島 勘富
mail:[email protected]
Twitter:@kantomi