(57)【要約】    開発中、または、開発済みのソフトウェア等を変更する場合に、発生する作業、いわゆる修正作業の特定は容易ではない。    プロセスデータベースは、プロダクト開発の各工程における複数の開発要素を記述したモデルを、工程対応に格納するモデル保管手段と、工程において人間が行う作業項目を、当該工程のモデルの開発要素対応に格納するタスク保管手段と、を包含するデータベースであって、タスク保管手段は、さらに、第１の工程の作業項目を始点、第１の工程の後続工程である第２の工程の作業項目であって、始点である作業項目の結果に影響される作業項目を終点とするリンクを格納する。
2014045554.tif 000002
【特許請求の範囲】
【請求項１】
プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に格納するモデル保管手段と、
前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に格納するタスク保管手段と、を包含し、
前記タスク保管手段は、さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを格納するプロセスデータベース。
【請求項２】
請求項１に記載のプロセスデータベースと、
何れかの前記工程の前記モデルの前記開発要素の指定を取得して、前記タスク保管手段から指定された前記開発要素に対応する前記作業項目を取得し、さらに、取得した前記作業項目を始点とする前記リンクの終点である前記作業項目を取得し、取得した前記作業項目を出力する影響特定手段と、を備えるプロセス管理装置。
【請求項３】
前記モデルは、さらに、第３の前記工程の前記開発要素を始点、前記第３の工程の後続工程である第４の前記工程の前記開発要素であって、前記始点である前記開発要素の変更に影響される前記開発要素を終点とする関連付けを格納し、
前記影響特定手段は、指定された前記開発要素を始点とする前記関連付けの終点である前記開発要素を取得し、取得した前記開発要素を出力する、請求項２のプロセス管理装置
【請求項４】
複数のプロダクトの各々に対応して、前記モデルと前記作業項目を格納する請求項１のプロセスデータベースと、
前記複数のプロダクトとは異なるプロダクトの前記モデルである別モデルを取得して、前記モデル保管手段内の前記モデルである格納モデルと当該別モデルを比較して、少なくとも一部が当該別モデルと一致する前記格納モデルを特定し、特定された前記格納モデル内のうち当該別モデルと一致する前記開発要素に対応する前記作業項目を取得し、さらに、取得した前記作業項目を始点とする前記リンクの終点である前記作業項目を取得し、取得した前記作業項目を出力する影響特定手段と、を備えるプロセス管理装置。
【請求項５】
前記タスク保管手段は、前記作業項目の各々に対応して、当該作業項目の作業者のロールおよび工数を格納し、
前記影響特定手段は、さらに、取得した前記作業項目に対応する前記ロール及び前記工数を取得して出力する、請求項２乃至４の何れかに記載のプロセス管理装置。
【請求項６】
請求項１に記載のプロセスデータベースと、
何れかの前記工程で前記モデルを作成して、当該工程対応に作成した当該モデルを前記モデル手段に格納するモデル構築手段と、
何れかの前記工程の前記モデルの前記開発要素の指定、及び、前記作業項目を入力して、当該作業項目を、指定された前記開発要素に対応付けて前記タスク保管手段に格納し、さらに、指定された工程の前の前記工程の前記作業項目、および、指定された前記工程の前記作業項目の指定を取得して、両者間に前記リンクを設定するタスク構築手段と、を備えるプロセス管理装置。
【請求項７】
プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に記憶し、
前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に記憶し、
さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを記憶するプロセスデータベース作成方法。
【請求項８】
何れかの前記工程の前記モデルの前記開発要素の指定を取得して、前記タスク保管手段から指定された前記開発要素に対応する前記作業項目を取得し、さらに、取得した前記作業項目を始点とする前記リンクの終点である前記作業項目を取得し、取得した前記作業項目を出力する、請求項１に記載のプロセスデータベースの検索方法。
【請求項９】
プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に記憶手段に記憶する処理と、
前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に前記記憶手段に記憶する処理と、
さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを前記記憶手段に記憶する処理と、をコンピュータに実行させるプログラム。
【請求項１０】
請求項１に記載のプロセスデータベースを備えたコンピュータに、何れかの前記工程の前記モデルの前記開発要素の指定を取得して、前記タスク保管手段から指定された前記開発要素に対応する前記作業項目を取得し、さらに、取得した前記作業項目を始点とする前記リンクの終点である前記作業項目を取得し、取得した前記作業項目を出力する処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア等の開発プロセスのデータを格納あるいは検索するための、プロセスデータベース、プロセス管理装置、プロセスデータベース作成方法、プロセスデータベース検索方法、および、プログラムに関する。
【背景技術】
【０００２】
ソフトウェアの開発プロセスの評価に関連して、以下の技術が知られている。【０００３】
特許文献１は、プロジェクト完遂までに段階的に達成される小目標の系列をブレークダウンした情報と目標相互の影響関係を作成する、手戻りリスク評価システムを開示する。この手戻りリスク評価システムは、開発中にある目標が達成不可能となった場合に影響範囲（手戻り対象範囲）を特定する。【０００４】
特許文献２は、システム構築の為の管理システムを開示する。このシステムは、構築されるシステムに含まれる構成要素に関連付けてタスクの一覧を表示する。また、このシステムは、タスクと他のタスクとの関連、例えば、単体テストの完了が総合テストの前提条件であることを表示する。【０００５】
特許文献３は、過去の開発実績を基に開発工数の基準を作成し評価を行う、プロジェクト管理支援装置を開示する。この装置は、過去の複数の実績を統計処理し、評価対象のプロジェクトの計画値を比較し、プロジェクトが計画通り運営されていない場合にそのリスクを検出する。【０００６】
特許文献４は、設計作業の履歴に関する情報を、テンプレートに関連づけて蓄積するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−２００３０３号公報
【特許文献２】特開２００９−２４５２８５号公報
【特許文献３】特開２０００−３２２２５２号公報
【特許文献４】特開２００８−３１０４６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
開発中、または、開発済みのソフトウェア／ハードウェア等の開発対象物を変更する場合に、発生する作業、いわゆる修正作業の特定は容易ではない。【０００９】
特許文献１に開示されているシステムは、特定した影響範囲を修正するための作業についての情報は何も提示しない。特許文献４に開示されているシステムも同様である。【００１０】
特許文献２に記載されたシステムは、そもそも、ソフトウェアの開発の工程を管理対象にしていない。従って、当該システムは、開発済みのソフトウェアを変更する場合に、発生する作業についての情報は何も提示しない。特許文献３は、ソフトウェアの変更については直接関知しない。【００１１】
本発明は、上記課題を解決するための構造化データを格納した、データベース等を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の一実施の形態のプロセスデータベースは、プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に格納するモデル保管手段と、前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に格納するタスク保管手段と、を包含するデータベースであって、前記タスク保管手段は、さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを格納する。【００１３】
本発明の一実施の形態のプロセスデータベース作成方法は、プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に記憶し、前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に記憶し、さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを記憶する。【００１４】
本発明の一実施の形態のプログラムは、プロダクト開発の各工程における複数の開発要素を記述したモデルを、前記工程対応に記憶手段に記憶する処理と、前記工程において人間が行う作業項目を、当該工程の前記モデルの前記開発要素対応に前記記憶手段に記憶する処理と、さらに、第１の前記工程の前記作業項目を始点、前記第１の工程の後続工程である第２の前記工程の前記作業項目であって、前記始点である前記作業項目の結果に影響される前記作業項目を終点とするリンクを前記記憶手段に記憶する処理と、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明に係るプロセスデータは、ソフトウェアと実行リソースと人間系のタスクを含む生産プロセス全体を資産化したものである。そのため、開発中、または、開発済みのソフトウェア／ハードウェア等を変更する場合に、タスクの情報から、発生する作業項目や量の特定を可能にする。
【図面の簡単な説明】
【００１６】
【図１】第１の実施の形態のプロセスデータベース２０を用いた、プロセス管理装置１０の構成を示す。
【図２】モデル保管部２１に格納されるモデル２４の例を示す。
【図３】モデル保管部２１にソフトウェア開発の各工程に対応して格納された、ＸＭＬファイルの形式で出力されたモデル２４を示す。
【図４】タスク保管部２２に格納されるタスク２７の例を示す。
【図５】タスク保管部２２にソフトウェア開発の各工程に対応して格納された、ＸＭＬファイルの形式で出力されたタスク構造２６を示す。
【図６】プロセスデータベース２０のモデル保管部２１に格納されるデータとタスク保管部２２に格納されるデータとの対応関係の例を示す。
【図７】プロセスデータベース２０に格納される具体的データの例を示す。
【図８】プロセス管理装置１０がプロセスデータベース２０を作成するときの動作フローチャートである。
【図９】プロセス管理装置１０がプロセスデータベース２０を検索するときの動作フローチャートである。
【図１０】第３の実施の形態のプロセス管理装置１０の構成を示す。
【図１１】第４の実施の形態のプロセス管理装置１０の構成を示す。
【図１２】第４の実施の形態に於けるマッチング処理の動作フローチャートである。
【図１３】第５の実施の形態のプロセス管理装置１０の構成を示す。
【発明を実施するための形態】
【００１７】
＜第１の実施の形態＞
図１は、本実施の形態のプロセスデータベース２０を用いた、プロセス管理装置１０の構成を示す。プロセス管理装置１０は、プロセスデータベース２０以外に、モデル構築部１１、タスク構築部１２、影響特定部１３を包含する。
【００１８】
プロセスデータベース２０は、ソフトウェアの開発プロセスのデータを構造化して、ディスク等の記憶装置に格納したものである。プロセスデータベース２０を格納する記憶装置は、モデル保管部２１とタスク保管部２２を含む。モデル保管部２１は、開発されるソフトウェアの特性を記述したモデル２４を格納する。タスク保管部２２には、モデル２４を作成するために人間が行う作業項目であるタスク２７を格納する。モデル２４やタスク２７は後述する。
【００１９】
なお、開発の目的物はソフトウェアに限られない。開発の目的物は、例えば、装置、部品等のハードウェア、教育等のサービス仕様であっても良い。以降、開発の対象物はソフトウェアを例に説明する。
【００２０】
モデル構築部１１は人間に操作されて、モデル２４を作成して、モデル保管部２１に格納する。タスク構築部１２は人間に操作されて、タスク２７を作成して、タスク保管部２２に格納する。影響特定部１３は、人間に操作されて、プロセスデータベース２０の検索を行う。モデル構築部１１、タスク構築部１２、及び、影響特定部１３は、キーボード、ディスプレイなどを備えたユーザ端末装置（図示されず）に接続している。
【００２１】
モデル構築部１１、タスク構築部１２、および、影響特定部１３は、論理回路等のハードウェアで実現される。それらは、プロセス管理装置１０のプロセッサ１６で実行されるソフトウェアで実現されても良い。
【００２２】
＜プロセスデータベース２０が格納するデータ＞
図２は、モデル保管部２１に格納されるモデル２４の例を示す。モデル２４はソフトウェア開発の各工程２３で作成され、当該工程２３に対応して格納される。例えば、モデル２４−３は要件定義工程で作成され、当該工程に対応して格納される。モデル２４−６はＡＰ（Application Program）の構造設計工程で作成され、当該工程に対応して格納される。
【００２３】
モデル２４は、開発されるソフトウェアの特性を、複数の要素（これを開発要素２５と呼ぶ）とその間の構造を記述したデータである。開発要素２５が、開発対象ソフトウェアの何に相当するかは、工程２３に依存して決まる。
【００２４】
例えば、図２に於いて、目的の構造化工程に於けるモデル２４−１の開発要素２５−１は、順次ブレークダウンされる開発ソフトウェアの目的である。このモデル２４−１は、例えば、木構造を持つ。プロトタイプ作成工程に於けるモデル２４−９の開発要素２５−２は、各オブジェクトのプログラムコードである。このモデル２４−９はクラスを反映したグループ構造を持つ。
【００２５】
なお、図中、同種の要素に対しては同じ番号を用いる、同種の要素が複数あるときは、枝番号（ハイフォン以降の数字）を用いる。枝番号は、一つの図の中でのみ一意である。
【００２６】
モデル２４は、開発者が、例えば、開発エディタツール等を使用して作成する。この場合、使用された開発エディタツールが、図１のモデル構築部１１である。開発エディタツールは、開発の各工程で異なったツールであっても良いし、いくつかの工程で同じツールであってもよい。開発エディタツールは、例えば、一般に広く使用されているＣＡＳＥ(Computer Aided Software Engineering)ツールである。
【００２７】
モデル構築部１１は、モデル２４を、例えば、ＸＭＬ（Extended Markup Language）のファイルとして出力する。図３は、モデル保管部２１にソフトウェア開発の各工程に対応して格納された、ＸＭＬファイルの形式で出力されたモデル２４を示す。
【００２８】
モデル保管部２１は、ある工程のモデル２４の開発要素２５を始点、後続する工程のモデル２４の開発要素２５を終点とする関連づけ情報である関連２９を格納していても良い。関連２９は、例えば、始点の開発要素２５が変更または追加されたとき、終点の開発要素２５も変更または追加されることを示す。
【００２９】
図３において、関連２９−１は、目的の構造化工程の開発要素２５−１を始点、要件定義工程の開発要素２５−２を終点とする。これは、例えば、ソフトウェアの目的 bに変更があれば、非機能要件 bを変更すべきであることを示す。
【００３０】
図４の（ａ）は、タスク保管部２２に格納されるタスク２７の例を示す。タスク保管部２２は、各工程２３のモデル２４に含まれる開発要素２５対応に、その工程２３で、その開発要素２５について必要となる、即ち、その開発要素２５の実現あるいは完成に必要となる作業項目、即ち、作業内容を記述したデータ項目であるタスク２７の集合を格納する。
【００３１】
多くの場合、開発要素２５の完成に必要となる複数のタスク２７は構造を持つため、複数のタスク２７は構造記述を含むタスク構造２６として格納される。換言すれば、タスク保管部２２は、一般に、開発要素２５対応にタスク構造２６を格納する。
【００３２】
構造は、例えば、実行順序または開始条件である。例えば、図４のタスク構造２６においては、タスク２７−３はタスク２７−２が、タスク２７−２はタスク２７−１が完了してから実行されることを示す。同様に、タスク２７−６は、タスク２７−２とタスク２７−４の両者が完了してから実行されることを示す。タスク２７の構造は、開発者のグループを反映したグループ構造であっても良い。
【００３３】
タスク構造２６は、開発者が、例えば、開発エディタツール等を使用して作成する。この場合、使用された開発エディタツールが、図１のタスク構築部１２である。開発エディタツールは、開発の各工程で異なったツールであっても良いし、いくつかの工程で同じツールであってもよい。また、開発エディタツールは、モデル２４の作成に使われたものと、同じものであっても良いし、異なったものであってもよい。同じものである場合、その開発エディタツールはタスク構築部１２であると同時に、モデル構築部１１でもある。
【００３４】
タスク構築部１２は、モデル２４を、例えば、ＸＭＬのファイルとして出力する（図４の（ｂ））。図５は、タスク保管部２２にソフトウェア開発の各工程に対応して格納された、ＸＭＬファイルの形式で出力されたタスク構造２６を示す。ここでは、簡単のため、各工程２３対応に一つのタスク構造２６を記載しているが、通常、当該工程２３に於けるモデル２４の複数の開発項目２５に対応して、複数のタスク構造２６が格納される。
【００３５】
タスク保管部２２は、ある工程２３のタスク２７を始点、後続する工程２３のタスク２７を終点とする関連づけ情報であるリンク２８を格納していても良い。リンク２８は、例えば、始点のタスク２７の結果が変わると終点のタスク２７をやり直す、即ち、終点のタスク２７は始点のタスク２７の結果に影響されることを示す。
【００３６】
図５において、リンク２８−１は、目的の構造化工程のタスク２７−１を始点、要件定義工程のタスク２７−２を終点とする。これは、例えば、目的構造化作業 bをやり直すと、要件定義作業 bをやり直すべきであることを示す。
【００３７】
図６は、プロセスデータベース２０のモデル保管部２１に格納されるデータとタスク保管部２２に格納されるデータとの対応関係の例を示す。モデル保管部２１は、工程２３対応にモデル２４を格納する。図６において、第ｎ工程のモデル２４は、開発要素２５−１を親、開発要素２５−２及び開発要素２５−３を子とする木構造を持つ。第ｎ＋１工程のモデル２４は、開発要素２５−４、開発要素２５−５及び開発要素２５−６のシーケンス構造を持つ。関連２９−１が、開発要素２５−３から開発要素２５−５に張られている。ここで、ｎは、１乃至（工程２３の数−１）の何れかの数である。
【００３８】
なお、図６に於いて明示されていないが、モデル２４は、各開発要素２５に対応して、属性情報を包含する。属性情報は、例えば、当該工程２３で当該開発要素２５について実施されたタスク２７の作業結果である。
【００３９】
タスク保管部２２は、開発要素２５に対応してタスク構造２６を格納する。一般的には、モデル保存部２１内に、開発要素２５対応にタスク構造２６へのポインタを格納する。図６において、開発要素２５−２に対応してタスク構造２６−１が、開発要素２５−３に対応してタスク構造２６−２が、開発要素２５−４に対応してタスク構造２６−４が、開発要素２５−５に対応してタスク構造２６−５が、開発要素２５−６に対応してタスク構造２６−３が格納されている。開発要素２５−１に対応するタスク構造２６は存在しない。
【００４０】
図６において、タスク構造２６は、例えば、タスク２７の開始条件（実行順序の制約）を示す。タスク構造２６−１は、開発者が順番に実行する３つのタスク２７（２７−１、２７−２、２７−３）を包含する。即ち、開発者は、順番の前のタスク２７が終了してから、後続のタスク２７を開始する。タスク構造２６−２は、順番に実行される２つのタスク２７の２の組（２７−４及び２７−５の組、並びに、２７−６及び２７−７の組）を包含する。当該２つの組の間には、実行順序の制約は無い。タスク構造２６−３は、木構造を持つ３つのタスク２７（２７−１０、２７−１１、２７−１２）を包含する。この場合、タスク２７−１２及びタスク２７−１１はタスク２７−１０が終了してから開始されるが、タスク２７−１２及びタスク２７−１１の間に実行順序の制約はない。
【００４１】
図６において、タスク２７−２からタスク２７−１２にはリンク２８−１が張られている。即ち、開発者は、タスク２７−２を実行し直すと、タスク２７−１２も実行し直すべきことを示す。また、タスク２７−７からタスク２７−１４およびタスク２７−１６の２つにはおのおのリンク２８−２およびリンク２８−３が張られている。即ち、開発者は、タスク２７−７を実行し直すと、タスク２７−１４及びタスク２７−１６も実行し直すべきことを示す。
【００４２】
図７は、プロセスデータベース２０に格納される具体的データの例を示す。図７は、要求定義工程に於いて、開発者が定義すべき要求項目の一つとして、”商品検索”（開発要素２５−３）があることを示す。
【００４３】
本工程に於いて開発者は、例えば、”商品検索”について、画面体系、商品コードの体系、監査ログ内容、要求性能等を明確にする。この為に開発者が行う作業項目であるタスク２７は、例えば、”ＵＩ（User Interface）画面定義”（タスク２７−１）、”入力データ定義”（タスク２７−２）、”監査ログ定義”（タスク２７−３）、”要求性能定義”（タスク２７−４）が存在する。
【００４４】
図７の例に於いて、タスク２７間に特別な構造は定義されておらず、タスク保管部２２は、単に上述のタスク２７の集合を、開発要素２５−３に対応付けて記憶している。
【００４５】
さらに、図７は、要求定義の次工程であるサブシステム設計に於いて、開発者が設計すべきサブシステムとして、”販売サブシステム”（開発要素２５−４）、”ＵＩサブシステム”（開発要素２５−５）及び”ＤＢ（Database）管理サブシステム”（開発要素２５−６）があることを示す。
【００４６】
この工程の”ＵＩサブシステム”の設計に於いて、開発者が行う作業項目であるタスク２７は、例えば、”対話機能設計”（タスク２７−５）と”ＤＢインターフェース設計”（タスク２７−６）が存在する。図７に於いて、これらのタスク２７間にも特別な構造は定義されておらず、タスク保管部２２は、単に上述のタスク２７の集合を、開発要素２５−５に対応付けて記憶している。
【００４７】
さらに、”ＤＢ管理サブシステム”の設計に於いて、開発者が行う作業項目であるタスク２７は、例えば、”スキーマ設計”（タスク２７−７）、”入出力設計”（タスク２７−８）、”性能設計”（タスク２７−９）が存在する。図７に於いて、これらのタスク２７間にも特別な構造は定義されておらず、タスク保管部２２は、単に上述のタスク２７の集合を、開発要素２５−６に対応付けて記憶している。本図に於いて、”販売サブシステム”の設計に対応するタスク構造２６またはタスク２７は省略されている。
【００４８】
”ＵＩ画面定義”から”対話機能設計”へ、”入力データ定義”から”対話機能設計”、”入力データ定義”から”ＤＢインターフェース設計”へ、 ”監査ログ定義”から”ＤＢインターフェース設計”へ、”監査ログ定義”から”入出力方式設計”へ、”性能定義”から入”出力方式設計”へ、”性能定義”から”性能設計”へ、おのおのリンク２８（順次、リンク２８−１乃至７）が張られている。リンク２８−４とリンク２８−５は、例えば、開発者が”監査ログ定義”をやり直すと、”ＵＩサブシステム”の”ＤＢインターフェース設計”および”ＤＢ管理サブシステム”の”入出力方式設計”の両者をやり直さなければならないことを示している。また、リンク２８−６とリンク２８−７は、例えば、開発者が”性能定義”をやり直すと、”ＤＢ管理サブシステム”の”入出力方式設計”と”性能設計”の両者をやり直さなければならないことを示している。
【００４９】
なお、図７に於いて明示されていないが、モデル２４は、各開発要素２５に対応して、属性情報を包含する。例えば、要求定義の工程２３のモデル２４は、”商品検索”（開発要素２５−３）に対応して、”ＵＩ画面定義”（タスク２７−１）等の結果情報を属性情報として包含する。同様に、サブシステム設計の工程２３のモデル２４は、”ＤＢ管理サブシステム”（開発要素２５−６）に対応して、”性能設計”（タスク２７−９）等の結果情報を、属性情報として包含する。
【００５０】
＜プロセス管理装置１０の動作＞
図８は、プロセス管理装置１０がプロセスデータベース２０を作成するときの動作フローチャートである。この作成過程は、開発者（単にユーザともいう）によるタスク２７の実行を含む。従って、この作成過程は、必ずしも一時期に一括して行われるものではなく、随時、中断、修正を含みながら、ソフトウェアの開発・運用の全期間にわたって行われてもよい。
【００５１】
プロセス管理装置１０は、ソフトウェア開発の全ての工程２３について、Ｓ１からＳ５の処理を繰り返す。まずＳ１に於いて、ユーザに操作されて、モデル構築部１１がモデル２４を作成し、当該工程に対応付けて、モデル保管部２１に格納する。例えば、モデル構築部１１が開発エディタツールである場合、ユーザはユーザ端末から当該ツールを操作して、当該工程の作業項目を実行しながらモデル２４を作成する。図７の例に於いて、要求定義の工程２３で、ユーザは要求定義用のＣＡＳＥツールを使用して、”ＵＩ画面定義”、”入力データ定義”等の作業項目を実行しながら、”商品検索”の要求定義を実施し、その結果をモデル２４として作成する。
【００５２】
このとき、モデル構築部１１は、ユーザから前の工程２３の開発要素２５の何れか及び当該工程の開発要素２５のいずれかを指定されて、前者を始点、後者を終点とする関連２９を記憶してもよい。
【００５３】
次に、Ｓ２において、タスク構築部１２が、ユーザが入力した、開発要素２５の指定及びタスク構造２６あるいは個々のタスク２７を取得する。即ち、ユーザは、ユーザ端末から、当該工程で当該開発要素２５について実行した作業項目をタスク構造２６あるいはタスク２７として格納できる形式で、タスク構築部１２に入力する。
【００５４】
Ｓ３において、タスク構築部１２は、指定された開発要素２５に対応付けて、タスク構造２６あるいはタスク２７をタスク保管部２２に格納する。
【００５５】
次に、タスク構築部１２は、ユーザから指定されるリンク２８を張って、タスク保管部２２に格納する。このため、タスク構築部１２は、リンク２８ごとにＳ４とＳ５のステップを繰り返す。
【００５６】
Ｓ４において、タスク構築部１２は、ユーザから、当該工程２３のタスク２７の指定、及び、当該工程２３の前の工程２３のタスク２７の指定を取得し、Ｓ５において、前の工程２３のタスク２７を始点、当該工程２３のタスク２７を終点とするリンク２８を張って、タスク保管部２２に格納する。
【００５７】
このように作成されたプロセスデータベース２０は、様々な用途に使用できる。例えばソフトウェアのアジャイル開発・繰り返し開発等に於いて、開発ループが戻るときに、開発管理者は、仕様変更を行う開発要素２５を特定することで、影響を受ける工程２３、構成要素２５、タスク２７を特定することが出来る。この情報により、開発管理者は、影響を定量的に見積ることができる。
【００５８】
図９は、プロセス管理装置１０がプロセスデータベース２０を検索するときの動作フローチャートである。
【００５９】
まず、Ｓ１１において、影響特定部１３が、ユーザから、いずれかの工程２３のモデル２４内の開発要素２５の指定を取得する。ここでユーザは、例えば、開発管理者であり、仕様変更が行われる開発要素２５の指定をユーザ端末から入力する。次に、Ｓ１２に於いて、影響特定部１３は、当該開発要素２５に対応付けられているタスク構造２６内の全てのタスク２７を取得する。
【００６０】
Ｓ１３において、影響特定部１３は、前のステップで取得したタスク２７を始点とするリンク２８の有無をチェックする。リンクがある場合（Ｓ１３でＹ）、影響特定部１３は、Ｓ１４において当該リンク２８各々の終点となる全てのタスク２７を取得する。その後、影響特定部１３は、Ｓ１３に戻る。
【００６１】
Ｓ１３でリンクがない場合（Ｓ１３でＮ）、影響特定部１３は、取得した全てのタスク２７を出力する。
【００６２】
影響特定部１３は、タスク２７の検索と共に、指定された開発要素２５を始点とする関連２９を順次たどって、関連２９の終点である開発要素２５を順次取得し、出力しても良い。即ち、影響特定部１３は、指定された開発要素２５の仕様の影響を受ける開発要素２５の検索を行っても良い。
【００６３】
さらに、影響特定部１３は、Ｓ１４に於いて、リンク２８の終点となるタスク２７のみならず、同一タスク構造２６内で当該タスク２７に後続して実行されるタスク２７も取得しても良い。その理由は、再度実行されるタスク２７に続いて実行されるタスク２７もやり直しの可能性が有るからである。
【００６４】
本実施形態のプロセス管理装置１０の第１の効果は、アジャイル開発や繰り返し開発においても、生産プロセスの進捗評価を行えることである。その理由は、プロセスデータベース２０が、モデル２４、タスク２７及びリンク２８を関連付けて包含するプロセスデータを、設計から運用まで等の各工程２３対応に保持するからである。そのため、開発管理者等のユーザは、仕様の追加・変更を行い再び開発サイクルを回す場合においても、変更部分に対応する、過去のプロセスデータを参照することで、当該開発サイクルの進捗状況を評価できる。なお、ここで、プロセスデータが、関連２９を含むことがあるのは前述の通りである。
【００６５】
第２の効果は、開発に要する全体コストの見積りを行えることである。そのため、ユーザは、Ｗｅｂサービス等の開発の投資判断が容易になる。その理由は、プロセスデータベース２０が、モデル２４とタスク２７を紐づけたプロセスデータにより人間系の活動を含めた生産プロセスをモデル化して格納しているためである。この人間系の活動を示すタスク情報は、開発者のタスク間で使用サーバなどのリソース競合が起きた場合に行われる調整時間や、バッファ時間などが包含された時間を属性に持つ。即ち、このタスク情報は、単に個々のタスクに対する工数の積み上げでは含まれないデータを包含する。このため、ユーザは、変更仕様が与える工程２３の範囲、開発要素２５の範囲、作業工数の影響を、実運用に則したデータを用いて、定量的に見積ることができる。
【００６６】
＜第２の実施の形態＞
第１の実施形態に於いて、タスク２７は、作業項目、即ち、作業内容を記述したデータ項目である。本実施の形態に於いては、タスク２７は、それにくわえて、当該タスク２７を実施すべき開発者のロールと作業工数（例えば、人月）を格納する。
【００６７】
ここで、ロールとは、開発組織内で各開発者が果たすべき役割の分類である。ロールには、例えば、チームリーダ、アーキテクト、プログラマ、オペレータ、予算管理者がある。
【００６８】
本実施の形態に於いて、タスク２７は、作業項目対応に、どのロールの担当者の作業工数がどの程度必要になるかのデータも併せ持つ。
【００６９】
タスク構築部１２は、この値を、例えば、Ｒｅｄｍｉｎｅ等開発管理用に広く用いられるチケット発行・管理システムから、作業チケットの工数情報をインポートして設定する。
【００７０】
本実施形態に於いて、影響特定部１３は、タスク２７を出力する際に、ロールや作業工数を含めて出力する。
【００７１】
本実施形態のプロセスデータベース２０は、仕様変更の発生時に、開発管理者が影響を定量的に見積ることを更に容易にする。その理由は、タスク２７にロールと作業工数を包含するからである。
【００７２】
＜第３の実施形態＞
本実施形態のプロセス管理装置１０は、例えば、開発・実行環境を提供するクラウドであるＰａａＳ（Ｐｌａｔｆｏｒｍ ａｓ ａ Ｓｅｒｖｉｃｅ）のように、異なるＷｅｂサービスが同じ計算機資源を用いて開発および実行される場合に有用である。本実施形態のプロセス管理装置１０は、過去に開発したソフトウェアのプロセスデータベース２０を開発資産として利用できるようにするため、共通リポジトリを備える。
【００７３】
図１０は、第３の実施の形態のプロセス管理装置１０の構成を示す。本実施の形態のプロセス管理装置１０は、第１の実施の形態と同じプロセスデータベース２０、モデル構築部１１、タスク構築部１２、影響特定部１３を２種類備える。第１の種類（プロセスデータベース２０−１等）は初期ＷＥＢサービス開発用であり、他の種類（プロセスデータベース２０−２等）は別ＷＥＢサービス開発用である。各種類は各々複数存在しても良い。
【００７４】
本実施の形態のプロセス管理装置１０は、さらに、第３のプロセスデータベース２０−３、登録部１４、及び、読み出し部１５を備える。第３のプロセスデータベース２０−３が前述の共通リポジトリである。
【００７５】
本実施の形態に於いては、まず、ユーザは、初期ＷＥＢサービス開発用の部分を用いて、あるＷＥＢサービス用ソフトウェアのプロセスデータベース２０−１を作成する。その後、ユーザは登録部１４を用いて、プロセスデータベース２０−１内のプロセスデータを各開発プロジェクト共通の共通リポジトリにエクスポートして保管する。
【００７６】
このようにして、ユーザは、複数の初期ＷＥＢサービス開発に於けるプロセスデータを、共通リポジトリに蓄積する。これにより、当該プロセスデータは、別のＷｅｂサービス開発の開発テンプレートとして再利用できる。
【００７７】
新規にＷｅｂサービスを開発する場合、ユーザは、読み出し部１５を用いて、共通リポジトリから蓄積されていたプロセスデータを読み出して、別ＷＥＢサービス開発用のプロセスデータベース２０−２にインポートする。ユーザは、新たなＷｅｂサービスの開発を進める際には、プロセスデータベース２０−２にインポートしたプロセスデータを当該Ｗｅｂサービス生産プロセスのテンプレートとし、カスタマイズして開発を進める。
【００７８】
本実施形態に於いて、登録部１４は、ユーザに指定されたプロセスデータベース２０−１のプロセスデータを、共通リポジトリにコピーする。読み出し部１５は、共通リポジトリのプロセスデータであってユーザに指定されたものを、ユーザに指定されたプロセスデータベース２０−２にコピーする。
【００７９】
なお、開発対象は、ＷＥＢサービス用ソフトウェアに限られない。
【００８０】
本実施の形態のプロセス管理装置１０は、生産性を向上させる。その理由は、開発全行程のプロセス全体をプロセスデータとして資産化しており、再利用出来るからある。本装置は、ユーザが、過去のソフトウェア等の資産を流用・カスタマイズして、新たなソフトウェアを開発することを容易にする。特に、ユーザは、タスク２７を参照することで、全体コストの見積りや、進捗遅延の判断が容易になる。
【００８１】
＜第４の実施形態＞
本実施の形態のプロセス管理装置１０は、新たな機能や部品を追加する場合に有用である。
【００８２】
図１１は、第４の実施の形態のプロセス管理装置１０の構成を示す。本実施の形態のプロセス管理装置１０は、プロセスデータベース２０と影響特定部１３を備える。本実施の形態に於けるプロセスデータベース２０は、第３の実施形態における共通リポジトリである。即ち、このプロセスデータベース２０は、過去に開発した複数のソフトウェアについてのプロセスデータを格納する。
【００８３】
本実施の形態に於ける影響特定部１３は、ユーザから新たにソフトウェアに追加する機能や部品についてのモデル２４を取得して、プロセスデータベース２０内から一致するモデル２４をマッチング処理で検索し、関連する開発要素２５やタスク２７を出力する。
【００８４】
図１２は、本実施の形態に於けるマッチング処理の動作フローチャートである。まず、Ｓ２１において、影響特定部１３は、ユーザからマッチング対象となるモデル２４を取得する。次に、影響特定部１３は、プロセスデータベース２０に格納されている全ソフトウェアを対象に、Ｓ２２からＳ２４の処理を繰り返す。
【００８５】
Ｓ２２において、モデル保管部２１に格納されている当該ソフトウェアのモデル２４の中に、少なくともその一部がマッチング対象のモデル２４と一致するものがあるかチェックする。
【００８６】
ある場合（Ｓ２３でＹ）、Ｓ２４において、影響特定部１３は、一致する開発要素２５のおのおのに対応するタスク２７、及び、それを始点とするリンク２８の終点となるタスク２７を全て出力する。この処理は、図９のＳ１２乃至Ｓ１５と同じ処理である。
【００８７】
無い場合（Ｓ２３でＮ）は、次のソフトウェアのプロセスデータを探索する。
【００８８】
影響特定部１３は、タスク２７の検索と共に、同様にして一致する開発要素２５を始点とする関連２９を順次たどって、関連２９の終点である開発要素２５を順次取得し、出力しても良い。即ち、影響特定部１３は、一致する開発要素２５の仕様の影響を受ける開発要素２５の検索を行っても良い。
【００８９】
影響特定部１３は、Ｓ２４で、リンク２８の終点となるタスク２７のみならず、同一タスク構造２６内で当該タスク２７に後続して実行されるタスク２７も取得しても良い。
【００９０】
本実施の形態のプロセス管理装置１０は、ソフトウェアに新たに追加する機能や、部品について、ユーザが行う開発作業見積もりやコスト見積もりをし易くする。その理由は、過去に開発したソフトウェア等のプロセスデータから、開発対象機能等と、少なくともその一部が一致するモデル２４を検索し、一致する開発要素２５に関連しているタスク２７、開発要素２５を出力するからである。
【００９１】
＜第５の実施形態＞
図１３は、第５の実施の形態のプロセス管理装置１０の構成を示す。
【００９２】
プロセスデータベース２０は、モデル保管部２１と、タスク保管部２２を包含する。モデル保管部２１は、プロダクト開発の各工程２３における複数の開発要素２５を記述したモデル２４を、工程２３対応に格納する。
【００９３】
タスク保管部２２は、各工程２３において人間が行うタスク２７を、当該工程２３のモデル２４の開発要素２５に対応させて格納する。タスク保管部２２は、さらに、第１の工程２３のタスク２７を始点、第１の工程２３の後続工程２３である第２の工程２３のタスク２７であって、始点であるタスク２７の結果に影響されるタスク２７を終点とするリンク２８を格納する。
【００９４】
本実施の形態にかかるプロセスデータベース２０は、開発中、または、開発済みのソフトウェア／ハードウェア等を変更する場合に、発生する作業の特定を容易にする。その理由は、プロセスデータベース２０が、モデル２４、タスク２７、リンク２８を関連付けて、設計から運用まで等の各工程２３対応に保持するからである。その結果、仕様の追加・変更を行い再び開発サイクルを回す場合においても、ユーザは、進捗管理やコストの見積もりが容易になる。
【００９５】
さらに、本実施の形態にかかるプロセスデータベース２０は、ソフトウェア等の生産性を向上させる。その理由は、プロセスデータベース２０が、開発全行程のプロセス全体をプロセスデータとして資産化しており、再利用出来るからある。これにより、ユーザが、過去のソフトウェア資産を流用し易くなる。
【００９６】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９７】
この出願は、２０１２年９月１８日に出願された日本出願特願２０１２−２０４４２６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９８】
１０  プロセス管理装置
１１  モデル構築部
１２  タスク構築部
１３  影響特定部
１４  登録部
１５  読み出し部
１６  プロセッサ
２０  プロセスデータベース
２１  モデル保管部
２２  タスク保管部
２３  工程
２４  モデル
２５  開発要素
２６  タスク構造
２７  タスク
２８  リンク
２９  関連
【図１】
2014045554.tif 000003
【図２】
2014045554.tif 000004
【図３】
2014045554.tif 000005
【図４】
2014045554.tif 000006
【図５】
2014045554.tif 000007
【図６】
2014045554.tif 000008
【図７】
2014045554.tif 000009
【図８】
2014045554.tif 000010
【図９】
2014045554.tif 000011
【図１０】
2014045554.tif 000012
【図１１】
2014045554.tif 000013
【図１２】
2014045554.tif 000014
【図１３】
2014045554.tif 000015
【国際調査報告】
2014045554.tif 000016
2014045554.tif 000017
2014045554.tif 000018
2014045554.tif 000019