(57)【要約】【課題】ソフトウェア開発においてプロジェクトの工程を管理する場合に、工数の見積り精度を高めること。【解決手段】工程管理システム１０は、過去に行われたタスクが含まれる工程管理情報をタスク情報データベース３から読み出して解析することにより、新たに工数の見積りが行われるプロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める解析サーバ１を備える。また、ネットワークを介して接続される管理者端末５によって選択され、新たに工数の見積りが行われるプロジェクトに含まれるタスクについて、解析サーバが解析した工数の予測値を解析情報として管理者端末５と担当者端末６に表示させる情報サーバ２と、を備える。【選択図】図１
2013030036.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクトの作業を細分化したタスクに関するタスク情報及び前記タスクの工数に関する工数情報を、前記プロジェクトの工程を管理するための工程管理情報として、前記タスクの種類を分類する分類情報に従って蓄積するタスク情報データベースと、
過去に行われたタスクが含まれる前記工程管理情報を前記タスク情報データベースから読み出して解析することにより、新たに工数の見積りが行われるプロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める解析サーバと、
ネットワークを介して接続される通信端末によって選択され、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクについて、前記解析サーバが解析した前記工数の予測値を解析情報として前記通信端末に表示させる情報サーバと、を備える
工程管理システム。
【請求項２】
前記情報サーバは、前記タスク情報データベース及び前記解析サーバの間で前記工程管理情報及び解析情報を連携し、前記タスクの実績値を前記タスク情報データベースに反映することによって、前記解析サーバが求める前記予測値を前記実績値に近づける
請求項１記載の工程管理システム。
【請求項３】
前記通信端末は、前記タスクの分類情報を登録する操作部と、前記情報サーバから受け取る前記解析情報を表示部に表示する表示部を有し、
前記情報サーバは、前記通信端末から受け取った前記タスクの分類情報を前記タスク情報データベースに登録し、前記通信端末に対し、前記解析サーバによって工数の見積りが行われた予測値を、前記解析情報として表示させる
請求項２記載の工程管理システム。
【請求項４】
前記解析サーバは、前記タスク情報データベースから読み出した前記タスクの工数の実績値を、前記タスクの予測値を算出する予測関数を用いた最小２乗法により、前記タスクの予測値を求める
請求項３記載の工程管理システム。
【請求項５】
前記解析情報は、前記タスク毎に予測値及び実績値が一覧表示される工程管理表として前記通信端末の前記表示部に表示される
請求項４記載の工程管理システム。
【請求項６】
プロジェクトの作業を細分化したタスクに関するタスク情報及び前記タスクの工数に関する工数情報を、前記プロジェクトの工程を管理するための工程管理情報として、前記タスクの種類を分類する分類情報に従ってタスク情報データベースに蓄積するステップと、
過去に行われたタスクが含まれる前記工程管理情報を前記タスク情報データベースから読み出して解析することにより、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクに必要となる工数を予測した予測値を求めるステップと、
ネットワークを介して接続される通信端末によって選択され、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクについて、前記工数の予測値を解析情報として前記通信端末に表示させるステップと、を含む
工程管理方法。
【請求項７】
プロジェクトの作業を細分化したタスクに関するタスク情報及び前記タスクの工数に関する工数情報を、前記プロジェクトの工程を管理するための工程管理情報として、前記タスクの種類を分類する分類情報に従ってタスク情報データベースに蓄積する手順、
過去に行われたタスクが含まれる前記工程管理情報を前記タスク情報データベースから読み出して解析することにより、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める手順、
ネットワークを介して接続される通信端末によって選択され、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクについて、前記工数の予測値を解析情報として前記通信端末に表示させる手順と、を
コンピュータに実行させるプログラム。
【請求項８】
プロジェクトの作業を細分化したタスクに関するタスク情報及び前記タスクの工数に関する工数情報を、前記プロジェクトの工程を管理するための工程管理情報として、前記タスクの種類を分類する分類情報に従って蓄積するタスク情報データベースより、過去に行われたタスクが含まれる前記工程管理情報を前記タスク情報データベースから読み出して解析することによって、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める解析部と、
操作部を介して選択され、新たに工数の見積りが行われる前記プロジェクトに含まれるタスクについて、前記解析部が解析した前記工数の予測値を解析情報として表示部に表示させる制御部と、を備える
工程管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ソフトウェアの開発時に工程を管理するため、作業工数の見積りを支援する工程管理システム、工程管理方法、プログラム及び工程管理装置に関する。
【背景技術】
【０００２】
従来、ソフトウェアの開発に際してプロジェクトが立ち上げられると、プロジェクトの全体進捗や人員を管理するプロジェクトリーダーが任命され、プロジェクトリーダーの指示に従って、プログラムのコーディングやテスト等の作業を行う担当者が集められていた。ソフトウェアの開発工程は、大まかに「要求定義」、「外部設計（概要設計）」、「内部設計（詳細設計）」、「開発（プログラミング）」、「テスト」、「運用」に分けられており、工程毎に複数の作業が含まれている。しかし、工程を単位とすると作業の進捗を管理しにくいため、プロジェクトリーダーは、工程毎に「タスク」と呼ばれる単位で作業を細分化し、タスク毎に必要とされる担当者を割り振って進捗を管理していた。ソフトウェアの開発に際して、担当者の作業量は、［作業時間］×［開発人数］で表される工数と呼ばれる単位で見積りが行われる。そして、プロジェクト毎に必要とされる費用［人月］は、担当者のスキルレベルに従って設定される担当者毎の単価を工数に掛け合わせて見積りが行われる。
【０００３】
このようにプロジェクトリーダーがプロジェクト全体の工程や工数、費用を十分に見積った後、プロジェクトを開始する。しかし、突発的に発生した異常処理や仕様変更に対応していると、工数や費用が見積りより増えることがある。また、誤って見積もった工数に基づいて進捗を管理すると、プロジェクトが失敗する要因になりかねなかった。工数の見積もりを正確に行うためには、プロジェクトリーダーが作業の全容を把握し、担当者のスキルを正確に捉え、作業遅延等のリスクを考慮することが重要である。そして、プロジェクトリーダーは、プロジェクトを滞りなく進行させ、工程毎の状態から発生しうるリスクを考慮し、適切なタイミングで工程や工数を見直すことが求められている。このため、プロジェクトの工程や、タスクに割り振る担当者の工数や費用の工程管理を円滑に行うことを目的とする工程管理システムが用いられるようになった。
【０００４】
プロジェクトリーダーがプロジェクトの工程、タスクの作業量、割り振った担当者の人数等のタスク情報を工程管理システムに入力し、各担当者がタスク毎に作業の進捗を示す進捗情報をシステムに入力する。これにより、プロジェクトリーダーと担当者は、それぞれプロジェクトの進捗情報を共有できる。一般的に使用される工程管理システムは、タスク管理、進捗管理、リソース管理、コスト管理のほか、プロジェクトリーダーがプロジェクトを進行するために必要とする様々な基本機能を備えている。
【０００５】
特許文献１には、開発作業中の担当者の作業負荷を的確に把握し、工程再調整を行うための工程進捗管理方法及び工程管理装置が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−９６２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、プロジェクトリーダーが工数を見積もる際に、工程やタスク毎に必要とされる作業量と無関係に工数を求めたり、プロジェクトリーダーの個人的な経験に基づいて見積ったりすることがあった。例えば、開発が行われるソフトウェアの機能を実現するためには、様々な種類のプログラム言語が用いられ、担当者毎にソフトウェアのソースコードを自由に記述する場合があり、開発の自由度が高かった。また、プログラムのデバッグやテスト等には様々な手法が存在しており、同じ工程であっても採用される手法によって工数が変わる場合があった。このため、プロジェクトリーダーの経験によって工程を見積もった工数の予測値が実績値と大きく乖離する場合があった。
【０００８】
また、過去に行われたプロジェクトと同じ内容のプロジェクトを立ち上げても、過去に任命されたプロジェクトリーダーとは異なるプロジェクトリーダーが見積りを行う場合がある。このとき、現在のプロジェクトリーダーが一部のタスクを考慮せずにしなかったことにより、現在の工数の見積り値と、過去のプロジェクトの工数の実績値とが異なる場合があった。このことは、特許文献１に開示された技術を用いても解決されなかった。上述したように、プロジェクトの工数の見積りが正確に行われなければ、プロジェクトの工程が遅延したり、見積もった工数よりも実績工数が増えたりする。このため、プロジェクトリーダーの資質によらず工数を正確に見積もることが求められていた。
【０００９】
また、従来の工程管理システムには、ルーチン化された作業を繰り返す工場等の大量生産ラインをモデルとして、プロジェクトの工程を管理し、タスクの工数を見積もるものがあった。この大量生産ラインのモデルでは、同一又は類似のプロジェクトが繰り返し立ち上げられるため、工程毎に必要とされるタスクは過去のプロジェクトにおけるタスクと同様であり、ある程度規格化されていることが多かった。ここで「プロジェクトが類似」であるか否かは、システムの構成、機能等を考慮した上で判断される。そして、工場等で受け継がれている規格化された工程を利用したり、工程の管理状況を把握することを目的として開かれる工程会議を頻繁に行ったりすることによって、プロジェクトリーダーが必要な工数を見積っていた。しかし、工数の見積りは人手を介するため、不正確な見積りとなる場合があった。
【００１０】
本発明はこのような状況に鑑みて成されたものであり、開発に必要とされるプロジェクトの工程を管理する場合に、工数の見積精度を高めることを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、プロジェクトの作業を細分化したタスクに関するタスク情報及びタスクの工数に関する工数情報を、プロジェクトの工程を管理するための工程管理情報として、タスクの種類を分類する分類情報に従ってタスク情報データベースに蓄積する。
次に、過去に行われたタスクが含まれる工程管理情報をタスク情報データベースから読み出して解析することにより、新たに工数の見積りが行われるプロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める。
そして、ネットワークを介して接続される通信端末によって選択され、新たに工数の見積りが行われるプロジェクトに含まれるタスクについて、解析サーバが解析した工数の予測値を解析情報として通信端末に表示させるものである。
【発明の効果】
【００１２】
本発明によれば、タスク分類に従ってタスク情報データベースより検索した過去のタスクの実績に基づいて、新たなタスクの工程を予測し、プロジェクトの工程を管理する。そして、工数の予測値を解析情報として通信端末に表示することによって、プロジェクトリーダーは、精度の高い工数を見積った工程管理を容易に行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施の形態における工程管理システムのシステム構成例を示すブロック図である。
【図２】本発明の第１の実施の形態における解析サーバの内部構成例を示すブロック図である。
【図３】本発明の第１の実施の形態における情報サーバの内部構成例を示すブロック図である。
【図４】本発明の第１の実施の形態におけるタスク情報データベースの内部構成例を示す説明図である。
【図５】本発明の第１の実施の形態における分類情報管理テーブルの構成例を示す説明図である。
【図６】本発明の第１の実施の形態における実績情報管理テーブルの構成例を示す説明図である。
【図７】本発明の第１の実施の形態におけるタスク情報管理テーブルの構成例を示す説明図である。
【図８】本発明の第１の実施の形態における実績情報管理テーブルから読み出されるタスクの規模及び工数について予測値と実績値の例を示す説明図である。
【図９】本発明の第１の実施の形態における工程管理表の表示例を示す説明図である。
【図１０】本発明の第２の実施の形態における工程管理装置の内部構成例を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の第１の実施の形態（以下、「本例」という。）について、添付図面を参照して説明する。本実施の形態では、プロジェクトリーダーがプロジェクトの工程と工数等を管理し、プロジェクトリーダー及び担当者が進捗情報を共有する工程管理システム１０に適用した例について説明する。この工程管理システム１０は、コンピュータ装置を含み、プログラムを実行することにより、内部ブロックが連携して行う工程管理方法を実現することができる。
【００１５】
図１は、工程管理システム１０の内部構成例を示す。
工程管理システム１０は、過去のプロジェクトで必要とされたタスクの工数等の実績値をタスクに関するタスク情報として蓄積するタスク情報データベース３から実績値を読み出し、解析サーバ１が実績値を解析し、新しいプロジェクトで必要となるタスクの工数等を見積もるものである。
【００１６】
工程管理システム１０は、用いるタスク情報と工数情報を含み、プロジェクトの工程を管理するために用いる工程管理情報を解析する解析サーバ１と、工程管理情報を入出力する情報サーバ２と、タスク情報データベース３と、ＬＡＮ等からなるネットワーク４と、ネットワーク４を介して各サーバ及びタスク情報データベース３に行われる不正な接続を遮断するファイアウォール７を備える。
【００１７】
また、工程管理システム１０は、ネットワークを介して接続される通信端末として、管理者端末５と担当者端末６を備える。管理者端末５と担当者端末６は、操作情報を入力する操作部（不図示）と、情報サーバ２から受け取る解析情報を表示部に表示する表示部（不図示）を有する。管理者端末５は、管理者権限を持つプロジェクトリーダーによって操作され、担当者端末６は、プロジェクトの担当者によって操作される。
【００１８】
管理者端末５と担当者端末６は、ユーザー毎に割り当てられるＩＤ、パスワードが入力されると、ネットワーク４及びファイアウォール7を介して各サーバにアクセス可能となる。管理者端末５は、操作部によりタスクの分類情報を登録する機能を有する。管理者端末５と担当者端末６は、情報サーバ２が解析サーバ１によって工数の見積りが行われた予測値を解析情報として画面に表示する。
【００１９】
解析サーバ１は、タスク情報データベース３から読み出した工程管理情報を解析する解析処理を行う機能を備えている。そして、解析サーバ１は、過去に行われたタスクが含まれる工程管理情報をタスク情報データベース３から読み出してタスクの工数を算出し、工程管理情報を解析することにより、新たに工数の見積りが行われるプロジェクトに含まれるタスクに必要となる工数を予測した予測値を求める。
【００２０】
情報サーバ２は、解析サーバ１及びタスク情報データベース３と通信する機能を備えている。また、情報サーバ２は、プロジェクトに要する工程を示す工程情報と工程毎の工数を入出力するインターフェース（後述する情報サーバポート２６）を備えており、ネットワーク４を介してインターフェースに管理者端末５と担当者端末６が接続される。そして、情報サーバ２は、解析サーバ１及びタスク情報データベース３の間で連携して解析情報及び工程管理情報を入出力し、管理者端末５と担当者端末６に工程情報、解析情報を提供する。
【００２１】
このとき、情報サーバ２は、ネットワークを介して接続される管理者端末５と担当者端末６によって選択され、新たに工数の見積りが行われるプロジェクトに含まれるタスクについて、解析サーバ１が解析した工数の予測値を解析情報として管理者端末５と担当者端末６に表示させる。また、情報サーバ２は、管理者端末５から受け取ったタスクの分類情報をタスク情報データベース３に登録し、管理者端末５と担当者端末６に対し、解析サーバ１によって工数の見積りが行われた予測値を、タスク毎に予測値及び実績値が一覧表示される工程管理表３５（後述する図９参照）として通信端末の表示部に表示させる。
【００２２】
タスク情報データベース３は、上述したようにプロジェクトの作業を細分化したタスクに関するタスク情報及びタスクの工数に関する工数情報を、プロジェクトの工程を管理するための工程管理情報として、タスクの種類を分類する分類情報に従って蓄積する。これらの情報は、タスクを管理するために必要となる各種のテーブル（後述する図４参照）によって管理している。
【００２３】
管理者端末５は、タスク情報の入力を受け付ける機能と、このタスク情報を不図示の表示部に表示する機能と、情報サーバ２から受け取ったタスクの予測値を工程管理表（後述する図９参照）として表示する機能を備える。担当者端末６は、タスク情報を表示部に表示し、進捗情報の入力を行う機能を備えている。これらの機能は、管理者端末５を操作するプロジェクトリーダーと、担当者端末６を操作する担当者の操作入力によって実行される。プロジェクトリーダー又は担当者が行った操作入力は、情報サーバ２を介して、解析サーバ１及びタスク情報データベース３に送られるため、管理者端末５と担当者端末６は、タスク情報データベース３にアクセスすることができる。
【００２４】
図２は、解析サーバ１の構成を示している。
解析サーバ１は、タスク情報データベース３から読み出したタスクの工数の実績値を、タスクの予測値を算出する予測関数を用いた最小２乗法により、タスクの予測値を求めるものである。解析サーバ１は、情報サーバ２に接続して解析情報を入出力する情報サーバ接続モジュール１１と、工程管理情報を解析してタスクの予測値を解析情報として算出する解析エンジン１２と、タスク情報データベース３に接続して工程管理情報を入出力するデータベース接続モジュール１３を備える。
【００２５】
解析サーバ１は、次の機能を搭載する。
情報サーバ接続モジュール１１は、情報サーバ２が行う解析情報の取得命令を受けると、解析エンジン１２が解析した解析情報を情報サーバ２に送信する機能を搭載する。また、データベース接続モジュール１３は、解析エンジン１２が行う工程管理情報の取得命令に応じて、タスク情報データベース３から工程管理情報を取得する機能と、タスク情報データベース３へ工程管理情報を反映する命令を送信する機能を搭載する。
【００２６】
図３は、情報サーバ２の構成を示している。
情報サーバ２は、タスク情報データベース３及び解析サーバ１の間で工程管理情報及び解析情報を連携し、タスクの実績値をタスク情報データベース３に反映する。これにより、解析サーバ１が求める予測値を実績値に近づけるように予測関数に当てはめて求められた予測値の精度を高めるものである。
【００２７】
情報サーバ２は、タスク情報データベース３に接続して工程管理情報を入出力するデータベース接続モジュール２１と、タスク情報データベース３から読み出した工程管理情報のうち、タスク情報を記憶するデータ構造モジュール２２を備える。また、情報サーバ２は、解析サーバ１に接続して解析情報を入出力する解析サーバ接続モジュール２３と、各部の制御を行うコントロールモジュール２４を備える。また、情報サーバ２は、管理者端末５、担当者端末６が備える不図示の表示部に表示される画面（以下、「ユーザーインタフェース」と呼ぶ。）を出力する画面入出力モジュール２５と、管理者端末５、担当者端末６から入力された操作情報を含むデータを受けとり、各端末に表示させるユーザーインタフェースを出力する情報サーバポート２６を備える。
【００２８】
情報サーバ２は、次の機能を搭載する。
データベース接続モジュール２１は、タスク情報データベース３により規定されるテーブル間のデータ構造をデータ構造情報として構築するために、タスク情報データベース３から工程管理情報を取得する機能と、タスク情報データベース３へ工程管理情報を反映する命令を送信する機能を搭載する。データ構造モジュール２２は、データベース接続モジュール２１を介して、コントロールモジュール２４にタスク情報を提供する機能と、タスク情報を一時記憶する機能を搭載する。解析サーバ接続モジュール２３は、解析サーバ１とコントロールモジュール２４との間に配置され、コントロールモジュール２４から受け取った解析サーバ１へ解析を実行する命令を送信する機能と、解析サーバ１がタスクの規模から解析した予測値を解析情報として取得する機能を搭載する。
【００２９】
コントロールモジュール２４は、ユーザーインタフェースとなるタスク情報入力画面（不図示）や工程管理表（後述する図９参照）を提供するために必要なタスク情報、予測値、工数情報等を加工し、画面入出力モジュール２５へ提供する機能を搭載する。また、データ構造モジュール２２からデータ構造情報を取得し、解析サーバ接続モジュール２３を介して、解析サーバ１から解析情報を取得する機能を搭載する。
【００３０】
画面入出力モジュール２５は、管理者端末５及び担当者端末６が接続される情報サーバポート２６とコントロールモジュール２４との間に配置される。そして、管理者端末５及び担当者端末６にユーザーインタフェースを提供し、各種の画面を表示出力したり、各端末から操作部により入力される操作情報を受け付けたりする機能を搭載する。また、コントロールモジュール２４を介して、解析サーバ１及びタスク情報データベース３に操作情報を出力することにより、ユーザーインタフェースを構成する情報の入出力を行う機能を搭載する。そして、情報サーバポート２６は、管理者端末５と担当者端末６の間で、画面入出力モジュール２５から受け取るユーザーインタフェースを構成する情報の送受信を行う。
【００３１】
図４は、タスク情報データベース３のテーブル構造を示している。
分類情報管理テーブル３１は、複数種類のタスクを分類する分類コードをキーとし、分類コード、分類名称及び補足事項を保持するテーブルである。そして、分類情報管理テーブル３１によって定義される分類に基づき、作業が完了したタスクを実績タスクとした実績情報が実績情報管理テーブル３２に蓄積される。
【００３２】
実績情報管理テーブル３２は、実際に作業が完了した実績タスクに関する情報を蓄積するテーブルである。実績情報管理テーブル３２は、プロジェクトの規模、工数を保持するほか、実績タスクを一意に識別する実績タスクＩＤをキーとし、タスクＩＤ、分類コード、作業名称を保持する。解析エンジン１２は、実績情報管理テーブル３２に蓄積した実績タスクに関する情報を解析して工数の予測値を求めており、この解析処理については、後述する図６を参照して説明する。
【００３３】
プロジェクト情報テーブル３３は、プロジェクトに関するプロジェクト情報を蓄積するテーブルである。プロジェクト情報テーブル３３は、プロジェクトを一意に識別するプロジェクトＩＤをキーとし、プロジェクト名称、開始日、終了日、プロジェクト纏め者、連絡先を保持する。
【００３４】
タスク情報テーブル３４は、タスク情報を蓄積するテーブルである。タスク情報テーブル３４は、タスクを一意に識別するタスクＩＤをキーとし、タスク名、分類コード、プロジェクトＩＤ、規模、工数、開始日、終了日、進度、担当者、先行タスクＩＤ、計画開始日、計画終了日、タスク番号、作業人数、予測工数を保持する。
【００３５】
図５は、分類情報管理テーブル３１の構成例を示している。
タスクは内容に応じて様々に分類される。例えば、分類名称が「データベースのデータの複雑な計算」あるタスクは、分類コード“１−４”、補足事項“ＫＳ（キロステップ）：プログラムのステップ数”で規定される。
【００３６】
図６は、実績情報管理テーブル３２の構成例を示している。
実績情報管理テーブル３２には、分類コード“１−４”に対する実績タスクＩＤとタスクＩＤのレコード毎に、タスクの規模及び工数が示される。
【００３７】
図７は、タスク情報テーブル３４の構成例を示している。
タスク情報テーブル３４に記録されたタスクＡについて、分類コード“１−４”とし、規模を６０ＫＳ（キロステップ）としたときに、解析サーバ１の解析エンジン１２は、タスクＡの工数を予測した＜予測値＞を算出する。ここで、分類コード“１−４”に対応する実績情報管理テーブル３２には、実績情報が蓄積されている状態とする。このため、解析エンジン１２は、タスクＡに対して、ｘ：規模、ｙ：工数とし、次式（１）に示すように、工数を予測するための予測関数にｘ，ｙを当てはめる。本例の予測関数は、４つのパラメータから構成される３次関数ｆ（ｘ）が用いられる。
【００３８】
【数１】
2013030036.tif 000003
【００３９】
そして、解析サーバ１の解析エンジン１２は、予測関数を用いた最小２乗法を用いて、Ｔを最小とするパラメータａ，ｂ，ｃ，ｄを次式（２）より算出し、タスクの工数を予測値として求める。
【００４０】
【数２】
2013030036.tif 000004
【００４１】
式（２）より、解析エンジン１２は、Ｔを最小にするａ，ｂ，ｃ，ｄは、それぞれ“０．０００１２”，“０．００１２５３”，“０．００１２５３”，“９．３５５８７９”として求める。このとき、Ｔの値は、“４４．３３”となり、予測工数は、４４．３３（人／月）となる。
【００４２】
図８において、実績情報管理テーブル３２から読み出されるタスクＡの規模及び工数について予測値と実績値の例をグラフに示す。
タスクＡの予測値は、タスクの規模が大きくなるにつれて工数が漸増する曲線を示しているが、実績値は予測値の曲線に沿ってプロットされることが示される。このため、タスクＡに必要な工数の見積りは概ね正しいことが分かる。
【００４３】
図９は、管理者端末５と担当者端末６に表示される工程管理表の表示例を示す。
工程管理システム１０は、各タスクの予測値と実績値の工程管理表３５をガントチャート形式で管理者端末５と担当者端末６の画面に表示する。プロジェクトリーダーは、管理者端末５に表示された工程管理表３５を見ながら、タスクの追加及び削除と、タスク情報の編集を行えるものとする。
【００４４】
工程管理表３５の最下段に示すように、プロジェクトリーダーがタスクＡを新たに追加する場合には、タスクの規模、分類、タスク情報が工程管理システム１０に入力され、工程管理表３５が管理者端末５又は担当者端末６の画面に表示される。タスク情報テーブル３４に含まれる作業人数を用いて、予測工数から日数が算出し、自動入力される。また、タスク２，３と同様に進捗が未完了であるタスクＢは、分類コードが一致する別のタスクが完了したため、予測工数が変化する。ここで、予測工数は、タスク情報データベース３に蓄積された同一分類コードの完了タスクの実績値に基づいてリアルタイムに算出される。したがって、未完了であるタスクＢの予測工数においても、他の同一分類であるタスクが完了し、実績値がタスク情報データベース３に反映されることで、予測工数が変化することとなる。
【００４５】
さらに、タスクＡを追加する操作では、プロジェクトリーダーが分類情報管理テーブル３１に分類コード、分類名称、補足事項を登録する。この操作が行われると、情報サーバ２のコントロールモジュール２４は、タスク情報データベース３にアクセスし、過去に登録されたタスクをタスク情報テーブル３４から抽出して、分類情報管理テーブル３１からタスクの分類コードを選択する。追加するタスクＡに適合する分類が分類情報管理テーブル３１に存在しない場合、新たな分類情報を分類情報管理テーブル３１に追加する。
【００４６】
そして、既に分類コードが設定されているタスクについて、タスクを追加する場合と、タスク情報を編集する場合に、解析エンジン１２は、タスクの規模と分類コードから上述した最小２乗法を用いて工数の予測値を算出する。タスクの進捗率（実績値／予測値）が１００％となって完了したタスクについて、情報サーバ２は、実績情報管理テーブル３２に実績情報を追加する。さらに、コントロールモジュール２４は、実績情報を追加したタスクについて、同じ分類コードにおけるタスクの進捗率が１００％に満たず、完了していないタスクの予測工数を算出し、工程管理表３５に表示する。これにより、タスクの予測値と実績値を容易に把握することができ、予測値の精度を高めることができる。
【００４７】
以上説明した第１の実施の形態に係る工程管理システム１０によれば、プロジェクトリーダーがタスクを入力する際に、他のプロジェクトで過去に必要であったタスクを管理者端末５に表示する。そして、プロジェクトリーダーがタスクの工数を入力する際には、過去の同じ分類のタスクの実績値から、予測関数に当てはめた予測値を算出して、この予測値を管理者端末５に表示する。さらに、プロジェクトリーダーは、作業が完了したタスクの実績値を、過去の実績値として反映する。このため、プロジェクトの実績値がタスク情報データベース３に蓄積されるにつれて、タスクと工数見積もりの誤りを少なくできる工程管理システム１０を提供できる。
【００４８】
このため、従来はプロジェクトリーダーの経験に依るところが大きかった曖昧な見積りをモデル化し、数値化して表現することができる。そして、過去に行われたプロジェクトのタスクの実績値に基づいて、統計的にタスクの予測値を求めることにより、ソフトウェア開発における工数の見積り精度を高めることが期待できる。また、従来は、新たな技術を用いるプロジェクトであれば、仕様を策定するために時間を要していた。しかし、このようなプロジェクトであっても、一部には以前に行ったプロジェクトが含まれることが多い。このため、以前に行われたプロジェクトの仕様を組み合わせることにより、新たな技術を用いるプロジェクトの仕様を策定し、工数、費用を見積もることが容易となる。
【００４９】
また、規格化されたプロジェクトでは、タスクを把握するためにテンプレートを設けてタスクを管理したり、判明しているタスクに一定の工数を当てはめたりすることで規格化したりする。このようにプロジェクトの工数を見積もるためのタスクが規格化されると、プロジェクト毎に含まれるタスクに過不足がなくなり、必要なタスクを正しく見積もることができるため、プロジェクトの工程管理に有効となる。
【００５０】
次に、本発明の第２の実施の形態に係る工程管理装置４０について説明する。
上述した実施の形態に係る工程管理システム１０は、解析サーバ１，情報サーバ２，タスク情報データベース３を管理者端末５に組み込むことで、管理者端末５をスタンドアロンとした工程管理装置４０として用いてもよい。
【００５１】
図１０は、工程管理装置４０の内部構成例を示す。
工程管理装置４０は、タスク情報データベース３に接続するデータベース接続モジュール４１，タスクの工数を解析する解析部４２，タスク情報データベース３に規定されるデータ構造に当てはめたデータをタスク情報データベース３との間で送受信するデータ構造モジュール４３、各部の動作を制御する制御部４４と、ユーザーインタフェースを作成する画面入出力モジュール４５を備える。さらに、工程管理装置４０には、ユーザーインタフェースとして工程管理表３５等の画面を表示する表示部４６と、ユーザーからの操作入力を受け付ける操作部４７が接続される。また、操作部４７から入力されたログインＩＤ、パスワードにより、操作入力するユーザーがプロジェクトリーダー又は担当者のいずれであるかを認証し、データへのアクセスを制限する認証部４８を備える。
【００５２】
本例のデータベース接続モジュール４１，解析部４２，データ構造モジュール４３、制御部４４は、それぞれ上述した第１の実施の形態に係るデータベース接続モジュール１３，２１、解析エンジン１２，データ構造モジュール２２、コントロールモジュール２４と同様の機能を有する。ただし、データベース接続モジュール４１は、解析部４２とデータ構造モジュール４３の２つの入出力を管理する。
【００５３】
また、工程管理装置４０は、プロジェクトリーダーと担当者が１台の工程管理装置４０を共用する。このため、それぞれ異なるＩＤとパスワードによってログインや編集権限、参照権限等を管理する認証部２９がタスク情報データベース３に接続され、タスク情報データベース３に対するアクセスを管理する。プロジェクトが小規模である場合には、解析サーバ１と情報サーバ２の機能を工程管理装置４０に含ませることで、複雑なネットワークを構築することなく、タスク情報データベース３にアクセスし、タスクの工数を見積もることができる。
【００５４】
上述した第１及び第２の実施の形態に係る工程管理システム１０及び工程管理装置４０を使用すると、次の効果がある。
まず、過去に蓄積されたタスク情報、工数情報等を含む工程管理情報から、新たに工数の見積りが行われるプロジェクトに含まれるタスクに同一又は類似である過去に行われたタスクを選択し、過去に行われたタスクの工数を統計処理して得た工数の予測値を解析情報としてユーザーに提供することができる。このため、ソフトウェア開発の工程管理において、タスクの入力と工数の見積りを支援することで、工数見積の誤りを軽減した工程管理が可能となる。
【００５５】
なお、管理者端末５、担当者端末６には、デスクトップ型のコンピュータ装置だけでなく、持ち運びが容易なノート型、タブレット型のコンピュータ装置や、スマートフォン等の携帯端末であってもよい。また、表示部４６には、液晶表示装置、有機ＥＬ（Electro-Luminescence）表示装置等を用いてよく、操作部４７には、マウス、キーボード等を用いてもよい。また、表示部４６と操作部４７は、映像の表示と操作入力を一画面で行うことが可能なタッチパネルディスプレイとして構成してもよく、スタイラスペンを用いて操作入力を可能としてもよい。
【００５６】
また、工程管理システム１０及び工程管理装置４０は、ソフトウェア開発だけでなく、建物等を建設する際における進捗管理に用いてもよい。
【００５７】
また、上述した実施の形態例における一連の処理は、ハードウェアにより実行することができるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種の機能を実行するためのプログラムをインストールしたコンピュータにより、実行可能である。例えば汎用のパーソナルコンピュータなどに所望のソフトウェアを構成するプログラムをインストールして実行させればよい。
【００５８】
また、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給してもよい。また、そのシステムあるいは装置のコンピュータ（またはＣＰＵ等の制御装置）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、機能が実現されることは言うまでもない。
【００５９】
この場合のプログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００６０】
また、コンピュータが読み出したプログラムコードを実行することにより、上述した実施の形態の機能が実現される。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行う。その処理によって上述した実施の形態の機能が実現される場合も含まれる。
【００６１】
また、本発明は上述した実施の形態に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
【符号の説明】
【００６２】
１…解析サーバ、２…情報サーバ、３…タスク情報データベース、４…ネットワーク、５…管理者端末、６…担当者端末、７…ファイアウォール、１０…工程管理システム、１１…情報サーバ接続モジュール、１２…解析エンジン、１３…データベース接続モジュール、２１…データベース接続モジュール、２２…データ構造モジュール、２３…解析サーバ接続モジュール、２４…コントロールモジュール、２５…画面入出力モジュール、２６…情報サーバポート、３１…分類情報管理テーブル、３２…実績情報管理テーブル、３３…プロジェクト情報テーブル、３４…タスク情報テーブル
【図１】
2013030036.tif 000005
【図２】
2013030036.tif 000006
【図３】
2013030036.tif 000007
【図４】
2013030036.tif 000008
【図５】
2013030036.tif 000009
【図６】
2013030036.tif 000010
【図７】
2013030036.tif 000011
【図８】
2013030036.tif 000012
【図９】
2013030036.tif 000013
【図１０】
2013030036.tif 000014