今日は時間があったので、前々から気になっていた100億円をドブに捨てた京都市の基幹システムオープン化事業の資料を読み込んでみた。
現役SEとしてまず気になったのは次の3点
①30年前に構築し改良を重ねてきたCOBOLシステムの仕様を把握してる人はいるのか
②第三者機関の調査報告書によると失敗の原因は主に受注会社にあるとされているが本当か
③なぜマイグレーション(システムの単純移行)を選択したのか
既に色々と分析されているので詳細は避けますが、
①と③については、誰も現行システムの要件を把握してないからマイグレーションを選択したのだろうと容易に想像でき、要件が不明なのであれば何を以ってシステムが正しく動作しているのかを検証するには、現行システムの出力結果と新システムの出力結果が完全一致しなければならないという不確かな検証をするしかなくなってくるので、これが最も大きな遅延原因だと思われる。(後述)
②はそもそも第三者機関と言っても京都市が委託している以上、京都市寄りの調査結果になりがちやけど、その調査報告書に受注会社が聞いてこなかったから必要な資料を提示しなかったと重大な証言が書いてあった。そんなことでは受注会社も要件定義やパイロットテストが正しくできるはずもなく、京都市の責任の方がより重大だと感じた。
さらに言うならシステムズが失敗後、再受注したキヤノンITソリューションズも失敗したなんて、その事実だけで発注側にかなりの失敗要因があると思わざるを得ない。
要件定義が誰もできないから、何が何でも現行システムの出力結果と新システムの出力結果が一致しなければ正常動作していると見做さないと京都市は言うのだろう。それはある意味では当たり前の要求なんやけど、そもそも現行システムの要件を誰も把握してないなら、現行システムの出力結果が本当に正しいのか、新システムの出力結果の方が正しいのではないのかという判断が誰にもできないということ。
当然、その検証もしたのだろうけど、仮に京都市の担当者が現行システムの結果の方が間違ってると思って報告しても誰がそれを承認できるのか。
それを承認できるのはもちろん門川市長のみやし、門川市長も自分の責任だと言っているけど、もし現行システムの不具合が莫大な賠償金が発生するような不具合だったとしたら、上長へのエスカレーションの過程で間違いなく矮小化され、なかったことにされ、門川市長にITスキルがあったとしても問題に気づけなかったのではなかろうか。
そもそも30年前のCOBOLシステムをマイグレーションすること自体がデスマーチ。
「京都市の基幹システムはかくあるべし」という仕様を確定し、その仕様通りに動作しているのなら、現行システムと出力結果が違ったとしても、新システムの方が正しいとして決裁するしかないのである。
市長が判断すべきはシステム開発の中断ではなく、新システムの承認だったのだ。