(57)【要約】【課題】プロジェクトにおける下位の作業目標の進捗状況を加味した工数変化量を算出することのできるプロジェクト管理支援装置、プロジェクト管理支援プログラム、および、プロジェクト管理支援プログラムを記録したコンピュータ読取り可能な記録媒体を提供すること。【解決手段】複数の作業要件のうち特定の作業要件（上位の作業目標）をプロジェクトから削除する場合に、特定の作業要件に関連する作業項目のうち、他の作業要件に関連しない作業項目である対象作業項目について、手戻り工数および未完了の作業工数を算出する（Ｓ１０４，Ｓ１０６）。そして、未完了の作業工数から手戻り工数を減算することで、プロジェクトにおける工数変化量を算出する（Ｓ１０８）。【選択図】図１０
2009140003.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクトの達成までに段階的に達成されるべき複数の作業目標の集合を木構造として記憶するための第１の記憶手段を備え、
前記複数の作業目標は、上位の作業目標を表わす複数の作業要件と、下位の作業目標を表わす複数の作業項目とを含み、
各前記作業項目と、進捗情報および工数情報を含むワークフロー情報とを関連付けて記憶するための第２の記憶手段と、
前記第１の記憶手段の記憶内容および前記ワークフロー情報に基づいて、前記複数の作業要件のうち特定の作業要件を前記プロジェクトから削除する場合における前記プロジェクトの工数変化量を導出するための制御を行なう導出制御手段とをさらに備え、
前記導出制御手段は、
前記第１の記憶手段の記憶内容に基づいて、前記特定の作業要件に関連する作業項目を抽出し、前記関連する作業項目のうち、前記特定の作業要件以外の作業要件にも関連する作業項目である影響作業項目を抽出するための抽出手段と、
前記ワークフロー情報に基づいて、前記関連する作業項目のうち、前記影響作業項目以外の作業項目である対象作業項目について、手戻り工数を算出するための第１の算出手段と、
前記ワークフロー情報に基づいて、未完了の作業工数を算出するための第２の算出手段と、
前記手戻り工数と前記未完了の作業工数とに基づいて、前記プロジェクトにおける前記工数変化量を算出するための第３の算出手段とを含む、プロジェクト管理支援装置。
【請求項２】
前記第２の算出手段は、前記対象作業項目について、前記未完了の作業工数を算出し、
前記第３の算出手段は、前記手戻り工数から前記未完了の作業工数を減算することにより、前記プロジェクトにおける前記工数変化量を算出する、請求項１に記載のプロジェクト管理支援装置。
【請求項３】
前記工数変化量を、前記特定の作業要件を前記プロジェクトから削除する場合に削減可能な工数として出力するための出力手段をさらに備える、請求項２に記載のプロジェクト管理支援装置。
【請求項４】
前記第２の算出手段は、前記複数の作業項目のうち、前記対象作業項目以外の作業項目について、前記未完了の作業工数を算出し、
前記第３の算出手段は、前記手戻り工数と前記未完了の作業工数とを加算することにより、前記プロジェクトにおける前記工数変化量を算出する、請求項１に記載のプロジェクト管理支援装置。
【請求項５】
前記工数変化量を、前記特定の作業要件を前記プロジェクトから削除する場合に必要な工数として出力するための出力手段をさらに備える、請求項４に記載のプロジェクト管理支援装置。
【請求項６】
前記導出制御手段の処理を、前記複数の作業要件の全てについて繰返す繰返し手段と、
前記繰返し手段による処理の結果得られた前記複数の作業要件それぞれの前記工数変化量を出力するための出力手段とをさらに備える、請求項２または４に記載のプロジェクト管理支援装置。
【請求項７】
前記進捗情報は、複数の作業段階の情報と、前記作業段階ごとに、完了および未完了のいずれかの状態を示す状態情報を有し、
前記工数情報は、前記作業段階ごとの予定工数の情報を予め有する、請求項１に記載のプロジェクト管理支援装置。
【請求項８】
前記第１の算出手段は、前記作業段階ごとに予め定められた係数に基づいて、前記手戻り工数を算出する、請求項７に記載のプロジェクト管理支援装置。
【請求項９】
プロジェクトの達成までに段階的に達成されるべき複数の作業目標の集合を木構造として記憶するための第１の記憶部と、前記複数の作業目標のうち下位の作業目標を表わす各前記作業項目と、進捗情報および工数情報を含むワークフロー情報とを関連付けて記憶するための第２の記憶部とを有する記憶装置、および、演算処理装置を備えるプロジェクト管理支援装置において実行されるプログラムであって、
前記第１の記憶手段の記憶内容に基づいて、前記複数の作業目標に含まれる下位の作業目標を表わす複数の作業項目のうち、前記複数の作業目標に含まれる上位の作業目標を表わす複数の作業要件のうちの特定の作業要件に関連する作業項目を抽出するステップと、
前記関連する作業項目のうち、前記特定の作業要件以外の作業要件にも関連する作業項目である影響作業項目を抽出するステップと、
前記ワークフロー情報に基づいて、前記関連する作業項目のうち、前記影響作業項目以外の作業項目である対象作業項目について、手戻り工数を算出するステップと、
前記ワークフロー情報に基づいて、未完了の作業工数を算出するステップと、
前記手戻り工数と前記未完了の作業工数とに基づいて、前記プロジェクトにおける前記工数変化量を算出するステップとを、前記演算処理装置に実行させる、プロジェクト管理支援プログラム。
【請求項１０】
請求項９に記載のプロジェクト管理支援プログラムを記録したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクト管理支援装置、プロジェクト管理支援プログラム、および、プロジェクト管理支援プログラムを記録したコンピュータ読取り可能な記録媒体に関し、特に、ソフトウェア開発プロジェクト等における手戻り工数を算出することのできるプロジェクト管理支援装置、プロジェクト管理支援プログラム、および、プロジェクト管理支援プログラムを記録したコンピュータ読取り可能な記録媒体に関する。
【背景技術】
【０００２】
一般に販売されているプロジェクト管理ソフトウエアは、主としてプロジェクトの日程管理を行うためのものである。そのようなプロジェクト管理ソフトウエアの代表例として、プロジェクトを構成する全作業の先行・後続関係および個々の作業の開始・終了日程を管理するものが挙げられる。
【０００３】
このプロジェクト管理ソフトウェアによれば、プロジェクトを構成する複数作業のうちのある作業が遅延した場合に日程的に影響を受ける作業を予測することが可能である。
【０００４】
特許文献１ではプロジェクトの完遂を、小目標を段階的に達成することで可能となる階層化された構造で管理している。各目標の達成不可能になると予測される確率を過去の類似プロジェクトを元に算出し、階層構造の末端目標から遡り算出することでプロジェクトの手戻りリスクを算出することが出来る。
【０００５】
また、特許文献２では、プロジェクトに含まれる複数のタスク間の依存度をマトリクス形式で表わし、依存度と後戻り期間とを掛け合わせて後戻り影響度を算出する。
【特許文献１】特開２０００−２００３０３号公報
【特許文献２】特開２００３−３０３９５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の手戻りリスクの算出方法は静的な算出方法であるため、各小目標の進捗状況などを加味した手戻りリスクの算出が行えない。また、特許文献２では、下位の作業目標が上位の複数の作業目標と重複して関連する場合の処理について何ら開示されていない。
【０００７】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、プロジェクトにおける下位の作業目標の進捗状況を加味した工数変化量を算出することのできるプロジェクト管理支援装置、プロジェクト管理支援プログラム、および、プロジェクト管理支援プログラムを記録したコンピュータ読取り可能な記録媒体を提供することである。
【課題を解決するための手段】
【０００８】
この発明のある局面に従うプロジェクト管理支援装置は、プロジェクトの達成までに段階的に達成されるべき複数の作業目標の集合を木構造として記憶するための第１の記憶手段を備え、複数の作業目標は、上位の作業目標を表わす複数の作業要件と、下位の作業目標を表わす複数の作業項目とを含み、各作業項目と、進捗情報および工数情報を含むワークフロー情報とを関連付けて記憶するための第２の記憶手段と、第１の記憶手段の記憶内容およびワークフロー情報に基づいて、複数の作業要件のうち特定の作業要件をプロジェクトから削除する場合におけるプロジェクトの工数変化量を導出するための制御を行なう導出制御手段とをさらに備える。導出制御手段は、第１の記憶手段の記憶内容に基づいて、特定の作業要件に関連する作業項目を抽出し、関連する作業項目のうち、特定の作業要件以外の作業要件にも関連する作業項目である影響作業項目を抽出するための抽出手段と、ワークフロー情報に基づいて、関連する作業項目のうち、影響作業項目以外の作業項目である対象作業項目について、手戻り工数を算出するための第１の算出手段と、ワークフロー情報に基づいて、未完了の作業工数を算出するための第２の算出手段と、手戻り工数と未完了の作業工数とに基づいて、プロジェクトにおける工数変化量を算出するための第３の算出手段とを含む。
【０００９】
好ましくは、第２の算出手段は、対象作業項目について、未完了の作業工数を算出し、第３の算出手段は、手戻り工数から未完了の作業工数を減算することにより、プロジェクトにおける工数変化量を算出する。
【００１０】
好ましくは、工数変化量を、特定の作業要件をプロジェクトから削除する場合に削減可能な工数として出力するための出力手段をさらに備える。
【００１１】
好ましくは、第２の算出手段は、複数の作業項目のうち、対象作業項目以外の作業項目について、未完了の作業工数を算出し、第３の算出手段は、手戻り工数と未完了の作業工数とを加算することにより、プロジェクトにおける工数変化量を算出する。
【００１２】
好ましくは、工数変化量を、特定の作業要件をプロジェクトから削除する場合に必要な工数として出力するための出力手段をさらに備える。
【００１３】
好ましくは、導出制御手段の処理を、複数の作業要件の全てについて繰返す繰返し手段と、繰返し手段による処理の結果得られた複数の作業要件それぞれの工数変化量を出力するための出力手段とをさらに備える。
【００１４】
好ましくは、進捗情報は、複数の作業段階の情報と、作業段階ごとに、完了および未完了のいずれかの状態を示す状態情報を有し、工数情報は、作業段階ごとの予定工数の情報を予め有する。
【００１５】
好ましくは、第１の算出手段は、作業段階ごとに予め定められた係数に基づいて、手戻り工数を算出する。
【００１６】
この発明の他の局面に従うプロジェクト管理支援プログラムは、プロジェクトの達成までに段階的に達成されるべき複数の作業目標の集合を木構造として記憶するための第１の記憶部と、複数の作業目標のうち下位の作業目標を表わす各作業項目と、進捗情報および工数情報を含むワークフロー情報とを関連付けて記憶するための第２の記憶部とを有する記憶装置、および、演算処理装置を備えるプロジェクト管理支援装置において実行されるプログラムであって、第１の記憶手段の記憶内容に基づいて、複数の作業目標に含まれる下位の作業目標を表わす複数の作業項目のうち、複数の作業目標に含まれる上位の作業目標を表わす複数の作業要件のうちの特定の作業要件に関連する作業項目を抽出するステップと、関連する作業項目のうち、特定の作業要件以外の作業要件にも関連する作業項目である影響作業項目を抽出するステップと、ワークフロー情報に基づいて、関連する作業項目のうち、影響作業項目以外の作業項目である対象作業項目について、手戻り工数を算出するステップと、ワークフロー情報に基づいて、未完了の作業工数を算出するステップと、手戻り工数と未完了の作業工数とに基づいて、プロジェクトにおける工数変化量を算出するステップとを、演算処理装置に実行させる。
【００１７】
この発明のさらに他の局面に従うコンピュータ読取り可能な記録媒体は、上記記載のプロジェクト管理支援プログラムを記録する。
【発明の効果】
【００１８】
本発明によると、作業要件と作業項目とが紐付けて管理されるため、作業要件の変更により影響を受ける作業項目が明確になる。また、影響を受ける作業項目を中断した場合に発生する手戻り工数が作業項目のワークフロー情報にもとづいて算出される。したがって、作業項目の進捗情報を加味した工数変化量が算出可能となる。
【発明を実施するための最良の形態】
【００１９】
本発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰返さない。
【００２０】
＜構成について＞
（機能構成）
図１は、本発明の実施の形態におけるプロジェクト管理支援装置１の機能構成を示す機能ブロック図である。本実施の形態に係るプロジェクト管理支援装置１は、キーボードやマウス等で実現される入力部１１と、プログラム制御等により動作するデータ処理装置１０と、各種情報を記憶する記憶装置１２と、ディスプレイ装置やプリンタ等の出力部１３とを主に備える。
【００２１】
本実施の形態に係るプロジェクト管理支援装置１は、プロジェクトの管理を行なうとともに、各プロジェクトにおける工数情報（変化量）を導出する。
【００２２】
通常のプロジェクトは、木構造をなす複数の作業目標を順次達成していき、全ての作業目標を達成した時点でプロジェクトの達成となる。ここで、「作業目標」とはプロジェクトの達成という最上位の目標を満たすために必要とされる上位、下位もしくは中間の目標であり、最上位の目標を段階的に達成できるように分析し細分化された目標のことである。
【００２３】
ところで、各プロジェクトは、そのプロジェクトの進行に伴い、プロジェクトの達成に必要な作業の進捗状況は刻々と変化する。プロジェクト進行中に恒常的に発生している作業要件（後述）の変更において、作業要件の変更に伴い必要の無くなった作業を続行してしまうことにより、無駄な工数が発生する。また、作業を中断しても、作業前の状態へ復帰する作業の工数が必要になる。判断を誤ると、作業の進捗状況によっては削減できると予想した以上の工数が発生し、中断することにより継続した場合に比べて工数が増加してしまう可能性がある。従って、本実施の形態のプロジェクト管理支援装置１は、作業要件とその作業要件に関連して必要となる作業を作業項目として紐付けて管理するとともに、作業項目の進み具合を判断するための実績値（ワークフロー情報）を併せ持った管理を行なう。
【００２４】
本実施の形態において、プロジェクトに含まれる複数の作業目標のうち上位の作業目標を「作業要件」といい、複数の作業目標のうち下位の作業目標を「作業項目」という。なお、ここでは、作業目標が２段階（上位、下位）であることとして説明するが、３段階（たとえば、上位、中位、下位など）以上であってもよい。この場合、複数の段階の作業目標のうち、上位と下位との関係にある作業目標について適用されればよい。
【００２５】
上記記憶装置１２は、作業目標情報記憶部１２１とアクティビティ情報記憶部１２２とを含む。作業目標情報記憶部１２１は、各プロジェクトの達成までに段階的に達成されるべき複数の作業目標の集合を木構造として記憶する。
【００２６】
図２は、作業目標情報記憶部１２１の内容例を示す図である。図２を参照して、作業目標情報記憶部１２１は、プロジェクトに関する管理情報としてプロジェクト情報テーブル２１、プロジェクトと作業目標との関係に関する管理情報として作業目標テーブル２２、作業要件（以下「要件」ともいう）と作業項目との関係に関する管理情報として作業目標関連情報テーブル２３、および、作業目標とワークフローとの関係に関する管理情報としてワークフロー関連情報テーブル２４を含む。これらのテーブルの詳細な説明については後述する。
【００２７】
アクティビティ情報記憶部１２２は、各作業項目と、進捗情報および工数情報を含むワークフロー情報とを関連付けて記憶する。このように、末端の作業目標である作業項目は、ワークフロー情報と関連付けられている。本実施の形態において、ワークフロー情報は、アクティビティのリストから構成されている。「アクティビティ」とは、作業項目についての具体的な作業を表すものであり、たとえばソフトウェア開発のプロジェクトにおいては、設計、実装およびテストといった作業内容を表す。アクティビティは、完了もしくは未完了の状態を持つことができる。また、アクティビティは完了までに必要な工数の値も保持することができる。つまり、上述の進捗情報は、設計、実装およびテストを含む複数の作業段階の情報と、作業段階ごとに完了もしくは未完了の状態を示す状態情報とを有する。また、上述の工数情報は、作業段階ごとの予定工数の情報を予め有している。
【００２８】
データ処理装置１０は、作業目標情報記憶部１２１およびアクティビティ情報記憶部１２２の記憶内容に基づいて、複数の要件のうち特定の要件をプロジェクトから削除する場合における当該プロジェクトの工数変化量を導出するための処理を行なう。データ処理装置１０は、その機能として、作業目標抽出部１１１と、手戻り工数算出部１１２と、作業工数算出部１１３と、工数変化算出部１１４とを含む。
【００２９】
作業目標抽出部１１１は、作業目標情報記憶部１２１の記憶内容に基づいて、特定の要件を達成しない場合に影響のある作業項目を抽出する。すなわち、まず、特定の要件に関連する作業項目（以下「関連作業項目」ともいう）を抽出し、その関連作業項目のうち、特定の要件以外の要件にも関連する作業項目（以下、「影響作業項目」という）を抽出する。
【００３０】
手戻り工数算出部１１２は、アクティビティ情報記憶部１２２の記憶内容に基づいて、関連作業項目のうち、影響作業項目以外の作業項目（以下、「対象作業項目」）について、手戻り工数を算出する。「手戻り工数」とは、関連作業項目のうち完了を表わすアクティビティ（作業）をプロジェクト開始前の状態に戻すための必要な工数を示す。
【００３１】
作業工数算出部１１３は、アクティビティ情報記憶部１２２の記憶内容に基づき、対象作業項目について、未完了の作業工数を算出する。
【００３２】
工数変化算出部１１４は、手戻り工数と未完了の作業工数とに基づいて、プロジェクトにおける工数変化量を算出する。具体的には、手戻り工数から未完了の作業工数を減算することにより、工数変化量が算出される。
【００３３】
なお、データ処理装置１０に含まれる各ブロックの動作は、記憶装置１２中に格納されたソフトウェアを実行することで実現されてもよいし、少なくとも１つについては、ハードウェアで実現されてもよい。
【００３４】
（データ構造例）
次に、作業目標情報記憶部１２１に含まれた各テーブルのデータ構造例について説明する。
【００３５】
図３は、プロジェクト情報テーブル２１のデータ構造例を示す図である。図３を参照して、プロジェクト情報テーブル２１は、２つの項目、すなわちＩＤ３１およびプロジェクト３２を有しており、これらの項目が対応付けられてレコードとして記憶されている。ＩＤ３１の項目には、各プロジェクトを一意に特定するための識別情報（ＩＤ）が記憶される。プロジェクト３２の項目には、プロジェクト名など、プロジェクトを特定するための情報が記憶される。
【００３６】
図４は、作業目標テーブル２２のデータ構造例を示す図である。図４を参照して、作業目標テーブル２２は、４つの項目、すなわちＩＤ４１、プロジェクトＩＤ４２、作業目標４３および属性４４を有しており、これらの項目が対応付けられてレコードとして記憶されている。ＩＤ４１の項目には、各作業目標を一意に特定するための識別情報（ＩＤ）が記憶される。プロジェクトＩＤ４２の項目には、対応する作業目標に関連するプロジェクトの識別情報が記憶される。つまり、プロジェクトＩＤ４２には、プロジェクト情報テーブル２１におけるＩＤ３１の項目に記憶された複数のＩＤ（Ｐ１，Ｐ２，…）のいずれか１つが記憶される。作業目標４３の項目には、具体的な作業目標の情報が記憶される。属性４４の項目には、要件および作業項目のうちいずれかが記憶される。
【００３７】
図５は、作業目標関連情報テーブル２３のデータ構造例を示す図である。図５を参照して、作業目標関連情報テーブル２３は、３つの項目、すなわちＩＤ５１、作業目標ＩＤ５２および作業目標ＩＤ５３を有しており、これらの項目が対応付けられてレコードとして記憶されている。作業目標ＩＤ５２の項目には、属性が要件である作業目標のＩＤが記憶され、作業目標ＩＤ５３の項目には、作業項目である作業目標のＩＤが記憶される。ＩＤ５１の項目には、１つの要件と１つの作業項目との対応関係を一意に特定するための識別情報（ＩＤ）が記憶される。
【００３８】
図６は、ワークフロー関連情報テーブル２４のデータ構造例を示す図である。図６を参照して、ワークフロー関連情報テーブル２４は、３つの項目、すなわちＩＤ６１、作業目標ＩＤ６２およびワークフローＩＤ６３を有しており、これらの項目が対応付けられてレコードとして記憶されている。作業目標ＩＤ６２の項目には、作業項目である作業目標のＩＤが１つずつ記憶される。ワークフローＩＤ６３の項目には、アクティビティ情報記憶部１２２におけるワークフローＩＤが記憶される。ＩＤ６１の項目には、作業目標ＩＤとワークフローＩＤとの対応関係を一意に特定するための識別情報（ＩＤ）が記憶される。
【００３９】
次に、アクティビティ情報記憶部１２２のデータ構造例について説明する。
図７は、アクティビティ情報記憶部１２２に記憶されたワークフロー情報テーブルのデータ構造例を示す図である。図７を参照して、アクティビティ情報記憶部１２２内のワークフロー情報テーブルは、主に、４つの項目、すなわちＩＤ７１、設計７２、実装７３およびテスト７４を有しており、これらの項目が対応付けられてレコードとして記憶されている。ＩＤ７１の項目には、ワークフローを一意に特定するための識別情報（ＩＤ）が記憶される。各アクティビティの項目（設計７２、実装７３およびテスト７４の項目）には、状態情報および予定工数情報が含まれる。したがって、作業項目ごとに、３つの作業段階の進捗（状態）と、各作業段階における予定工数とが記憶されている。
【００４０】
なお、上述の作業目標情報記憶部１２１内の各テーブルおよびアクティビティ情報記憶部１２２内のテーブルの情報は、プロジェクト発足時に、ユーザが入力した情報に基づいて生成されるものとする。たとえば、ユーザが、所定のアプリケーションを立ち上げて、プロジェクト名、作業目標内容、および各作業目標に対する属性（要件または作業項目）を入力する。そうすると、データ処理装置１０は、第１段階として、入力された情報に基づいて、プロジェクト情報テーブル２１に新たなプロジェクトのレコードを追加する。また、作業目標テーブル２２およびワークフロー関連情報テーブル２４を生成する。また、ユーザから、各作業項目に関連する要件の情報を受付けると、データ処理装置１０は、第２段階として、受付けた情報に基づいて、作業目標関連情報テーブル２３を生成する。さらに、データ処理装置１０は、第１段階あるいは第２段階において、アクティビティ情報記憶部１２２に、新たなワークフロー情報を生成する。
【００４１】
この際、状態のデータは、全て未完了として記憶される。また、予定工数のデータとしては、ユーザからの入力値が記憶されてもよいし、ユーザからの入力情報に基づいて、所定の計算式で算出された値が記憶されてもよい。
【００４２】
プロジェクトの進行に伴ない、各作業項目の作業段階が変わるごとに（作業が完了するごとに）、状態のデータは、未完了から完了に上書きされるものとする。
【００４３】
図７においては、ワークフローＩＤ１のワークフロー情報は、３つの作業段階のうち、設計および実装が了しており、テストが未完了であることを示している。また、設計、実装およびテストの予定工数は、それぞれ、「１０」、「５」および「１０」である。
【００４４】
なお、本実施の形態では、各作業項目に３つの作業段階（アクティビティ）が設けられているものとして説明するが、その数は限定されない。また、作業項目ごとに同数の作業段階が対応付けられたものである必要はなく、作業項目ごとに異なる数の作業段階が対応付けられていてもよい。
【００４５】
また、各アクティビティの進捗情報として、完了および未完了の２つの状態を用いるが、３つ以上の状態（たとえば、完了、１／２終了、未完了）を用いてもよい。
【００４６】
ワークフロー情報テーブルにおいて、作業項目はワークフローに含まれるアクティビティ（作業段階）が全て完了の状態になった時点で達成とみなす。さらにその上位の作業目標（要件）はその下位に関連付けられている全ての作業目標（作業項目）が達成された時点で達成されることになる。従って、プロジェクトの達成は、プロジェクトに関連付けられた全ての作業目標が達成されることであり、プロジェクトの達成に必要な総工数は全てのアクティビティを完了させるために必要な工数の総計となる。
【００４７】
ここで、特定の要件を達成しない、もしくは達成できないとした場合、その特定の要件に関連付けられた下位の作業項目を抽出し、抽出された作業項目の中断や続行を検討する必要が発生する。抽出された作業項目のうちで、特定の要件以外にも関連付けられている作業項目がある場合は、その作業項目を継続しなければならない。したがって、必要な工数に変更はない。抽出された作業項目のうちで、中断する作業項目においては、すでに実施した作業があれば実施前の状態に戻すための作業が発生する。たとえば、携帯端末のソフトウェア開発プロジェクトにて、アドレス帳機能において顔写真を表示するかどうかをユーザに選択させるためのインタフェースを追加する、という末端の作業目標（作業項目）があるとする。その作業項目の達成のために設計を完了し、実装のためのプログラミングを完了させていた段階で、本作業項目を達成しないと仮定する。この場合、ソースコードを作業開始前のバージョンに戻し、戻したことにより他に与える影響が無いかテストを実施することが必要になる。すなわち、作業を中断することにより、プロジェクトの計画には含まれていない(本来予定されていない)作業を実施するための工数が発生する。この工数のことを「手戻り工数」という。
【００４８】
（ハードウェア構成）
上述のプロジェクト管理支援装置１としては、代表的にＰＣ（Personal Computer）が採用される。図８は、プロジェクト管理支援装置１のハードウェア構成を示すブロック図である。
【００４９】
図８を参照して、プロジェクト管理支援装置１は、各種演算処理を実行するためのＣＰＵ（Central Processing Unit）２１０と、ＣＰＵ２１０で実行されるプログラム等を不揮発的に記憶するためのハードディスク部（ＨＤＤ：Hard Disk Drive）２１２と、各種データを一時的に記憶するためのメモリ部２１４と、ユーザからの指示の入力を受付けるための入力部２１１と、各種情報を表示するためのディスプレイ部２１３と、プリンタ２１６ａにデータを出力するための出力部２１６と、ＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）２１５ａに記憶されたデータやプログラムを読み出すためのＣＤ−ＲＯＭドライブ２１５と、外部機器との間でデータの授受を行なうための通信インターフェイス部２１７とを含む。また、上述の各部は、内部バス２１８を介して相互にデータを授受する。
【００５０】
上述のデータ処理装置１０は、ＣＰＵ２１０に対応する。入力部１１は、入力部２１１に対応する。記憶装置１２は、ハードディスク部２１２に対応する。出力部１３は、ディスプレイ部２１３または出力部２１６に対応する。以下の説明では、出力部１３は、ディスプレイ部２１３に対応しているものとして説明する。
【００５１】
＜動作について＞
図９は、本発明の実施の形態におけるプロジェクト管理支援装置１において実行される変化量導出処理を示すフローチャートである。図９のフローチャートに示す処理は、予めプログラムとしてハードディスク部２１２に格納されており、データ処理装置１０がこのプログラムを読み出して実行することにより、変化量導出処理の機能が実現される。なお、このフローチャートにおいては、プロジェクトから削除される要件を、要件「Ｘ」として説明する。また、図９に示す処理は、ユーザが所定のアプリケーションを立ち上げて、対象となるプロジェクトおよび作業目標（要件）を選択した場合に、開始されるものとする。
【００５２】
図９を参照して、はじめに、作業目標抽出部１１１は、作業目標関連情報テーブル２３を参照して、要件Ｘに関連する作業項目を検索・抽出する（ステップＳ２）。また、作業目標抽出部１１１は、検索された作業項目のうち他の要件にも関連する作業項目があるか否かを判断する（ステップＳ４）。他の要件にも関連する作業項目があると判断された場合（ステップＳ４においてＹＥＳ）、ステップＳ６に進む。一方、他の要件に関連する作業項目はないと判断された場合（ステップＳ４においてＮＯ）、ステップＳ８に進む。
【００５３】
ステップＳ６において、作業目標抽出部１１１は、中断可能な作業項目のみ抽出する。つまり、ステップＳ２で抽出された作業項目のうち、他の要件に関連しない作業項目のみを抽出する。
【００５４】
ステップＳ８において、作業目標抽出部１１１は、ステップＳ２で検索された全ての作業項目を抽出する。
【００５５】
ステップＳ６またはステップＳ８の処理が終わると、工数情報算出処理が実行される（ステップＳ１０）。
【００５６】
図１０は、本発明の実施の形態における工数情報算出処理を示すフローチャートである。
【００５７】
図１０を参照して、手戻り工数算出部１１２は、ステップＳ６またはステップＳ８で抽出された作業項目（以下「対象作業項目」ともいう）について、アクティビティ情報記憶部１２２に記憶されたワークフロー情報を参照する（ステップＳ１０２）。そして、対象作業項目に関して、完了しているアクティビティについての手戻り工数を算出する（ステップＳ１０４）。
【００５８】
次に、作業工数算出部１１３は、対象作業項目に関して、未完了のアクティビティについての工数（「不発生工数」という）を算出する（ステップＳ１０６）。
【００５９】
手戻り工数および不発生工数が算出されると、工数変化算出部１１４は、削減可能工数としての変化量を算出する（ステップＳ１０８）。より具体的には、不発生工数から手戻り工数を減算することにより、変化量が算出される。
【００６０】
再び図９を参照して、変化量が算出されると、データ処理装置１０は、変化量を出力部１３に表示する（ステップＳ１２）。これにより、ユーザは、プロジェクトの遂行段階で、要件Ｘをプロジェクトから削除した場合における削減可能工数を把握することができる。
【００６１】
以上で、一連の変化量導出処理は終了される。
＜具体例について＞
次に、上述の変化量導出処理について、具体例を挙げて説明する。
【００６２】
図１１は、あるプロジェクトに含まれる作業目標の木構造の一例を示す図である。図１１を参照して、「プロジェクト１」は、８つの作業目標を有しており、各作業目標が○印で示される。これらの作業目標のうち、３つの作業目標が要件であり、他の５つの作業目標が作業項目である。３つの要件それぞれは、ＩＤである「Ａ」、「Ｂ」および「Ｃ」で表わされている。また、５つの作業項目それぞれは、ＩＤである「ａ」、「ｂ」、「ｃ」、「ｄ」および「ｅ」で表わされている。
【００６３】
この例において、作業項目ａは、要件Ａにのみ関連している。作業項目ｂは、要件Ａおよび要件Ｂに関連している。作業項目ｃは、要件Ｂおよび要件Ｃに関連している。作業項目ｄは、要件Ｃにのみ関連している。また、作業項目ｅも、要件Ｃにのみ関連している。
【００６４】
また、各作業項目は、ワークフローに関連づけられており、ワークフローは、設計Ｄｘ、実装ＩｘおよびテストＴｘのアクティビティを含んでいる。ここで、「ｘ」は、各作業項目のＩＤであるものとする。
【００６５】
以下に、要件Ｃを達成しないと仮定した場合、つまり、要件Ｃをプロジェクト１から削除すると仮定した場合を想定して、プロジェクト１における変化量について説明する。
【００６６】
まず、要件Ｃに関連する作業目標の情報が作業目標抽出部１１１にて全て抽出される。作業目標抽出部１１１は、図５における作業目標関連情報テーブル２３のレコードを元に要件Ｃに関連する作業項目を抽出する（ステップＳ２）。この場合はまず、第１ステップとして、作業項目ｃ、作業項目ｄ、作業項目ｅが抽出されることになる。さらに、第２ステップとして、抽出された作業項目ｃ、作業項目ｄ、作業項目ｅに対し、順に他に関連付けられている作業目標がないかを判断する（ステップＳ４）。この例では、作業項目ｃは要件Ｂにも関連付けられていることが判定される。すなわち、作業項目ｃは中断させることができない作業目標として抽出され、作業項目ｄ、作業項目ｅは要件Ｃにのみ関連付けられているため、中断することが可能な作業目標として抽出される（ステップＳ６）。なお、図１２の破線で囲まれた領域８１は要件Ｃを達成しないとした場合に影響する作業目標の範囲を示したものである。
【００６７】
続いて、抽出された結果をもとに、手戻り工数算出部１１２にて手戻り工数が算出される（ステップＳ１０４）。ここでは中断することが可能として抽出された作業項目ｃと作業項目ｄに関して手戻り工数が算出される。図７に示したアクティビティ情報記憶部１２２のワークフロー情報テーブルを参照すると、まず、作業項目ｄにおいては、関連付けられているワークフローの中で、設計のアクティビティが完了している状態である。したがって、設計に関連する手戻り工数が発生する。また、作業項目ｅにおいては関連付けられたワークフローの全てが完了しており、作業項目ｅを作業前の状態へ戻すための設計、実装およびテストに関する手戻り工数が発生する。手戻り工数の算出には、設計、実装およびテストのそれぞれのアクティビティに対して定義された「手戻り工数算出係数」αｄ、αｉおよびαｔが用いられることが好ましい。したがって、手戻り工数は、手戻り工数算出係数αに、完了したアクティビティの工数を乗じたものとして算出される。本実施の形態では、図１３に示されるように、手戻り工数算出係数αｄ、αｉおよびαｔは、それぞれ、０．１、０．５および０．１として予め定められている。なお、これらの値は過去に実施したプロジェクトの実績データを元に統計的に算出した値を利用してもよい。
【００６８】
ここで、作業項目ｎにおける、設計、実装およびテストの各アクティビティの予定工数をＴｎｄ、ＴｎｉおよびＴｎｔと仮定すると、作業項目ｎにおける手戻り工数Ｔｎｒは、
Ｔｎｒ＝Ｔｎｄ×αｄ＋Ｔｎｉ×αｉ＋Ｔｎｔ×αｔ
として計算できる。
【００６９】
ここで、作業項目ｄ、作業項目ｅに関しては以下の計算式で手戻り工数が算出される。
Ｔｄｒ＝２０×０．１＝２
Ｔｅｒ＝２０×０．１＋１５×０．５＋２０×０．１＝１１．５
作業工数算出部１１３は、作業目標抽出部１１１により削減可能として抽出された作業項目ｄ、作業項目ｅに関して実施する必要のないアクティビティの工数を算出する（ステップＳ１０６）。作業項目ｄにおいては、実装およびテストが未完了の状態であり、これらの作業段階における作業は実施する必要がなくなる。そのため、要件Ｃを中断した場合には、以降の作業工数が発生しなくなる。また、作業項目ｅに関しては実施する必要の無い工数Ｔｅｄが「０」となる。この場合、作業工数算出部１１３により算出される工数Ｔｄｄは、Ｔｄｉが１５、Ｔｄｔが３０であるため、
Ｔｄｄ＝Ｔｄｉ＋Ｔｄｔ＋０＝４５
となる。
【００７０】
工数変化算出部１１４は、算出された手戻り工数と、実施する必要のない工数とを用いることで、ある作業目標ｎを達成しないとした場合にプロジェクト全体から削減できる工数Ｔｎを算出する（ステップＳ１０８）。ここで、要件Ｃに対して算出される工数ＴＣは、
ＴＣ＝（Ｔｄｄ＋Ｔｅｄ）−（Ｔｄｒ＋Ｔｅｒ）
＝（４５＋０）−（１１．５＋２）＝３１．５
となる。
【００７１】
同様に他の要件に対しても算出することで、どの要件を削除する場合に工数削減効果が大きいかを判断することができる。
【００７２】
（変形例１）
上記の実施の形態では、特定の要件Ｘを達成しない場合における工数の変化量（工数削減数）を算出することとしたが、実施の形態の変形例では、プロジェクトの遂行段階で、特定の要件Ｘを達成しない場合に必要となる工数を変化量として算出する。
【００７３】
以下、上記実施の形態と異なる部分のみ説明する。
上記実施の形態における作業工数算出部１１３および工数変化算出部１１４の処理が異なるため、本変形例では、作業工数算出部１１３＃および工数変化算出部１１４＃と記す。
【００７４】
図１４は、本発明の実施の形態の変形例１における工数情報算出処理を示すフローチャートである。なお、図１２に示したフローチャートと同様の処理については同じステップ番号を付してある。そのため、それらについての説明は繰返さない。
【００７５】
図１２の工数情報算出処理と比較すると、ステップＳ１０６およびＳ１０８それぞれの処理に代えて、変形例１では、ステップＳ２０６およびＳ２０８が実行される。
【００７６】
ステップＳ２０６において、作業工数算出部１１３＃は、抽出された対象作業項目以外の作業項目についての未完了のアクティビティの工数の総計を算出する。したがって、要件Ｘを達成しないこととしても、達成しなければならない作業項目についての未完了のアクティビティの工数の総計が算出される。
【００７７】
ステップＳ２０８において、工数変化算出部１１４＃は、プロジェクト達成までに必要工数を、変化量として算出する。具体的には、ステップＳ１０４で算出された手戻り工数と、ステップＳ２０６で算出された総計とを加算することにより、必要工数が算出される。
【００７８】
上述の図１１および図１２に示した具体例では、手戻り工数の算出対象となった作業項目ｄ、作業項目ｅ以外の全ての作業項目に対し、未完了のアクティビティの工数を総計する。さらに、算出した手戻り工数Ｔｄｒ，Ｔｅｒを加えた工数を算出する。そうすることで、要件Ｃを達成しないとした場合にプロジェクト達成までに必要となる工数が出力される。これにより、ユーザは、プロジェクトの遂行段階で、要件Ｘをプロジェクトから削除した場合における必要工数を把握することができる。
【００７９】
この場合においても上記実施の形態と同様に、他の要件を達成しない場合についても必要工数を算出することで、ユーザは、最も少ない工数でプロジェクトを達成するためにどの要件を削除するべきかを判断することができる。
【００８０】
（変形例２）
上記実施の形態および変形例１では、要件Ｘをユーザが選択することで、１つずつ変化量が算出されたが、変形例２では、プロジェクトに含まれる全ての要件についての変化量を自動的に算出する。
【００８１】
図１５は、本発明の実施の形態の変形例２における変化量導出処理を示すフローチャートである。図９のフローチャートと同じ処理については同じステップ番号を付してある。したがって、それらについての説明は繰返さない。
【００８２】
図１５を参照して、はじめに、データ処理装置１０は、プロジェクトの選択をユーザより受付ける（ステップＳ３００）。続いて、データ処理装置１０は、作業目標テーブル２２を検索して、選択されたプロジェクトに関連する全ての要件を抽出する（ステップＳ３０２）。
【００８３】
全ての要件が抽出されると、抽出された要件のうち１つの要件Ｘｉ（たとえば最上位のＩＤにより特定される要件）について、上述のステップＳ２〜Ｓ１０の処理が実行される。なお、ステップＳ１０において算出された変化量は、たとえば内部メモリに一時的に記録される。
【００８４】
１つの要件についてこれらの処理が終わると、データ処理装置１０は、全ての要件について変化量が算出されたか否かを判断する（ステップＳ３１０）。変化量が算出されていない要件がある場合には（ステップＳ３１０にてＮＯ）、次のＩＤにより特定される要件Ｘ（ｉ＋１）を選択する（ステップＳ３１２）。その後、その要件Ｘ（ｉ＋１）について、上述のステップＳ２〜Ｓ１０の処理が実行される。
【００８５】
全ての要件について変化量が算出されると（ステップＳ３１０においてＹＥＳ）、データ処理装置１０は、要件ごとの変化量を出力部１３（ディスプレイ部２１３）に表示する（ステップＳ３１４）。この際、データ処理装置１０は、要件ごとの変化量を並べて表示することが好ましい。これにより、ユーザは、どの要件を削除した場合に、プロジェクト達成までの時間を短縮できるかなどを容易に判断することができる。
【００８６】
なお、ステップＳ１０における変化量は、実施の形態における工数削減数であってもよいし、実施の形態の変形例１における必要工数であってもよい。
【００８７】
また、本発明のプロジェクト管理支援装置１が行なう、プロジェクト管理方法を、プログラムとして提供することもできる。このようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc-ROM）などの光学媒体や、メモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【００８８】
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
【００８９】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態におけるプロジェクト管理支援装置の機能構成を示す機能ブロック図である。
【図２】本発明の実施の形態における作業目標情報記憶部の内容例を示す図である。
【図３】本発明の実施の形態の作業目標情報記憶部に記憶されたプロジェクト情報テーブルのデータ構造例を示す図である。
【図４】本発明の実施の形態の作業目標情報記憶部に記憶された作業目標テーブルのデータ構造例を示す図である。
【図５】本発明の実施の形態の作業目標情報記憶部に記憶された作業目標関連情報テーブルのデータ構造例を示す図である。
【図６】本発明の実施の形態の作業目標情報記憶部に記憶されたワークフロー関連情報テーブルのデータ構造例を示す図である。
【図７】本発明の実施の形態におけるアクティビティ情報記憶部に記憶されたワークフロー情報テーブルのデータ構造例を示す図である。
【図８】本発明の実施の形態におけるプロジェクト管理支援装置のハードウェア構成を示すブロック図である。
【図９】本発明の実施の形態のプロジェクト管理支援装置において実行される変化量導出処理を示すフローチャートである。
【図１０】本発明の実施の形態の変化量導出処理における工数情報算出処理を示すフローチャートである。
【図１１】あるプロジェクトに含まれる作業目標の木構造の一例を示す図である。
【図１２】図１１に示した例において、要件Ｃを達成しないと仮定した場合に影響する作業目標の範囲を示した図である。
【図１３】本発明の実施の形態における手戻り工数算出係数の一例を示す図である。
【図１４】本発明の実施の形態の変形例１の変化量導出処理における工数情報算出処理を示すフローチャートである。
【図１５】本発明の実施の形態の変形例２のプロジェクト管理支援装置において実行される変化量導出処理を示すフローチャートである。
【符号の説明】
【００９１】
１  プロジェクト管理支援装置、１０  データ処理装置、１１  入力部、１２  記憶装置、１３  出力部、２１  プロジェクト情報テーブル、２２  作業目標テーブル、２３  作業目標関連情報テーブル、２４  ワークフロー関連情報テーブル、１１１  作業目標抽出部、１１２  手戻り工数算出部、１１３，１１３＃  作業工数算出部、１１４，１１４＃  工数変化算出部、１２１  作業目標情報記憶部、１２２  アクティビティ情報記憶部、２１０  ＣＰＵ、２１１  入力部、２１２  ハードディスク部、２１３  ディスプレイ部、２１４  メモリ部、２１５  ＣＤ−ＲＯＭドライブ、２１５ａ  ＣＤ−ＲＯＭ、２１６  出力部、２１６ａ  プリンタ、２１７  通信インターフェイス部、２１８  内部バス。
【図１】
2009140003.tif 000003
【図２】
2009140003.tif 000004
【図３】
2009140003.tif 000005
【図４】
2009140003.tif 000006
【図５】
2009140003.tif 000007
【図６】
2009140003.tif 000008
【図７】
2009140003.tif 000009
【図８】
2009140003.tif 000010
【図９】
2009140003.tif 000011
【図１０】
2009140003.tif 000012
【図１１】
2009140003.tif 000013
【図１２】
2009140003.tif 000014
【図１３】
2009140003.tif 000015
【図１４】
2009140003.tif 000016
【図１５】
2009140003.tif 000017