« XEADの国際版が登場 | トップページ | 詳細設計とコーディングの融合 »

2005.09.18

レガシーの呪いを解くには勇気が必要だ

大きなレガシーシステムはたいてい「動いているが、なぜそのような作りになっているか誰もわからない」といった状態になっている。下手に変更すればシステムが動かなくなることを担当者は身にしみて知っている。日々の業務が動いていることのほうが重要なので「なるべくシステムを変えない」ことがシステム部門としての至上命令になっていたりする。事業を支援するはずのシステムが、その発展を阻害しているなんて悪い冗談だ。

さすがにこのようなシステムなら、もののわかる経営者であれば危機感を覚える。絶え間なく変化する市場に合わせて新しいサービスを考案して事業に組み込まねばならないからだ。変化を禁じられた事業なんて死んだも同然だ。そこで大きな予算を用意して刷新プロジェクトを立ち上げるのだが、けっきょくもともとの構造をそっくり別のプラットフォームに移し変えただけのようなシステムが出来上がることがじつは少なくない。

理由はいくつかある。まず、新たに設計されるデータベース構造が旧システムの仕様に必要以上に影響されるためだ。「本来あるべき姿」を洞察するための訓練を主任設計者が受けていないため、現在のシステムのあり方を「基本設計のヒント」にしようとするためともいえる。ここでは詳しく述べないが、現状分析は基本設計の前ではなく後で実施可能だし、そうすべきだ。

とはいえ、仮に現在の姿とは大きく異なる「本来あるべき姿」が基本設計の段階で洞察されたとしても、その姿を実現するのはなかなか難しい。「データ移行」の苦労を引き受けなければならないからだ。正規化されていないデータベースの内容を、正規化されたデータベースに移行する。それは文字通りの難行だ。ゼロから1を生み出すような巧妙(?)な移行用プログラムを書いては走らせ、ときには大量のデータを手分けして入力したり突き合わせたりしなければならない。

その膨大な工数を引き受ける事態はシステムベンダーとしては避けたい。ユーザー側にまかせたとしても、そのためにカットオーバーが遅れる可能性が高まる。だから、データベース構造を含めて抜本的に作り変えることをしないのが、システムベンダーとしての賢い設計方針ということになる。

また、混乱したシステムのあり方は往々にして業務体制の複雑化をまねく。そのような「本来不要な業務」のために、人員も業者との取引体制も水ぶくれする。ゆえに、システムを全面刷新するには各方面との政治的な交渉も必要だ。もちろんユーザーとしては、現在の業務体制をそのまま新システムに持ち込めるほうがずっと楽なので、変わり映えのしない新システムの仕様はむしろ歓迎される。

かくして企画立ち上げ時の「抜本的な革新」の理念はなし崩し的に無力化され、プロジェクトはいつのまにか「縦のものを横にする」ためのものに変質する。大枚をはたいて縦のものを横にすることの不合理。

業務システムが一度このパターンに陥ったら、抜け出すのは難しい。呪いのように代々のシステムを縛り続ける。その呪縛から脱するには、どこかのタイミングで抜本的にデータベース構造を見直し、データ移行や業務体制の刷新にともなう労苦を甘受しなければならない。ゴルディアスの結び目を一刀両断したアレキサンダーのような人物が必要になってしまう。

|

« XEADの国際版が登場 | トップページ | 詳細設計とコーディングの融合 »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: レガシーの呪いを解くには勇気が必要だ:

» [開発]レガシーの呪いを解くには勇気が必要だ [カレーなる辛口Javaな転職日記]
http://watanabek.cocolog-nifty.com/blog/2005/09/post_985e.html いや技術者だろう.もし今,レガシーシステムを再構築しても,それを日々改良し続けられる技術者なしにはレガシー化は時間の問題. でも,本当に一番必要なのは,金と,それを出してシステムを刷新するという経営判断なんだけどね. ... [続きを読む]

受信: 2005.09.23 11:46

« XEADの国際版が登場 | トップページ | 詳細設計とコーディングの融合 »