(57)【特許請求の範囲】
【請求項１】
プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部と、
前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出部と、
を具備することを特徴とする、プロジェクト生産性評価装置。
【請求項２】
前記成果物項目の値として、画面数、帳票数、バッチジョブ数、テーブル数、機能数の少なくともいずれか１つを用いる
ことを特徴とする、請求項１に記載のプロジェクト生産性評価装置。
【請求項３】
前記記憶部は、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶し、
前記プロジェクト生産性評価装置は、
入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索部と、
前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信部と、
を具備することを特徴とする、請求項１または請求項２に記載のプロジェクト生産性評価装置。
【請求項４】
前記記憶部は、前記プロジェクトの成果物が満たすべき条件をプロジェクト毎に対応付けて記憶し、
前記プロジェクト生産性評価装置は、
入力された検索条件に、前記プロジェクトの成果物が満たすべき条件が適合するプロジェクトを検索するプロジェクト検索部と、
前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信部と、
を具備することを特徴とする、請求項１または請求項２に記載のプロジェクト生産性評価装置。
【請求項５】
プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部を具備し、プロジェクトの生産効率を示す効率値を算出するプロジェクト生産性評価装置に用いられるプロジェクト生産性評価方法であって、
生産性評価値算出部が、前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出ステップを実行することを特徴とする、プロジェクト生産性評価方法。
【請求項６】
前記記憶部は、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶し、
プロジェクト検索部が、入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索ステップと、
送信部が、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信ステップと、
を具備することを特徴とする、請求項５に記載のプロジェクト生産性評価方法。
【請求項７】
プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部を具備するプロジェクト生産性評価装置としてのコンピュータに、前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出ステップを実行させるためのプログラム。
【請求項８】
前記記憶部が、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶する前記コンピュータに、
プロジェクト検索部が、入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索ステップと、
送信部が、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信ステップと、
を実行させるための、請求項７に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、生産性評価装置、生産性評価方法およびプログラムに関する。
【背景技術】
【０００２】
プロジェクトの工数の見積りは、プロジェクトの損益に直結する重要な作業である。この、プロジェクトの工数の見積りは、熟練者の経験やノウハウに基づいて行われることが一般的である。そのため、見積り者によって見積り結果にばらつきが生じやすく、また、一般に、見積り結果が適切か否かを評価し修正することも容易ではない。
そこで、プロジェクトの工数の見積り精度を高めるために、幾つかの技術が提案されている。例えば、特許文献１に記載の技術では、新規プロジェクトを開発完了済みのプロジェクトと比較して、開発完了済みのプロジェクトよりも劣っている項目を指摘する技術が示されている。具体的には、開発完了済みのプロジェクトを、プロジェクト種別等のグループ判別基準に基づいて予め分類しておき、まず、新規プロジェクトのプロジェクト種別等に基づいて、比較対象のプロジェクトのグループを選択する。次に、資産流用の有無等のグループ内評価基準に基づいて、新規プロジェクトの特性と選択されたグループの特性とが合致するか否かを判定し、合致しない場合は見積り作成見直しのポイントを指摘する。さらに、顧客参画率等の生産性特性項目に基づいて、グループの中から新規プロジェクトに類似するプロジェクトを選択し、選択したプロジェクトが新規プロジェクトよりも劣っている項目を指摘する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２８０９０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、新規プロジェクトの工数見積りの個々の項目に対する評価を行うことはできるものの、プロジェクト全体の工数見積りに対する客観的な評価は充分に示されない。
また、実際のプロジェクトにおいては、対象とするシステムの分野や、顧客の特性、および使用している開発環境に応じて、投入した工数によって得られる成果であるところの生産性は大きく異なる。この生産性を考慮せずに、例えばプログラムステップ数などプロジェクトの規模感を示す指標のみを用いて工数見積りに対する評価を行うと、工数の実績と見積りとの間にぶれが発生する可能性がある。コストダウンの要請から、できる限り生産性の高い環境をそろえ、工数の少ない効率的なプロジェクトを計画するニーズがあり、工数見積りの精度は非常に重要である。
【０００５】
生産性評価は、一般的にはインプットとアウトプットとの兼ね合いとなり、プロジェクト個々の状況により、様々なインプットとアウトプットの組み合わせが考えられる。例えば、単純な工数に対するアウトプットとして、プロジェクトで生成するシステムの機能数や表示画面数など、様々な成果物の組み合わせが考えられる。複数のインプットあるいは複数のアウトプットに基づいて生産性を評価することにより評価精度が高まると期待できるが、特許文献１をはじめとする従来技術では、複数のインプットあるいは複数のアウトプットに基づいて各プロジェクトの生産性を統一的に評価する技術は示されていない。
また、プロジェクトの生産性は使用する開発ツールなどの特性によっても大いに変わってくる。新規プロジェクトにおいて、既存のプロジェクトと同じ開発ツール等を使用することで同等の生産性を得られることを期待して、新規プロジェクトと類似の既存プロジェクト事例を検索する場合、相当の数の既存プロジェクト事例の蓄積が必要となってしまう。
【０００６】
本発明は、このような事情を考慮してなされたものであり、その目的は、複数のインプットあるいは複数のアウトプットに基づいて各プロジェクトの生産性を統一的に評価できる生産性評価装置、生産性評価方法およびプログラムを提供することにある。
また、本発明のもう１つの目的は、比較的少ない既存プロジェクト事例の蓄積に基づいて、開発ツール等の生産環境の評価を行える生産性評価装置、生産性評価方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
この発明は上述した課題を解決するためになされたもので、本発明の一態様による生産性評価装置は、プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部と、前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出部と、を具備することを特徴とする。
【０００８】
また、本発明の一態様による生産性評価装置は、上述の生産性評価装置であって、前記成果物項目の値として、画面数、帳票数、バッチジョブ数、テーブル数、機能数の少なくともいずれか１つを用いることを特徴とする。
【０００９】
また、本発明の一態様による生産性評価装置は、上述の生産性評価装置であって、前記記憶部は、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶し、
前記プロジェクト生産性評価装置は、入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索部と、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信部と、を具備することを特徴とする。
【００１０】
また、本発明の一態様による生産性評価装置は、上述の生産性評価装置であって、前記記憶部は、前記プロジェクトの成果物が満たすべき条件をプロジェクト毎に対応付けて記憶し、前記プロジェクト生産性評価装置は、入力された検索条件に、前記プロジェクトの成果物が満たすべき条件が適合するプロジェクトを検索するプロジェクト検索部と、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信部と、を具備することを特徴とする。
【００１１】
また、本発明の一態様による生産性評価方法は、プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部を具備し、プロジェクトの生産効率を示す効率値を算出するプロジェクト生産性評価装置に用いられるプロジェクト生産性評価方法であって、生産性評価値算出部が、前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出ステップを実行することを特徴とする。
【００１２】
また、本発明の一態様による生産性評価方法は、上述の生産性評価方法であって、前記記憶部は、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶し、プロジェクト検索部が、入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索ステップと、送信部が、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信ステップと、を具備することを特徴とする。
【００１３】
また、本発明の一態様によるプログラムは、プロジェクトで生成される成果物の出力物の規模を示す値または当該成果物の機能の規模を示す値の少なくともいずれか１つを含む成果物項目の値と、前記プロジェクトに投入されたリソース項目の値とをプロジェクト毎に対応付けて記憶する記憶部を具備するプロジェクト生産性評価装置としてのコンピュータに、前記記憶部に記憶された前記成果物項目の値と前記リソース項目の値とに基づいて、前記プロジェクトの生産効率を示す値として、データ包絡分析法による効率値をプロジェクト毎に算出する生産性評価値算出ステップを実行させるためのプログラムである。
【００１４】
また、本発明の一態様によるプログラムは、上述のプログラムであって、前記記憶部が、プロジェクトで使用するツールの情報をプロジェクト毎に対応付けて記憶する前記コンピュータに、プロジェクト検索部が、入力された検索条件に、前記ツールの情報が適合するプロジェクトを検索するプロジェクト検索ステップと、送信部が、前記プロジェクト検索部が検索したプロジェクトの効率値を検索用端末に送信する送信ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１７】
この発明によれば、複数のインプットあるいは複数のアウトプットに基づいて各プロジェクトの生産性を統一的に評価できる。
また、この発明によれば、比較的少ない既存プロジェクト事例の蓄積に基づいて、開発ツール等の生産環境の評価を行える。
プロジェクト全体の生産効率を客観的に評価できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態における生産性評価システムの概略構成を示す構成図である。
【図２】同実施形態において、プロジェクト情報記憶部１２１が記憶するプロファイルテーブルの例を示す図である。
【図３】同実施形態において、プロジェクト情報記憶部１２１が記憶する入出力テーブルの例を示す図である。
【図４】同実施形態において、生産性評価記憶部１２２が記憶する効率値テーブルの例を示す図である。
【図５】同実施形態において、検索結果記憶部１２３が記憶する検索結果テーブルの例を示す図である。
【図６】同実施形態において、評価者用端末装置２からプロジェクトのデータが送信された際の、生産性評価装置１の処理手順を示すフローチャートである。
【図７】同実施形態において、効率値算出部１３１が効率値テーブルを生成する処理手順を示すフローチャートである。
【図８】同実施形態において、はずれ値除去部１３２がはずれ値を除去する処理手順を示すフローチャートである。
【図９】同実施形態において、生産性評価装置１が、新たに追加されたプロジェクトの処理を行う手順を示すフローチャートである。
【図１０】同実施形態において、生産性評価装置１が、検索条件に合致するプロジェクトを検索する処理手順を示すフローチャートである。
【図１１】同実施形態における、１入力２出力の場合のプロジェクトの効率値の例を示す図である。
【図１２】同実施形態において、プロジェクト検索部１５が選択するプロジェクトの例を示す図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照して、本発明の一実施形態について説明する。
図１は、本発明の一実施形態における生産性評価システムの概略構成を示す構成図である。
同図において、生産性評価システム５００は、生産性評価装置１と、評価者用端末装置２と、検索者用端末装置３とを具備する。生産性評価装置１は、送受信部１１と、記憶部１２と、効率値テーブル生成部（生産性評価値算出部）１３と、追加プロジェクト処理部１４と、プロジェクト検索部１５とを具備する。記憶部１２は、プロジェクト情報記憶部１２１と、生産性評価記憶部１２２と、検索結果記憶部１２３とを具備する。効率値テーブル生成部１３は、効率値算出部１３１と、はずれ値除去部１３２とを具備する。
【００２０】
生産性評価装置１は、プロジェクトで生成された成果物の規模を示す成果物項目の値と、前記プロジェクトに投入されたリソースの規模を示すリソース項目の値とが評価者用端末装置２にて入力されると、入力された値に基づくデータ包絡分析法（Data Envelopment Analysis ; DEA）による効率値をプロジェクト毎に算出する。
ここで、プロジェクトで生成された成果物としては、例えば、プロジェクトで生産されるシステムが挙げられ、成果物の規模を示す成果物項目の値としては、例えば、当該システムが有する機能数や、画面数や、帳票数などを用いることができる。
【００２１】
また、プロジェクトに投入されたリソースとしては、例えば、プロジェクトに投入された人員や時間、あるいはプロジェクトに要した費用（金銭）など、人的資源または物的資源または時間的資源または金銭的資源をはじめとするプロジェクトに要した何らかの資源が挙げられ、リソースの規模を示すリソース項目の値としては、例えば、プロジェクトに要した工数、あるいはプロジェクトに要した総費用額など、プロジェクトに要した何らかの資源を定量的に示す値を用いることができる。
また、生産性評価装置１が算出する効率値は、後述するように、重み付けされた成果物項目の値を、重み付けされたリソース項目の値で除して得られる値、すなわち、プロジェクトの出力をプロジェクトへの入力で除した値であり、プロジェクトの生産効率を示す値として用いることができる。
【００２２】
また、生産性評価装置１は、検索者用端末装置３にてプロジェクトの検索条件が入力されると、効率値を算出したプロジェクトの中から、入力された検索条件に合致するプロジェクトを生産性評価装置１にて選択し、選択したプロジェクトを検索者用端末装置３に表示する。
評価者用端末装置２は、成果物項目の値やリソース項目の値を含むプロジェクトの特性を示すデータの入力を受け付け、受け付けたデータを生産性評価装置１に送信する。検索者用端末装置３は、プロジェクトの検索条件を受け付け、受け付けた検索条件を生産性評価装置１に送信する。
【００２３】
生産性評価装置１において、記憶部１２は、プロジェクトに関する種々の情報を記憶する。プロジェクト情報記憶部１２１は、入出力テーブルと、プロファイルテーブルとを記憶する。生産性評価記憶部１２２は、効率値テーブルを記憶する。検索結果記憶部１２３は、検索結果テーブルを記憶する。
ここで、入出力テーブルは、プロジェクトの特性を示すデータ（以下では、「特性データ」という）のうち、リソース項目の値と成果物項目の値とを含むテーブルである。後述するように、入出力テーブルに含まれるデータは、効率値テーブル生成部１３や追加プロジェクト処理部１４が、プロジェクトの効率値を算出する際に用いられる。なお、以下では、リソース項目の値をプロジェクトの「入力」、成果物項目の値をプロジェクトの「出力」といい、プロジェクトの入力とプロジェクトの出力とを併せてプロジェクトの「入出力」という。
【００２４】
プロファイルテーブルは、プロジェクトの特性を示す特性データのうち、プロジェクトの入出力以外のデータを含むテーブルである。後述するように、プロファイルテーブルに含まれるデータは、プロジェクト検索部１５が、検索者用端末装置３にて入力される検索条件に合致するプロジェクトを選択する際に用いられる。
効率値テーブルは、各プロジェクトの効率値を含むテーブルである。また、検索結果テーブルは、プロジェクト検索部１５が、検索者用端末装置３にて入力される検索条件に基づいて選択したプロジェクトの、効率値をはじめとする特性データを含むテーブルである。
【００２５】
送受信部１１は、評価者用端末装置２や、検索者用端末装置３との間でデータの送受信を行う。送受信部１１は、評価者用端末装置２から出力されるデータに基づいて、プロファイルテーブルと入出力テーブルとを生成・更新し、効率値テーブル生成部１３や、追加プロジェクト処理部に、各プロジェクトの効率値を含む効率値テーブルの生成・更新を指示する信号を出力する。
【００２６】
効率値テーブル生成部１３は、プロジェクトの効率値を含む各プロジェクトの特性データを示す効率値テーブルを生成する。効率値算出部１３１は、プロジェクトの入出力を入出力テーブルから読み出して各プロジェクトの効率値を算出し、効率値テーブルを生成する。はずれ値除去部１３２は、効率値算出部１３１が生成した効率値テーブルから、例外的なプロジェクトのデータを除去する。
追加プロジェクト処理部１４は、追加されたプロジェクトの入出力を入出力テーブルから読み出して効率値を算出し、効率値テーブルを更新する。
プロジェクト検索部１５は、効率値テーブルを検索して検索条件に適合するプロジェクトのデータを読み出し、検索結果テーブルを生成する。
【００２７】
次に、図２〜図５を参照して、記憶部１２が記憶する各データのデータ構成について説明する。
図２は、プロジェクト情報記憶部１２１が記憶するプロファイルテーブルの例を示す図である。プロファイルテーブルには、プロジェクト検索部１５が検索条件に合致するプロジェクトを選択する際のインデックスとして用いられる、各プロジェクトの特性データが含まれる。同図の例では、プロファイルテーブルには、プロジェクトＩＤ（Identifier）、規模、開発期間、開発種別、業種、セキュリティレベル、稼働率、データ量、通信量、ソフトウェア構成、利用ツール、利用手法、利用開発手順、利用ソフトの情報が含まれている。
なお、プロジェクト検索部１５が検索条件に合致するプロジェクトを選択する際のインデックスとして、プロファイルテーブルの各データに加えて、またはプロファイルテーブルの各データに代えて、入出力テーブルのデータを用いてもよい。検索のインデックスとして用いるデータの種類が多いほど、プロジェクト検索部１５は多様な検索条件に対応して検索を行える。
【００２８】
「プロジェクトＩＤ」は、プロジェクトの識別情報である。「規模」欄のデータは、プロジェクトの規模を示すデータであり、同図の例では、プロジェクトにて生成されるシステムのプログラムステップ数が用いられている。「開発期間」欄のデータは、プロジェクトに費やした日数を示すデータである。「開発種別」欄のデータは、システムを新規開発するプロジェクトを示す「新規」、または、既存システムに機能を追加するプロジェクトを示す「機能追加」のいずれかの値をとる。「業種」欄のデータは、プロジェクトにて生成されるシステムが対象とする業種を示すデータであり、製造業または小売業または金融業などの業種を示す。
「セキュリティレベル」欄のデータは、プロジェクトにて生成するシステムのセキュリティレベルを示すデータであり、高・中・低のいずれかの値をとる。「稼働率」、「データ量」、「通信量」欄のデータは、それぞれ、プロジェクトにて生成されるシステムに要求される稼働率、当該システムが記憶するデータ量、当該システムの通信量を示すデータである。
【００２９】
「ソフトウェア構成」欄のデータは、プロジェクトにて生成されるシステムのソフトウェア構成を示すデータであり、ＯＳ（Operating System）名やアプリケーションソフト名などを示す。「利用ツール」欄のデータは、プロジェクトの各段階で利用したツールを示すデータであり、例えば、製造工程で利用した自動ソースコード生成ツールの名称や、試験工程で利用したソースコード自動診断ツールの名称を示す。「利用手法」欄のデータは、プロジェクトの各段階で利用した、ツール化されていない手法を示すデータであり、例えば、設計書の書き方を定めたマニュアルの名称を示す。「利用開発手順」欄のデータは、各工程で行う作業の概要を示すデータであり、例えば、ウォーターフォール・モデル（Waterfall Model）や、スパイラル・モデル（Spiral Model）など、準拠するソフトウェア開発工程モデルの名称を示す。「利用ソフト」欄のデータは、システム開発環境で利用したソフトウェアを示すデータであり、例えば、システムの画面を生成する際に利用したソフトウェアの名称を示す。
【００３０】
なお、プロジェクト情報記憶部１２１が記憶するプロファイルテーブルのデータ項目は、図２に示したものに限らない。例えば、「集中処理型」、「分散処理型」、「移動情報処理（モバイルコンピューティング、Mobile Computing）型」など、システムの処理形態を示す項目を含んでいてもよい。また、図２に示した項目の一部を含んでいなくてもよい。プロファイルテーブルのデータ項目が多いほど、プロジェクト検索部１５が多様な検索条件に対応できる。一方、プロファイルテーブルのデータ項目が少ないほど、プロジェクト情報記憶部１２１が要する記憶容量が少なくて済む。
【００３１】
図３は、プロジェクト情報記憶部１２１が記憶する入出力テーブルの例を示す図である。入出力テーブルには、効率値テーブル生成部１３が効率値を算出する基となる、各プロジェクトの入出力が含まれる。
同図の例では、入出力テーブルには、設計、製造、試験の工程毎に各プロジェクトの入出力が含まれており、各プロジェクトの入力として、工数、コスト、期間、人数の各情報が含まれ、各プロジェクトの出力として、ステップ数、画面数、帳票数、バッチジョブ数、テーブル数、機能数の各情報が含まれている。評価者用端末装置２は、これら入出力として、いずれも非負の数の入力を受け付け、入出力テーブルは、入出力として非負の数を記憶している。
【００３２】
「工数」欄のデータは、プロジェクトの工数を示すデータであり、同図の例では、プロジェクトに投入した要員の人数と日数との積（延べ人日）で示されている。「コスト」欄のデータは、プロジェクトに要した総費用額を示すデータである。「期間」欄のデータは、プロジェクトが運用された期間を示すデータである。「人数」欄のデータは、プロジェクト要員の人数を示すデータである。
【００３３】
「ステップ数」欄のデータは、プロジェクトで生成されたシステムのプログラムステップ数を示すデータである。「画面数」欄のデータは、プロジェクトで生成されたシステムが表示する画面の種類の数（以下では、「画面数」という）を示すデータである。「帳票数」欄のデータは、プロジェクトで生成されたシステムが出力する帳票の種類の数（以下では、「帳票数」という）を示すデータである。「バッチジョブ数」欄のデータは、プロジェクトで生成されたシステムが処理するバッチジョブ数を示すデータである。「テーブル数」欄のデータは、プロジェクトで生成されたシステムが記憶するデータベースのテーブル数を示すデータである。「機能数」欄のデータは、プロジェクトで生成されたシステムが実行する機能数を示すデータである。
同図の例では、出力の各項目は、いずれもプロジェクトで生成されるシステムの属性を示す項目であり、設計、製造、試験の各工程に共通の値となる。このように、各工程に共通の項目については、例えば、送受信部１１が、評価者用端末装置２から送信されるデータを、入出力テーブルの各工程の該当欄に書き込むことにより、入出力テーブルを生成する。
【００３４】
なお、プロジェクト情報記憶部１２１が記憶する入出力テーブルは、同図に示すものに限らない。例えば、設計、製造、試験の各工程に分かれていない、プロジェクト毎の入出力を示すテーブルであってもよい。これにより、プロジェクト情報記憶部１２１が入出力テーブルを記憶する記憶容量を低減できる。一方、図３のような工程毎のデータを記憶することにより、工程毎のデータ分析を行うことができる。
また、入出力テーブルの項目も、同図に示すものに限らない。例えば、既存ソフトウェアの流用等により、プロジェクトによって生成されるシステムの規模とステップ数との間のばらつきが大きい場合は、出力としてステップ数以外の項目を用いることが考えられる。画面数や、帳票数や、バッチジョブ数や、テーブル数や、機能数は顧客仕様に基づいて客観的に定められるデータであり、これらのデータを用いることにより、システムの規模をより適切に把握できることが期待できる。あるいは、入力の項目として、プロジェクトに投入した要員の熟練度を５段階評価で示すデータ項目を含むなど、同図に示す以外の項目を含んでいてもよい。
【００３５】
図４は、生産性評価記憶部１２２が記憶する効率値テーブルの例を示す図である。効率値テーブルには、各プロジェクトの生産効率を示す効率値が含まれる。
同図の例では、効率値テーブルには、プロファイルテーブルの各データと、入出力テーブルの各データと、入出力テーブルの各データに基づいて効率値テーブル生成部１３が算出する効率値とが含まれている。
【００３６】
図５は、検索結果記憶部１２３が記憶する検索結果テーブルの例を示す図である。検索結果テーブルは、プロジェクト検索部１５が行う検索の結果を示す。同図の例では、検索結果テーブルには、検索によって選択されたプロジェクトのプロジェクトＩＤと、利用ツール名と、効率値と、工程と、工数とが含まれている。
例えば、評価者用端末装置２が、検索条件として「工程＝設計」のユーザ入力を受け、表示項目として「利用ツール、工程、工数」のユーザ入力を受けて生産性評価装置１に送信すると、プロジェクト検索部１５が、生産性評価記憶部１２２の効率値テーブルを検索して検索条件に合致するプロジェクトを選択し、選択したプロジェクトのデータを読み出して、検索結果記憶部１２３に、検索結果テーブルとして書き込む。
この際、プロジェクト検索部１５は、表示項目の「利用ツール、工程、工数」と、予め定められた項目である「プロジェクトＩＤ、効率値」とのデータを読み出して、検索結果記憶部１２３に書き込む。
【００３７】
なお、プロジェクト検索部１５が、選択したプロジェクトの全てのデータを書き込むようにしてもよい。全てのデータを書き込むことにより、ユーザに多くのデータを提示でき、ユーザは様々な角度から検討を行える。一方、図５のように、一部の項目のみを書き込むことにより、生産性評価装置１から検索者用端末装置３に検索結果を送信する際の、通信量を低減できる。また、検索者用端末装置３に表示するデータ量が少なくなるので、ユーザが、検索結果を見易くなり、必要とするデータ（例えば利用ツール名）を容易に読み出せる。
【００３８】
次に、図６〜図１０を参照して、生産性評価装置１の動作について説明する。
図６は、評価者用端末装置２からプロジェクトのデータが送信された際の、生産性評価装置１の処理手順を示すフローチャートである。
評価者用端末装置２からプロジェクトのデータが送信されると、生産性評価装置１の送受信部１１は、送信されるデータをテーブル形式にまとめたプロファイルテーブルと入出力テーブルとを生成し、プロジェクト情報記憶部１２１に書き込む。その後、送受信部１１は、効率値算出部１３１に、効率値テーブルの生成を指示する信号を出力する（以上、ステップＳ１０１）。
送受信部１１から効率値テーブルの生成を指示する信号が出力されると、効率値算出部１３１は、効率値テーブルを生成して生産性評価記憶部１２２に書き込む。その後、効率値算出部１３１は、はずれ値除去部１３２にはずれ値の除去を指示する信号を出力する（以上、ステップＳ１０２）。
【００３９】
効率値算出部１３１からはずれ値の除去を指示する信号が出力されると、はずれ値除去部１３２は、生産性評価記憶部１２２の記憶する効率値テーブルからはずれ値のプロジェクトのデータを削除し、残りのプロジェクトのデータに基づいて各プロジェクトの効率値を算出し、効率値テーブルを更新する（ステップＳ１０３）。ここでいう「はずれ値のプロジェクト」とは、生産性評価記憶部１２２の効率値テーブルに記憶される効率値が予め定められた閾値よりも大きいプロジェクトである。はずれ値のプロジェクトは、生産効率が例外的に高いプロジェクトと考えられる。
その後、生産性評価装置１は、同図の処理を終了する。
【００４０】
図７は、効率値算出部１３１が効率値テーブルを生成する処理手順を示すフローチャートである。効率値算出部１３１は、送受信部１１から効率値テーブルの生成を指示する信号が出力されると同図の処理を開始する。
まず、効率値算出部１３１は、生産性評価記憶部１２２の記憶領域中に、効率値テーブル（の枠組み）を生成する。そして、効率値算出部１３１は、プロジェクト情報記憶部１２１からプロファイルテーブルの各データを読み出し、生産性評価記憶部１２２に生成した効率値テーブルに書き込む（以上、ステップＳ１２１）。次に、効率値算出部１３１は、プロジェクト情報記憶部１２１から入出力テーブルの各データを読み出し、生産性評価記憶部１２２の効率値テーブルに書き込む（ステップＳ１２２）。
【００４１】
効率値算出部１３１は、プロジェクト情報記憶部１２１から読み出した入出力テーブルの各データに基づいて、プロジェクトの効率値を算出するためのデータ包絡分析法における制約条件を生成する。
より詳細には、リソース項目ごとの非負の重み係数（第二重み係数）ｖｉ（ｉは、１≦ｉ≦ｍの正整数。ｍは、リソース項目数）と、成果物項目ごとの非負の重み係数（第一重み係数）ｕｒ（ｒは、１≦ｒ≦ｓの正整数。ｓは、成果物項目数）とを生成する。この時点では、これらの重み係数の値は未確定であり、効率値算出部１３１は、これらの重み係数を変数として扱う。そして、効率値算出部１３１は、入出力テーブルから読み出した、プロジェクトＰｊ（ｊは、１≦ｊ≦ｑの正整数。ｑは、入出力テーブルに記憶されるプロジェクトの個数）の入力ｘｉｊ（ｉは、１≦ｉ≦ｍの正整数。ｍは、リソース項目数）、および、出力ｙｒｊ（ｒは、１≦ｒ≦ｓの正整数。ｓは、成果物項目数）と、重み係数とを用いて、ｊ＝１，２，・・・，ｑの各々についての、式（１）に示す不等式ｑ個からなる制約条件を生成する。
（ｖ１ｘ１ｊ＋ｖ２ｘ２ｊ＋・・・＋ｖｍｘｍｊ）／（ｕ１ｙ１ｊ＋ｕ２ｙ２ｊ＋・・・＋ｕｓｙｓｊ）≦１  ・・・  式（１）
効率値算出部１３１は、生成した制約条件を、記憶部１２のワーキングメモリ領域に書き込む（以上、ステップＳ１２３）。
【００４２】
ここで、図３の入出力テーブルのように、複数の工程それぞれにプロジェクトの入力が示されている場合は、効率値算出部１３１が、各工程のデータを入力として扱うように、予め設定しておく。例えば、効率値算出部１３１は、図３の入出力テーブルから読み出した入出力のうち、１つのプロジェクトにつき、設計工程の工数と、製造工程の工数と、試験工程の工数との３個のデータを工数のデータとして扱い、各々に対応する３個の重み係数を生成し、各データおよび各重み係数を含む制約条件を生成する。
一方、図３の入出力テーブルでは出力の欄も複数の工程それぞれに示されているが、同一のデータを各工程にコピーしただけの場合は、効率値算出部１３１が、いずれか１つの工程のデータのみを出力として扱うように、予め設定しておく。例えば、効率値算出部１３１は、図３の入出力テーブルから読み出した出力のうち、設計工程の出力のみを出力として扱い、その各項目（ステップ数と画面数と・・・と機能数）に対応する６個の重み係数を生成し、各データおよび各重み係数を含む制約条件を生成するが、製造工程および試験工程の出力については、重み係数を生成せず、制約条件にも含めない。
【００４３】
なお、効率値算出部１３１が、いずれか１工程のデータのみを入出力として扱うようにしてもよい。例えば、効率値算出部１３１は、図３の入出力テーブルから読み出したデータのうち、製造工程の入出力のみを入出力として扱い、各々に対応する重み係数を生成し、各データおよび各重み係数を含む制約条件を生成するが、設計工程および試験工程の入出力については、重み係数を生成せず、制約条件にも含めない。このように、１工程のデータのみを用いることにより、当該工程における効率値を算出し、当該工程における生産効率を評価できる。
【００４４】
その後、効率値算出部１３１は、プロジェクト毎に処理を行うループを実行する（ステップＳ１２４）。このループにおいて、効率値算出部１３１は、まず、データ包絡分析法における目的関数として、処理対象のプロジェクトの効率値の関数を生成する。より詳細には、処理対象のプロジェクトＰｊの効率値θｊの関数（式（２））を生成する（以上、ステップＳ１２５）。
θｊ＝（ｖ１ｘ１ｊ＋ｖ２ｘ２ｊ＋・・・＋ｖｍｘｍｊ）／（ｕ１ｙ１ｊ＋ｕ２ｙ２ｊ＋・・・＋ｕｓｙｓｊ）  ・・・  式（２）
次に、効率値算出部１３１は、ステップＳ１２３で生成した制約条件の下で、ステップＳ１２５で生成した目的関数の値を最大にする線形計画問題を解き、処理対象のプロジェクトの効率値を算出する。すなわち、制約条件の下で目的関数を最大にする重み係数の値を算出し、当該重み係数の値における効率値θｊを算出する。効率値算出部１３１は、例えば、単体法（シンプレックス法、Simplex Method）を用いて線形計画問題を解く（以上、ステップＳ１２６）。
そして、効率値算出部１３１は、算出した効率値を生産性評価記憶部１２２の効率値テーブルに書き込む（ステップＳ１２７）。
【００４５】
その後、効率値算出部１３１は、ステップＳ１２４からのループの処理を行っていないプロジェクトがあるか否かを判定し、あると判定した場合は、ステップＳ１２４に戻り、残りのプロジェクトについてループの処理を継続する。一方、全てのプロジェクトについて処理を行ったと判定した場合は、はずれ値除去部１３２にはずれ値の除去を指示する信号を出力し、同図の処理を終了する（以上、ステップＳ１２８）。
【００４６】
図８は、はずれ値除去部１３２がはずれ値を除去する処理手順を示すフローチャートである。はずれ値除去部１３２は、効率値算出部１３１からはずれの値除去を指示する信号が出力されると同図の処理を開始する。
同図の処理において、はずれ値除去部１３２は、まず、生産性評価記憶部１２２の効率値テーブルに含まれる全プロジェクトを未選択に設定する。例えば、はずれ値除去部１３２は、生産性評価記憶部１２２の効率値テーブルから全プロジェクトのプロジェクトＩＤを読み出し、読み出したプロジェクトＩＤの各々と、選択済み又は未選択を示す選択状況フラグとを対応付けた選択状況テーブルを生成し、全プロジェクトの選択状況フラグを未選択に設定して、記憶部１２のワーキングメモリ領域に書き込む（以上、ステップＳ１４１）。
【００４７】
次に、はずれ値除去部１３２は、効率値テーブルと選択状況テーブルとを参照して、効率値が１、かつ、選択状況フラグが未選択のプロジェクトの有無を判定する（ステップＳ１４２）。該当するプロジェクトありと判定した場合（ステップＳ１４２：ＹＥＳ）は、該当するプロジェクトの１つ（以下では、プロジェクト「Ｐｉ」と表記する）を選択する（ステップＳ１４３）。
そして、はずれ値除去部１３２は、生産性評価記憶部１２２の効率値テーブルから、プロジェクトＰｉを除く各プロジェクトの入出力を読み出し、読み出した入出力に基づいて、プロジェクトの効率値を算出するためのデータ包絡分析法における制約条件を生成する。
より詳細には、効率値テーブルに記憶されるプロジェクトの個数をｔとして、ｊ＝１，２，・・・，ｉ−１，ｉ＋１，・・・，ｔの各々についての、式（３）に示す不等式ｔ−１個からなる制約条件を生成する。
（ｖ１ｘ１ｊ＋ｖ２ｘ２ｊ＋・・・＋ｖｍｘｍｊ）／（ｕ１ｙ１ｊ＋ｕ２ｙ２ｊ＋・・・＋ｕｓｙｓｊ）≦１  ・・・  式（３）
ここで、上述のとおり、プロジェクトＰｊの入力をｘｉｊとし、出力をｙｒｊとし、また、リソース項目ごとの非負の重み係数をｖｉとし、成果物項目ごとの非負の重み係数をｕｒとする（以上、ステップＳ１４４）。
【００４８】
また、はずれ値除去部１３２は、生産性評価記憶部１２２の効率値テーブルから、プロジェクトＰｉの入出力を読み出し、読み出した入出力に基づいて、データ包絡分析法における目的関数として、プロジェクトＰｉの効率値θｉの関数（式（４））を生成する（ステップＳ１４５）。
θｉ＝（ｖ１ｘ１ｉ＋ｖ２ｘ２ｉ＋・・・＋ｖｍｘｍｉ）／（ｕ１ｙ１ｉ＋ｕ２ｙ２ｉ＋・・・＋ｕｓｙｓｉ）  ・・・  式（４）
そして、はずれ値除去部１３２は、ステップＳ１４４で生成した制約条件の下で、ステップＳ１４５で生成した目的関数の値を最大にする線形計画問題を解き、プロジェクトＰｉの効率値を算出する（ステップＳ１４６）。
【００４９】
はずれ値除去部１３２は、算出した効率値が予め定められた閾値（例えば「３」）より大きいか否かを判定し（ステップＳ１４７）、大きいと判定した場合（ステップＳ１４７：ＹＥＳ）は、生産性評価記憶部１２２の効率値テーブルと、記憶部１２の選択状況テーブルとから、プロジェクトＰｉのデータを除去する。これにより、効率値テーブルに記憶されるプロジェクトの個数ｔは、１減少する。また、はずれ値除去部１３２は、記憶部１２がワーキングメモリ領域に記憶する制約条件を、ステップＳ１４４で生成した制約条件に書き換える（以上、ステップＳ１４８）。
そして、はずれ値除去部１３２は、残りの各プロジェクトの効率値を算出して、生産性評価記憶部１２２の効率値テーブルに書き込む。より詳細には、はずれ値除去部１３２は、残りのプロジェクトの各々について、図７のステップＳ１２４〜Ｓ１２８のループと同様に、データ包絡分析法における目的関数として、処理対象のプロジェクトの効率値の関数を生成し、ステップＳ１４４で生成した制約条件の下で、目的関数の値を最大にする線形計画問題を解いて処理対象のプロジェクトの効率値を算出し、算出した効率値を生産性評価記憶部１２２の効率値テーブルに書き込む（以上ステップＳ１４９）。その後、ステップＳ１４１に戻る。
一方、ステップＳ１４７で、算出した効率値が予め定められた閾値以下であると判定した場合（ステップＳ１４７：ＮＯ）は、記憶部１２のプロジェクト選択状況テーブル中の、プロジェクトＰｉのプロジェクト選択状況フラグの値として選択済みを書込み（ステップＳ１６１）、その後、ステップＳ１４２に戻る。
また、ステップＳ１４２において、効率値が１かつ選択状況フラグが未選択のプロジェクト無しと判定した場合(ステップＳ１４７：ＮＯ)は、同図の処理を終了する。
【００５０】
なお、ステップＳ１４７で、算出した効率値が予め定められた閾値より大きいと判定した場合に、はずれ値除去部１３２が、ステップＳ１４７で効率値テーブルからプロジェクトＰｉのデータを除去しないようにしてもよい。この場合、はずれ値除去部１３２は、プロジェクトＰｉの効率値として、ステップＳ１４６で算出した効率値を効率値テーブルに書き込む。この効率値は閾値よりも大きい値なので、効率値テーブルのデータを参照するユーザは、プロジェクトＰｉの効率値が極端に大きい値（いわゆるはずれ値）であることを認識しつつ、プロジェクトＰｉのデータを参考にすることができる。
【００５１】
なお、生産性評価装置１がマルチプロセッサを備え、並行処理能力を有する場合は、はずれ値除去部１３２が、ステップＳ１４４〜Ｓ１４７で行うはずれ値の判定と、ステップＳ１４９で行う各プロジェクトの効率値の再計算とを、並行して行うようにしてもよい。この場合、ステップＳ１４７で効率値が閾値より大きいと判定した場合（ステップＳ１４７：ＹＥＳ）、はずれ値除去部１３２は、効率値テーブルの各プロジェクトの効率値を、再計算した効率値に書き換える。一方、ステップＳ１４７で効率値が閾値以下であると判定した場合（ステップＳ１４７：ＮＯ）、はずれ値除去部１３２は、再計算した効率値を捨て、効率値テーブルの書き換えは行わない。このように、はずれ値除去部１３２が、ステップＳ１４４〜Ｓ１４７の処理とステップＳ１４９の処理とを並列実行することにより、処理時間を削減できる。一方、図８に示す手順で処理を行うことにより、はずれ値除去部１３２が無駄作業を行わないので、処理量を低減できる。
【００５２】
図９は、生産性評価装置１が、新たに追加されたプロジェクト（以下では、プロジェクト「Ｐｋ」と表記する）の処理を行う手順を示すフローチャートである。
評価者用端末装置２から、プロジェクトＰｋのデータが送信されると、生産性評価装置１の送受信部１１は、送信されるデータを追加プロジェクト処理部１４に出力する。
追加プロジェクト処理部１４は、送受信部１１から出力されるプロジェクトＰｋのデータを、プロジェクト情報記憶部１２１のプロファイルテーブルと入出力テーブルとに書き込む（以上、ステップＳ２０１）。さらに、追加プロジェクト処理部１４は、効率値テーブルにプロジェクトＰｋのデータを追加する（ステップＳ２０２）。
【００５３】
なお、追加プロジェクト処理部１４が、プロジェクトＰｋのデータを、プロジェクト情報記憶部１２１のプロファイルテーブルと入出力テーブルとには書き込まず、効率値テーブルにのみ書き込みを行うようにしてもよい。プロジェクト情報記憶部１２１への書き込みを行わないことにより、追加プロジェクト処理部１４の負荷およびプロジェクト情報記憶部１２１の要する記憶容量を低減できる。一方、追加プロジェクト処理部１４が、プロジェクトＰｋのデータを、プロジェクト情報記憶部１２１のプロファイルテーブルと入出力テーブルとに書き込むことにより、プロファイルテーブルと入出力テーブルのデータが更新されるので、プロファイルテーブルおよび入出力テーブルにて、追加プロジェクトのデータと、効率値テーブル生成部が処理済のプロジェクトのデータとを一元的に管理できる。
【００５４】
なお、送受信部１１が、プロジェクトＰｋのデータを、プロジェクト情報記憶部１２１のプロファイルテーブルと入出力テーブルとに書き込み、プロジェクトＰｋのプロジェクトＩＤを追加プロジェクト処理部１４に出力するようにしてもよい。この場合、追加プロジェクト処理部１４は、プロジェクトＰｋのプロジェクトＩＤに基づいて、プロジェクト情報記憶部１２１のプロファイルテーブルと入出力テーブルとからプロジェクトＰｋのデータを読み出す。これにより、送受信部１１が追加プロジェクト処理部１４に出力するデータ量を低減できる。
【００５５】
次に、追加プロジェクト処理部１４は、記憶部１２のワーキングメモリ領域に記憶された、図７のステップＳ１２３または図８のステップＳ１４４で生成した制約条件を読み出す（ステップＳ２０３）。この制約条件は、効率値テーブル生成部１３が処理したプロジェクトに関する不等式のみを含み、追加プロジェクトに関する不等式を含まない制約条件である。
また、追加プロジェクト処理部１４は、プロジェクトＰｋの入出力に基づいて、データ包絡分析法における目的関数として、プロジェクトＰｋの効率値θｋの関数（式（５））を生成する（ステップＳ２０４）。
θｋ＝（ｖ１ｘ１ｋ＋ｖ２ｘ２ｋ＋・・・＋ｖｍｘｍｋ）／（ｕ１ｙ１ｋ＋ｕ２ｙ２ｋ＋・・・＋ｕｓｙｓｋ）  ・・・  式（５）
そして、追加プロジェクト処理部１４は、ステップＳ２０３で読み出した制約条件の下で、ステップＳ２０４で生成した目的関数の値を最大にする線形計画問題を解き、プロジェクトＰｋの効率値を算出する（ステップＳ２０５）。
追加プロジェクト処理部１４は、算出した効率値を生産性評価記憶部１２２の効率値テーブルに書込み（ステップＳ２０６）、その後、同図の処理を終了する。
【００５６】
図１０は、生産性評価装置１が、検索条件に合致するプロジェクトを検索する処理手順を示すフローチャートである。
検索者用端末装置３から検索条件が送信されると、送受信部１１は、送信された検索条件をプロジェクト検索部１５に出力する。後述するように、検索条件としては、評価対象の新規プロジェクトの特性データに基づく条件、あるいは、比較したいツール名などを用いる（以上、ステップＳ３０１）。
プロジェクト検索部１５は、送受信部１１から出力された検索条件に合致するプロジェクトのデータを、生産性評価記憶部１２２の効率値テーブルから読み出し（ステップＳ３０２）、読み出したデータを効率値の大きいプロジェクトから順に並べて検索結果テーブルを生成し、検索結果記憶部１２３に書き込む。書き込みが完了すると、プロジェクト検索部１５は、送受信部１１に検索終了を示す信号を出力し、送受信部１１は、検索結果記憶部１２３から検索結果テーブルのデータを読み出して検索者用端末装置３に送信する（以上、ステップＳ３０３）。その後、同図の処理を終了する。
検索者用端末装置３が、検索結果テーブルのデータを表示することにより、検索結果がユーザに提示される。
【００５７】
次に、図１１を参照して、効率値テーブル生成部１３が生成する効率値について説明する。
図１１は、１入力２出力の場合のプロジェクトの効率値の例を示す図である。同図においては、プロジェクトＰｊの入力をｘｊで表し、出力１および出力２を、それぞれｙ１ｊおよびｙ２ｊで表す。
同図の各点は、プロジェクト毎に、出力１を入力で除した値ｙ１ｊ／ｘｊを横軸にとり、出力２を入力で除した値ｙ２ｊ／ｘｊを縦軸にとって得られる点を示す。
ここで、プロジェクトの各々が、データ包絡分析における意思決定主体（Decision Making Unit; DMU）に該当する。また、同図の各点のうち外側に位置する点ａ、ｂ、ｃが効率的フロンティアに該当し、これらの点ａ、ｂ、ｃを頂点とし、縦軸および横軸に直交する折れ線ＥＮＶが包絡線に該当する。
【００５８】
効率的フロンティアの点ａとｂとｃとに対応するプロジェクトは、いずれも、効率的が１のプロジェクトである。他の点に対応するプロジェクトの効率値は、原点ｏと当該点とを通る直線上での、原点から当該点までの距離を原点から包絡線までの距離を除した値となる。例えば、原点ｏと点ｄとを通る直線上での、原点ｏから点ｄまでの距離をｌ１とし、点ｄから包絡線までの距離をｌ２とすると、点ｄに対応するプロジェクトの効率値は、ｌ１／（ｌ１＋ｌ２）となる。
【００５９】
効率値が大きいプロジェクトほど入力に対する出力の比が大きいプロジェクトであり、生産効率が高いと評価できる。生産性評価装置１が、評価対象のプロジェクトの効率値を算出することにより、ユーザは、算出された効率値を、評価対象のプロジェクトの生産効率の目安として用いることができる。評価値が１に近い場合は、生産効率の高いプロジェクトであると評価できる。一方、評価値が小さい場合は、生産効率の低いプロジェクトであると評価できる。
【００６０】
次に、図１２を参照して、プロジェクト検索部１５が行うプロジェクトの選択について説明する。
図１２は、プロジェクト検索部１５が選択するプロジェクトの例を示す図である。同図の各点は、図１１の各点と同様である。
集合Ｇ１は、評価対象のプロジェクトに類似したプロジェクトに対応する点の集合である。例えば、検索者用端末装置３が、「開発種別＝新規、業種＝製造業、セキュリティレベル＝中、・・・」など、評価対象の新規プロジェクトの特性に基づく検索条件の入力を受けて、生産性評価装置１に送信すると、送受信部１１を介して検索条件を受信したプロジェクト検索部１５が、生産性評価記憶部１２２の効率値テーブルを検索して、検索条件に合致するプロジェクト（例えば、評価対象のプロジェクトと同様の特性データを持つプロジェクト）として、集合Ｇ１に対応する各プロジェクトを選択する。
【００６１】
プロジェクト検索部１５が選択した各プロジェクトのデータを、効率値を含めて検索者用端末装置３に表示することにより、ユーザは、選択された各プロジェクトの生産効率が高いか否かを知ることができる。これにより、例えば、効率値の大きいプロジェクトで利用されているツールを評価対象の新規プロジェクトでも利用するなど、ユーザが、効率値の大きいプロジェクトを手本として新規プロジェクトの見直しを行い、新規プロジェクトの生産効率を高めることが期待できる。また、効率値の小さいプロジェクトについては、ユーザが、効率値の小さい原因を分析し、分析結果を新規プロジェクトに反映させることが考えられる。
【００６２】
なお、プロジェクト検索部１５が、検索条件に合致するプロジェクトのうち、効率値の最も大きいプロジェクト（図１２の例では、点ａに対応するプロジェクト）のみを選択するようにしてもよい。この場合、プロジェクト検索部１５は、効率値テーブルの各プロジェクトを、効率値の大きい順に検索し、検索条件に合致するプロジェクトを１個検出した時点で検索終了できるので、検索の負荷を軽減でき、また、生産性評価装置１から検索者用端末装置３へ検索結果を送信する際の通信量を低減できる。
あるいは、プロジェクト検索部１５が、効率値が所定の値（例えば、「０．７」）以上のプロジェクトのみを選択するようにしてもよい。この場合も、効率値の最も大きいプロジェクトのみを選択する場合と同様に、検索の負荷を低減し、また、通信量を低減できる。
【００６３】
また、集合Ｇ２は、ツールＡを利用したプロジェクトに対応する点の集合であり、集合Ｇ３は、ツールＢを利用したプロジェクトに対応する点の集合である。
例えば、検索者用端末装置３が、「利用ツール＝ツールＡ」との検索条件の入力を受けて、生産性評価装置１に送信すると、送受信部１１を介して検索条件を受信したプロジェクト検索部１５が、生産性評価記憶部１２２の効率値テーブルを検索して、検索条件に合致するプロジェクトとして、集合Ｇ２に対応する各プロジェクトを選択する。同様に、検索者用端末装置３が、「利用ツール＝ツールＢ」との検索条件の入力を受けると、プロジェクト検索部１５が、集合Ｇ３に対応する各プロジェクトを選択する。
【００６４】
プロジェクト検索部１５が選択した各プロジェクトのデータを、効率値を含めて検索者用端末装置３が表示することにより、ユーザは、ツールＡを用いた場合の一般的な生産効率と、ツールＢを用いた場合の一般的な生産効率とを比較できる。そして、ユーザは、比較結果に基づいて、ツールＡを利用すべきかツールＢを利用すべきかを検討できる。同図の例では、ツールＡを利用したプロジェクトのほうが、ツールＢを利用したプロジェクトよりも効率値が大きい。このことから、新規プロジェクトにおいても、ツールＡを利用することにより生産効率が高まることが期待できる。
【００６５】
なお、プロジェクト検索部１５が、図１１で説明した検索と、図１２で説明した検索とを組み合わせた検索を行うようにしてもよい。
例えば、検索者用端末装置３が、「開発種別＝新規、業種＝製造業、セキュリティレベル＝中、・・・」など、評価対象のプロジェクトに基づく検索条件と、「利用ツール＝ツールＡ」や「利用ツール＝ツールＢ」など、特定の特性を持つプロジェクトを比較する検索条件とを受け付ける。プロジェクト検索部１５は、生産性評価記憶部１２２を検索して、「開発種別＝新規、業種＝製造業、セキュリティレベル＝中、・・・」に合致し、かつツールＡを利用するプロジェクトを選択する。図１２の例の場合、プロジェクト検索部１５は、集合Ｇ１と集合Ｇ２との両方に含まれる、点ａと点ｂとに対応するプロジェクトを選択する。
また、プロジェクト検索部１５は、「開発種別＝新規、業種＝製造業、セキュリティレベル＝中、・・・」に合致し、かつツールＢを利用するプロジェクトを選択する。図１２の例の場合、プロジェクト検索部１５は、集合Ｇ１と集合Ｇ３との両方に含まれる、点ｆと点ｇと点ｈとに対応するプロジェクトを選択する。
【００６６】
選択した各プロジェクトのデータを、効率値を含めて検索者用端末装置３に表示することにより、ユーザは、評価対象のプロジェクトにツールＡを用いた場合の生産効率と、評価対象のプロジェクトにツールＢを用いた場合の生産効率とを比較でき、比較結果に基づいて、ツールＡを利用すべきかツールＢを利用すべきかを検討できる。同図の例では、ツールＡを利用したプロジェクトのほうが、ツールＢを利用したプロジェクトよりも効率値が大きい。このことから、新規プロジェクトにおいても、ツールＡを利用することにより生産効率が高まることが期待できる。
【００６７】
以上のように、生産性評価装置１は、プロジェクト情報記憶部１２１が記憶するプロジェクトのインプットやアウトプットを含むデータ、特に複数のインプットまたは複数のアウトプットを含むデータを用いて、各プロジェクトの効率値を算出するので、この効率値を、プロジェクト全体の見積りに対する客観的な評価として示すことができる。特に、プロジェクトにて生成するシステムの画面数や、帳票数や、バッチジョブ数や、テーブル数や、機能数など、プログラムステップ数と比べて顧客仕様とのばらつきが小さく、かつ、システム仕様から容易に計測できる複数の項目値を用いることにより、評価のブレを抑制しつつ、項目ごとではなく、プロジェクト全体に対する単一の指標である効率値に基づいてプロジェクトの生産効率の評価を示すことができる。
このように、単一の指標である効率値に基づいてプロジェクトの生産効率の評価できるので、あるツールを用いることによる生産効率向上の検討など、システム開発環境や部品等が生産効率に及ぼす影響を検討できる。この際、評価に用いるプロジェクトは必ずしも互いに類似する必要はない。これにより、評価に用いるプロジェクト数が比較的少ない場合にも、開発環境や部品についての評価・検討を行える。
【００６８】
また、新規プロジェクトの計画段階において、生産性評価装置１が、新規プロジェクトに類似する過去のプロジェクトのデータを、効率値を含めて出力することにより、ユーザは、プロジェクトの特性が新規プロジェクトに類似し、かつ、効率値の大きい過去のプロジェクトを手本とすることができ、手本とすべきプロジェクトの全体像が得られる。また、この過去のプロジェクトのデータを参照することにより、ユーザは、新規プロジェクトの特性に応じた適切なツールや手法、要員数などを知ることができる。これにより、新規プロジェクトのコストや期間が低減されることが期待できる。
【００６９】
また、はずれ値除去部１３２が、例外的に大きい効率値を示すプロジェクトを検出し、当該プロジェクトのデータを効率値テーブルから削除するので、例外的なプロジェクトを含まないプロジェクトを対象として、より適切に効率値を算出できる。
これにより、例えば、各プロジェクトの効率値が小さい値（例えば０．３以下）に集中し、生産性評価装置１の検索結果として得られるプロジェクトが全て生産効率の低いプロジェクトであるかのような誤解や混乱をユーザに与えることを防止できる。
【００７０】
また、追加プロジェクト処理部１４は、新たなプロジェクトが追加された際に、効率値テーブル生成部１３が生成した制約条件を用いて、追加されたプロジェクトの効率値を算出するので、効率値を算出済みのプロジェクトについて、効率値を更新する必要が無く、計算負荷を低減できる。
【００７１】
なお、生産性評価装置１が、評価対象のプロジェクトの効率値を算出するようにしてもよい。評価対象のプロジェクトが新規プロジェクトの場合でも、顧客仕様に基づいて、画面数や、帳票数や、バッチジョブ数や、テーブル数や、機能数などの出力仕様を決定し、顧客仕様や出力仕様に基づいて、工数や費用など、プロジェクトに投入するリソースの見積りを行った後は、効率値を算出し得る。
この場合、検索者用端末装置３が入出力のユーザ入力を受けて生産性評価装置１に送信すると、生産性評価装置１は、図９で説明した、新たに追加されたプロジェクトを処理する場合と同様に、効率値を算出する。より詳細には、効率値算出部１３１が、まず、記憶部１２のワーキングメモリ領域に記憶された制約条件を読み出す。この制約条件は、効率値テーブル生成部１３が処理したプロジェクトに関する不等式のみを含み、評価対象のプロジェクトに関する不等式を含まない制約条件である。
効率値算出部１３１は、検索者用端末装置３から送信される入出力に基づいて、評価対象のプロジェクトの効率値の関数を生成する。そして、効率値算出部１３１は、読み出した制約条件の下で、生成した目的関数の値を最大にする線形計画問題を解き、評価対象のプロジェクトの効率値を算出する。
【００７２】
効率値算出部１３１が算出した効率値を、検索者用端末装置３が表示することにより、ユーザは、表示される効率値を評価対象のプロジェクトの生産効率の目安として用いることができる。評価値が１に近い場合は、生産効率の高いプロジェクトであると評価でき、当該計画にてプロジェクトを推進する。
一方、評価値が小さい場合は、生産効率の低いプロジェクトであると評価でき、プロジェクトに利用するツールの見直しなど、プロジェクトおよび工程見積りを見直して生産効率を改善する余地があると考えられる。
【００７３】
なお、生産性評価装置１の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００７４】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００７５】
１  生産性評価装置
２  評価者用端末装置
３  検索者用端末装置
１１  送受信部
１２  記憶部
１３  効率値テーブル生成部
１４  追加プロジェクト処理部
１５  プロジェクト検索部
１２１  プロジェクト情報記憶部
１２２  生産性評価記憶部
１２３  検索結果記憶部
１３１  効率値算出部
１３２  はずれ値除去部
５００  生産性評価システム
【図１】
0005460426.tif 000002
【図２】
0005460426.tif 000003
【図３】
0005460426.tif 000004
【図４】
0005460426.tif 000005
【図５】
0005460426.tif 000006
【図６】
0005460426.tif 000007
【図７】
0005460426.tif 000008
【図８】
0005460426.tif 000009
【図９】
0005460426.tif 000010
【図１０】
0005460426.tif 000011
【図１１】
0005460426.tif 000012
【図１２】
0005460426.tif 000013