Click here to visit our sponsor


□------------------------------------------------------------------□
□ A社DWH構築におけるプロトタイピングの適用
□------------------------------------------------------------------□

---------------------------------------------------------------------
(設問ア)
---------------------------------------------------------------------
1.A社DWHの構築
---------------------------------------------------------------------
1.1.開発の背景
----
 A社は東日本を中心に100店舗を展開する中堅クラ
スのスーパーである。A社においてはPOSレジスター
の導入は比較的早い時期に完了していたが、その利用は
レジの省力化など業務効率化に止まっており、POS
データをマーチャンダイジング(品揃の計画)業務に活
かすまでには至っていなかった。これはデータ提供の仕
組みが、ホスト計算機によるオンライン画面や帳票によ
るものであった為であり、実際のデータ分析にはパソコ
ンへの再入力を余儀なくされていた事による。
 一方でA社は西日本への進出を計画しており、より戦
略的な品揃を実現する為に、単品管理の強化を目的とし
て、データウェアハウス(以下DWH)の構築が企画さ
れた。
 私はA社DWH構築に営業時点より参画しており、受
注後はSEとして開発に携わる事となった。
----
1.2.プロとタイピングの内容
----
 A社では、本社・店舗・物流センターを中心にパソコ
ン約600台が分散配置されており、度重なるOS・ミ
ドルソフトウェアのバージョンアップに伴い増加の一途
を辿るTCOに歯止めをかけるべく、新規プロジェクト
にはイントラネットを採用するとの方針を掲げていた。
DWH構築についても例外では無く、検索のフロントエ
ンドにはブラウザを使用する事が前提条件となった。
 しかしながら私の勤務するE社には、イントラネット
での開発経験が無く、本格的な設計・開発フェーズに入
る前に、プロトタイピングを実施し、その特性を把握す
る事とした。尚、プロトタイピングの内容は、DWH活
用の典型的なパターンである、検索条件入力・結果表示・
ドリルダウンの3画面である。
---------------------------------------------------------------------
(設問イ)
---------------------------------------------------------------------
2.プロトタイピング適用の目的と効果
---------------------------------------------------------------------
2.1.開発生産性の検証
----
 前述の通り自社には、イントラネットの開発経験が無
く、プロトタピングに先立ちプトジェクトメンバーとの
相談結果、以下の3点を検証項目として決定した。
 a.クライアント・サーバ(以下、C/S)を使用して
  きたA社にとって、満足できる操作性を提供する事
  が可能であるか。
 b.全てをサーバーで処理するイントラネット方式にお
  いて、性能要件を満足する事が可能であるか。
 c.開発実績が無い事から、クライアント・サーバーの
  1.2倍の開発工数で見積りを行っているが、それ
  を達成する事が可能であるか。
 本論文では、特に重要なポイントとしておいた、開発
生産性の検証について述べる。
----
2.2.プロトタイピングによる効果
----
 プロトタイピング当初、プロジェクトメンバーによる
評価では、イントラネットの開発工数は、C/Sに比べ
2倍程度が必要であるとの見通しであった。その主な理
由は以下の通りである。
 a.C/Sでは画面を構成する部品が充実しているが、
  イントラネットでは全てをHTMLおよび、
  HTMLを生成するサーバプログラムをコーディン
  グしなければならない。
 b.C/Sに比べ開発環境が貧弱であり、具体的にはデ
  バグの為の変数表示も、命令を埋め込むなどの原始
  的な方法に頼らざるを得ない。
 しかしながら、このままではプロジェクトが赤字にな
るどころか、スケジュールも満足できずA社にも大きな
迷惑をかける事となる為、プロトタイピングにより開発
生産性を上げる事は必須の課題であった。
 そこで、プログラムパターンや、コーディング・テス
ト等可能な限りの標準・手順書を準備して、プロトタイ
ピングを開始した。これらのブラッシュアップを進めな
がらプロトタイピングを実施した結果、開発工数は
C/Sの1.1倍に納める見通しを立てる事ができた。
----
2.3.効果を引き出すための工夫
----
 今回のプロトタイピングでは開発生産性の検証を主た
る目的として進めた。従って、プロトタイピングといえ
ども本番の開発並に、外部設計・内部設計の仕様書を作
成し、開発を進めていった。これは、得られた生産性を
より精度の高いものにする事を目的としたものである。
 また、作成したプログラムはそのまま本番環境で使用
する事は無かったが、開発工程で参画するプログラマの
導入教育に使用できる様、ソースコードのレビューを繰
り返し、徹底的なパターン化・コメントの挿入を行った。
これらの取り組みは結果として、プログラムの品質向上
にも貢献する事となった。
---------------------------------------------------------------------
(設問ウ)
---------------------------------------------------------------------
3.プロトタイピングの評価と改善
---------------------------------------------------------------------
3.1.プロトタイピングの評価
----
 プロトタイピングを終え、実際の開発を行った結果、
開発工数はプロトタイピングの見通しまでは達成できず、
C/Sの1.2倍で完了する事となった。しかしながら、
プロトタイピングによる標準化等を行わなかった場合、
2倍以上の工数を要したであろう事を鑑みると、充分に
効果を発揮できたと評価できる。
 一方で、操作性についてはC/Sに比べ見劣りがする
部分が存在するものの、プロトタイピングにより早期に
ユーザに認識して頂く事が出来た事、A社システム部門
によりTCO削減の方針と合わせて説明して頂いた事に
より、大きな混乱を招く事は無かった。
 もう一方の性能については、プロトタイピングでの検
証も行ったが、DB規模・トランザクションについて本
番並の環境を用意する事ができず、総合テスト以降での
チューニングに委ねる部分が大きかった。プロトタイピ
ングにおいて性能を評価する場合には、擬似的にトラン
ザクションを発生させるツール等の準備が必要であった
と反省している。
----
3.2.プロトタイピングの改善
----
 技術革新の激しい今日、これからもプロトタイピング
による事前の検証は避けて通れないであろうと考える。
またプロトタイピングでは、目的・方法・期限を予め決
めて取り組まなければ、単に経験を積んだに過ぎない結
果となる。
 実際に今回のプロトタイピングでは、方法の詰めが甘
く性能を評価するには至らなかった。
 限られた工数で有効なプロトタイピングを行う為には、
上記に留意し取り組んでいきたいと考えている。





[ 戻る ]