• 2019年3月4日月曜日
アリスト戦記
アリスト戦記 https://blog.aristo-solutions.net/2019/03/blog-post_4.html

三菱食品インテック大訴訟

ぎょえ~。何じゃこりゃ。

[スクープ]127億円の賠償求めるシステム裁判、三菱食品がインテックを訴えた理由
食品卸最大手の三菱食品がシステム開発の失敗を巡り発注先のインテックを提訴した事件の全貌が、2019年3月4日までに日経 xTECHの独自取材で判明した。原因はビジネスルール管理システム(BRMS)を利用したEDI(電子データ交換)システムの構築失敗にあった。
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/00001/01732/?P=1

何でこんなことになってしまったんや。(´・ω・`)

気になるところ

記事内容としては三菱食品がプロジェクト失敗の責任を追求する為にIT企業インテックを訴えたというものだが、この記事だと何とも分からんな。

訴訟のポイントは「プロジェクト全体のうち、インテックが負っていた責任はどの範囲までなの?」ってところなんだけど、記事から読み取れるものではないな。

僕が記事を読んで気になる点は、ここ。

だが、取引先ごとの条件をBRMSで記述し直す移行作業に遅延が発生した。当初は初期システムを稼働させる第1段階で取引先70社の移行作業を完了させるはずだったが、実際に完了できたのは1社にとどまった。2016年に入っても移行作業の遅れは解消しなかった。

これ、古い糞ソースが読めんかったんやろ。


EDIシステムの複雑さ

EDI(電子データ交換)システムとは、早い話がテキストファイルを送受信するだけのシステムなんだわ。
csvかtsvか固定長かはその時次第だが、とにかくテキストファイルをベロッって送るだけ。

ただこの時、ファイルに記述ルールがあるねん。


  • 左から2文字目と3文字目は企業コードとする。
  • csvを分割して12番目が商品の金額である。


とか。

って聞くと簡単そうに思うだろうけど、実はこれが必ずしも合理的な仕様にはなっていないんだな。

  • 左から2文字目と3文字目は企業コードとするが、その企業が「14」の場合は、企業個別特殊対応として商品の金額から2%を値引きした値を取り込む。

とかとか。

本来はDBなどの外部マスタで制御されているべき要素がオンコードで制御されている。

だから企業が合併して企業コードが変わるとロジックが破綻するから、EDI処理上は合併前の企業コードを使い回して誤魔化して、数年後には何でそんな誤魔化しをやっているのか分かんなくなっちゃうとか、そんな感じ。

もちろん設計書も無い。

レガシーシステムである

しかも、EDIってのはインターネットが無かった時代から存在するレガシーシステムなのよ。

上記のようなへんてこりんな仕様が30年前のC言語とかで書かれていたりすることがある。
システム開発のノウハウが未成熟であった古い時代のソースってのは、大概はシンプルにソースの品質が悪いことが多い。
同じソースがコピペ祭りで増殖しているくらいザラ。

一方、最近のEDI開発の主力部隊は若手のJavaエンジニアである。

これはもう、ソースが限りなくブラックボックスに近くて読めたもんじゃない。

結果どうするかって言うと、例えば直近何年分のデータを全部伝送テストして結果が同じであることを確認し、差異があったらその観点で分析するとか、トライ&エラーの戦いになる。

見積もり困難

となると、必然的にプロジェクトの見積もりが難しくなる。

取引先70社分の仕様があって、たまたまシンプルな会社の所はスルッと通るけど、へんてこりんな会社の所は壊滅的に破綻する。

やってみなければ分からないが本音なんだけど、仕方無しにある程度のリスク係数を積んでプロジェクトスタート。
そして予想が外れ、デスマ、遅延祭り。

こんなところではないだろうか。

決断力を求む

まあ、上記は全部推測なんだけど、ここだけは言える。

だが、取引先ごとの条件をBRMSで記述し直す移行作業に遅延が発生した。当初は初期システムを稼働させる第1段階で取引先70社の移行作業を完了させるはずだったが、実際に完了できたのは1社にとどまった。2016年に入っても移行作業の遅れは解消しなかった。

こんなのはね、明らかな異常事態なのよ。

予定進捗率1/70だよ?
予定の1.4%しか進んでないんだよ?

ベンダーの技術力とか、プロジェクトマネージャーの手腕とか、そういうレベルを超越して根底から崩壊している。
事前の見積もり、もしくはプロジェクト計画の段階で全く想定していなかった天変地異的何かが起きていたことは明らかじゃないか。

にも拘わらず、プロジェクトは続行した。
何故続行したのか?

もちろんIT業界あるあるで、中断したくても利害関係が絡み合って中断出来なかったんだろうとは思うけど。

でもさ、


「予定の1.4%しか進んでないだぁ!? 何考えとんじゃ、即刻中止じゃボケ!!」


くらい、どんな素人でも分かるはずなんだよ。
ましてや三菱食品+インテック+コンサルなんて布陣で分からんなんてありえない。
暴走族がシステム作ってるわけじゃねえんだぞ。

つまり、実力的に本来可能であったはずの意思決定と正常な判断が、現実には諸事情により発揮出来なかったという。
この点が実に残念に思う。

成功を目指すばかりではなく、撤退ポイント。
マイルストーン、リスクマネージメント。

IT業界を長く生き抜く為には、その辺りを重々勉強しなければならないと改めて思った。

0 件のコメント:

コメントを投稿