» 【第47号】要件定義

株式会社データ総研 データ総研のオンサイト教育
製品案内 DMBOK ITコンサルティングサービス ITコンサルティング事例 紹介セミナー 教育コース 技術情報 DRIブログ 会社概要
技術情報
【第47号】要件定義

DRI通信47号「要件定義」2000.8.1
やや早めに梅雨が明けて、非常に暑い日々が続いています。そのなかで風邪
を引いたりしている人もありますが、皆様お元気ですか。森総理もITとい
うご時世、情報関係の景気はやや持ち直しているように感じます。
さて今月は、要件定義という題で、システム開発方法論を考えてみます。わ
れわれ、しばしば大手SIのプロジェクトの上流工程で、データモデリング
のお手伝いをさせて頂くことがありますが、不思議に思うことがあります。
それは、進捗管理がガントチャートで行われ、PERT図が使われない、そ
のためいつまでに要件定義が終わるのか、どのようなドキュメントが作られ
るのか、がはっきりしない、ということです。永らくその理由を考えていま
したが、ふと最近そのヒントらしきものを見つけました。そこでその仮説を
述べ、皆様のご意見を伺いたいと思った次第です。


要件には、性能要件やコスト要件もありますが、ここでは機能要件だけを考
えます。企業は「 顧客ニーズに基づく良い商品を安く速く作る」といった目
標のもとに、組織を作り分業しています。各組織はその業務遂行のために情報
を必要とし、またその業務遂行の結果発生した情報を報告します。必要な情報
はデータベースから読み取り、生成した情報はデータベースに書き込むとい
うのが、データ中心のアーキテクチャですが、次第にこの方向に進みつつあ
るといえるでしょう。
このときの情報は、人間が読み書きできるものですから、原則として画面・
帳票の形式をとります。したがって「要件定義とは、この画面・帳票をいつ
誰が誰当てに作るか、そこにはどのようなデータが記述されるか」になりま
す。「それがどのようなデータか、また他のデータとの関係いかに」を明ら
かにするためにデータモデリングが行われます。
ユーザはそのデータがメインフレームに存在するのか、NTに存在するのか
に頓着する必要がありません。ユーザ要件とは、本質的に実装独立、概念レ
ベルのものといえます。ただし決してアバウトなものではありません。主要
項目だけあれば、あとはあっても無くても良い、製造担当者にお任せ、とい
うわけではありません。もちろん100%全項目となると永遠に決まりませ
んが、当該プロジェクトで実装するものは、ユーザ要件としてユーザが決め
なければなりません。ユーザごとのニーズの違いはDAに調整してもらいます。
システム設計とは、目的を達成するためのアーキテクチャを定め、構成部品
を明らかし、実装に変換すること、すなわち次の(1)→(2)→(3)の
過程をとることであり、(2)が明らかにされるべきユーザ要件であると考え
ます。
概念 物理
概要 (1) (4)
詳細 (2) (3)
(1)→(2)は、業務モデルおよびデータモデルを用いて、個人差少なく実
施できます。(2)→(3)も、部品が固定されているので、やはり個人差
最小で、また精度高く所要工数見積を行うことができます。
ところが、先に述べた大手SIは(2)を省略し、(1)→(3)または
(1)→(4)→(3)進め方を行っているように見えました。すなわち概
念は概要で済ませ、物理の世界に早期に入り、物理の世界で部品展開を行う
のです。おそらく担当者は永らく現行システムの開発・保守を通じて現行シ
ステムの物理、すなわち物理ファイルや物理プログラムになじみ、これから
の差分として新規システムを考えた方が得策であるとの計算、あるいはそれ
しかできないからかと思われました。
すなわち「マイナーな保守」に対する方法論「物理差分メンテナンス」を、
再構築や新規システム開発に適用しようとしている。「どうせ現行の物理環
境は大幅には変えられない、物理ファイルと物理プログラムを変更し動かせ
ば良いのだ」というのならば、ガントチャートを使うのが良く分かる。戸田
コンサルタントの言う「詳細設計決戦主義」や、折角作った概念DB構造図
を無視し、現行ファイルを持ち出してきて、これを修正して対応したがる理
由も良く分かります。
この方式であると、設計における詳細化は、実装環境/ソフトウエア環境で
行われる。どうしても機能分割になり、SAのスキルに左右される。多忙な
スーパーSEが、分割を行うまでは、今後の作業が見えないから、ガントチ
ャートとして書くしかできない。その試行錯誤でやりなおしが頻発する。ユ
ーザは、ITの混入するドキュメントであるため、十分レビューできず、実
装が終わってから、論理レベルの仕様変更が発生する。
われわれも(2)が完全に終わるまで(3)を開始すべきでない、とは考え
ていません。パーフォーマンス検討のため、早期に物理ファイルを作成し、
インデックスの張り方を試行するなどは大いに必要と考える。しかし(2)
はメンテナンス対象として完成すべきものと考える。メンテナンスは常に
(2)にもどって行う。
将来はASPによるアウトソーシングが、一般化すると考えますが、そのと
きのアウトソーシング契約は(2)によって行うべきと考えます。(2)は
どんなにアウトソーシングしても、ユーザ企業として、責任を持って管理す
べき最後の砦ではないでしょうか。