納期・コストを削減する“開発案件3分割”の術エクスプレス開発バイブル(5)(2/3 ページ)

» 2009年08月17日 12時00分 公開
[西村泰洋(富士通),@IT]

各種処理機能を業務上の重要度に応じて3つに分ける

 さて、ここからがエクスプレス開発ならではの方法です。もう1歩踏み込んで、数ある処理を2つでなく3つに分けるのです。この3分割という考え方自体は発想しやすいと思いますが、「どう3つに分けるか」は意外と難しいものです。ここではその方法をお教えしましょう。

 まず、カットオーバー当日までに「不可欠な処理」と「不可欠でない処理」の2つに分けるところまでは同じです。その後、「不可欠な処理」をさらに2分割して、全体で3つのカテゴリに分けるのです。具体的には、カットオーバー当日までに“完成形”が求められる処理機能と、“不完全でもよい”処理機能に分けます。

 例えば、物流システムのメイン機能となる「出庫処理機能」は、メニュー画面上で必要なデータを入力し、実行ボタンをクリックすると、DBを更新して結果を表示する、といった処理を行います。そのため、要求仕様どおりのメニュー画面を備え、かつ、命令どおりに実行できる──すなわち“完成形”が求められます。

 一方、核となる機能の 1つとして「出庫一覧」機能もあります。こちらは、任意の対象日における出庫商品の一覧を表示・出力する機能ですが、メニュー画面を使わなくても、ファイル起動やコマンドプロンプトで実行することができます。すなわちメニュー画面が“不完全でもよい”のです。

 このうち、前者を『カットオーバーまでに不可欠な処理 1』、後者を『カットオーバーまでに不可欠な処理 2』とし、『カットオーバーまでに不可欠でない処理』と合わせて3つのカテゴリに整理したのが以下の表1です。

2分割
カテゴリ
3分割
業務処理例
利用者
カットオーバーまでに不可欠な処理 カテゴリ1 カットオーバーまでに不可欠な処理1
(メニュー画面からデータ処理まで、完全な機能が求められる処理)
出庫処理
(メニュー画面から出庫する商品の商品コードと出庫数を入力し、実行すると画面上の在庫数が減るという処理)
オペレータ
カテゴリ2 カットオーバーまでに不可欠な処理2
(メニュー画面は不完全でもよい処理)
出庫一覧
(任意の対象日における出庫商品の一覧を出力する処理。対象日を入力し、表示したデータをプリントアウトする)
オペレータ
or
SE
カットオーバーまでに不可欠でない処理 カテゴリ3 カットオーバーまでに不可欠でない処理 棚卸し処理
(月末や期末に商品コードと数量などを入力し、在庫と付け合せる処理)
オペレータ

表1 物流システムの代表的な処理機能を3つのカテゴリに分類した表。ハードウェアやソフトウェアの設計・構築作業は、むろんカテゴリ1の最優先の作業に入るが、それらの作り込みのための各種要件をこのように分類すると、開発を大幅に効率化できる。分類の際は、処理内容だけではなく、その機能を使う利用者のPCスキルも考慮に入れると、より適切に分類できる

 この3つのカテゴリに、構築するシステムのさまざまな処理を当てはめていきます。例えば、事例の物流システムでいえば、『出庫処理』や『入庫処理』といった主要な処理はカテゴリ1に当たります。『マスタメンテナンス』『各種帳票発行』などは、基本的にメニュー画面がなくても処理が可能(帳票は種類によってメニュー画面が必要なものもあります)なので、カテゴリ2に当たります。『棚卸し処理』は、ほかの多くの企業と同様、この場合も月末と仮定すると、11月30日に運用開始となるため、カテゴリ3『不可欠でない処理』に入ることになります。

 3つのカテゴリを時間軸に沿って整理したのが以下の図1です。こうすると、設計・開発の優先順位が一目瞭然です。また、カテゴリ分けを検討する際、各処理機能の内容を再確認することになります。そのため、カテゴリ3に分類した「棚卸し処理」なら「11月30日には使える状態になっていなければいけない」など、各カテゴリ内での優先順位も整理することができます。

ALT 図1 3つのカテゴリを時間軸で表現した表。設計・開発に着手すべき処理機能の優先順位を明確に把握できる。カテゴリ1を7月からスタートさせれば、“のりしろ”期間を後で使うこともできる

 いかがでしょう。こうしてみると、当初は無理と思われた「3カ月」という開発期間も、何とかクリアできる可能性が見えてきたのではないでしょうか。なお、カテゴリ分けの際は、カテゴリ2を意識して整理することがポイントです。ここで、カテゴリ2に分類すべき処理機能の基本パターンを整理しておきましょう。

利用頻度がそれほど高くない処理機能

 例えば、1日の作業確認に使う現場帳票など。1日の作業量が少なければミスも発生しないため、使われない日もある。

専用の画面から入力しなくても済む程度の処理機能

 例えば、コマンドプロンプトで「20090720」といったように日付データを入れてENTERキーを押すことで実行できるなど、専用の入力画面が必ずしも必要でない処理機能。

設計フェイズでは要件を決め切れない入力画面

 例えば、日付を数値で手入力するのか、あるいはリストボックスなどから選択するのか決め切れない、といった画面。そうした場合、その画面を使う処理機能については、カテゴリ3に回すケースが多いです。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ