(57)【要約】      （修正有）【課題】  ソフトウェア開発プロジェクトにおける、各開発担当者の進捗報告に要する負担を排し、自動的に進捗情報を収集および集計して提供する。【解決手段】  エージェント部２ａは、プロジェクトの成果物が格納されたプロジェクト共有ファイルフォルダ内に格納されているドキュメントなどを格納したフォルダにアクセスし、取得するフォルダアクセスエージェント５と、同じくプログラムコード(ソース)にアクセスするソース管理アクセスエージェント６と、を有し、設定によって定められたフォルダをローカルコピー領域部２ｃへコピーする仲介を行う。メタパーサー部８は、フォルダのツリー構造を走査し、解析する。メタパーサー部８の支配下には、ファイルタイプ別パーサー９ａ・９ｂ・９ｃが設けられている。最終的には、メタパーサー部８が、フォルダ構成・ファイル名・ファイル種別・ファイルサイズ・最終変更日時・最終変更者名などの情報を取得する。【選択図】  図３
2007034568.tif 000002
【特許請求の範囲】
【請求項１】
プログラム開発プロジェクトにおいて作成中のファイルをフォルダ形式で保存しプロジェクト関係者が参照可能なプロジェクト共有ファイル格納部にアクセス可能なエージェント部と、
前記プロジェクト共有ファイル格納部内から前記エージェント部がアクセスして取得したフォルダのツリー構造を解析しファイルタイプが同じであるファイルを抽出し該ファイル毎に機械的な解析を行うことによりファイルの内容量を推定するファイルタイプ別パーサーを有するメタパーサー部と、
該メタパーサー部により推定された前記フォルダ内のファイルの内容量に関する集計を行う集計部と
を有するソフトウェア開発プロジェクト管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発プロジェクトの進捗情報入力自動化システムに関し、特に、ソフトウェアプログラム開発プロジェクトにおける進捗管理および生産管理情報を自動的に蓄積・収集し、状況を可視化することができるシステムに関するものである。
【背景技術】
【０００２】
情報技術の急激な発展や情報システムに対する機能要求の高度化、開発期間の短縮の要求などにより、ソフトウェアプログラム開発プロジェクトに関する管理が益々複雑になってきている。そこで、近年、ソフトウェア開発プロセスの標準化やそれを支援するプロジェクト管理を支援するシステムが市場に提供されている。
【０００３】
図１は、一般的なソフトウェアプロジェクト管理システムの概要を示すブロック構成図である。図１に示すように、一般的なソフトウェア管理システムは、各開発担当者が日々の進捗を入力するとともに、管理者が管理情報を入力する入力部１０５と、それら情報を蓄え管理するデータベース部１０１と、入力された情報とデータベース内の情報とに基づいて例えばプロジェクトの状況を評価する評価集計部１０３と、データを整理し、表示する表示部１０７と、を有している。
【０００４】
図１に示すような構成を有するソフトウェア開発プロジェクト管理システムでは、各開発者は開発作業を行い、各種プログラムやドキュメントを製造した後に、進捗情報を入力部１０５に登録処理する。また、管理者側も、予算・予定情報を、入力部１０５を用いて情報を入力する。プロジェクトの進捗状況や実績情報を確認したいユーザが表示部分により、入力されたデータを表示させ、確認することもできる（例えば、特許文献１参照）。
【特許文献１】特開２００３−２８０９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現在、各種様々なプロジェクト管理システムが提供されているが、実際に運用する場合には以下のような問題がある。工業製品の生産管理と異なり恣意性の高いソフトウェア開発においては、その進捗状況を客観的に計測することが難しい。そのため、各開発担当者が進捗情報を定期的に入力することを義務付ける必要があるが、進捗を計る指標として、開発を行ったステップ数（プログラム行数）や、進捗率、作成ドキュメント数など様々な指標を入力する必要があり、その点で各開発担当者の負担が増えてしまうという問題がある。
【０００６】
そこで、入力を簡素化するユーザーインターフェイスを提供したり、概略での進捗報告を管理者が取りまとめる等の回避策がとられることもある。しかしながら、進捗報告の客観性が失われ、実態とかけはなれた進捗情報を提供してしまう可能性が高い。
【０００７】
本発明は、ソフトウェア開発プロジェクトにおける、各開発担当者の進捗報告に要する負担を低減することを目的とする。また、自動的に進捗情報を収集および集計して客観性を高めることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、プログラム開発プロジェクトにおいて作成中のファイルをフォルダ形式で保存しプロジェクト関係者が参照可能なプロジェクト共有ファイル格納部にアクセス可能なエージェント部と、前記プロジェクト共有ファイル格納部内から前記エージェント部がアクセスして取得したフォルダのツリー構造を解析しファイルタイプが同じであるファイルを抽出し該ファイル毎に機械的な解析を行うことによりファイルの内容量を推定するファイルタイプ別パーサーを有するメタパーサー部と、該メタパーサー部により推定された前記フォルダ内のファイルの内容量に関する集計を行う集計部とを有するソフトウェア開発プロジェクト管理システムが提供される。
【０００９】
これにより、フォルダ構造を有するプログラム開発プロジェクトにおいて作成中のファイルに関して、内容量を客観的に推定することができる。
【発明の効果】
【００１０】
以上のように、本発明のプロジェクト管理システムにおいては、各開発担当者が自分の日々の進捗状況を入力することなく自動的に進捗状況情報が収集することができる。また、客観的な指標に基づいた客観的なプロジェクト進捗状況をプロジェクト関係者に提供できる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の一実施の形態によるソフトウェア開発プロジェクトの進捗情報入力を自動化するソフトウェア開発プロジェクト管理システム（以下、「ソフトウェア開発プロジェクト進捗情報入力自動化システム」と称する。）について図面を参照しつつ説明を行う。
【００１２】
図２は、本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システムの一構成例を示す機能ブロック図である。図２に示すように、本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システム２は、ソフトウェア開発プロジェクトの成果物を保存、管理するプロジェクト共有ファイルフォルダ１と、データを格納するデータベース部３に接続可能に構成されている。プロジェクト共有ファイルフォルダ（プロジェクト共有ファイル格納部）１は、現在進行中のプロジェクトで作成された様々なドキュメントファイル、ソースファイルを保存し、各開発者が共有（参照可能）になっている。本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システム２は、エージェント部２ａと、進捗状況などを表示する表示部２ｂと、成果物のファイルを格納するローカルコピー領域部２ｃと、ドキュメントやソースの日々の進捗を管理し、集計する管理・集計部２ｄと、データベースアクセス部２ｅと、パーサー部２ｆと、を有している。
【００１３】
プロジェクト共有ファイルフォルダ１では、プロジェクトの進捗に伴って更新される要求仕様に関するドキュメント類や設計書類などが、任意のフォルダ構成上に様々な文書形式で保存される。プロジェクト共有ファイルフォルダ１とプロジェクト管理システム２は例えばＬＡＮ(Local Area Network)環境で接続されており、同様に、データベース部３と接続されている。
【００１４】
図３は、本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システムのより詳細な内部構成例を示す機能ブロック図である。図３に示すように、エージェント部２ａは、プロジェクト共有ファイルフォルダ１（図２）内に格納されているドキュメントなどを格納したフォルダに例えば定期的にアクセスし、取得するフォルダアクセスエージェント５と、同じくプログラムコード(ソース)に定期的にアクセスするソース管理アクセスエージェント６と、を有している。実際には、管理・集計部２ｄが定期的に起動し、設定によって定められた時刻にフォルダアクセスエージェント５および/又はソース管理アクセスエージェント６を起動する。２つのエージェント５・６は、プロジェクトの成果物が格納されたプロジェクト共有ファイルフォルダ部１（図２）から、設定によって定められたフォルダをローカルコピー領域部２ｃへコピーする仲介を行うエージェントである。ローカルコピー領域部２ｃは、ある期間内、例えば、１週間分のコピー履歴を蓄積できるように構成されている。
【００１５】
その後、管理・集計部２ｄはメタパーサー８を呼び出す。図３に示すように、メタパーサー部８は、フォルダ・ファイルの内容を機械的に解析する機能を有しており、例えばフォルダのツリー構造を走査し、解析する。メタパーサー部８の支配下には、ファイルタイプ毎に仕分けされたファイルの解析をそれぞれ行うファイルタイプ別パーサー９ａ・９ｂ・９ｃが設けられている。例えば、図３においては、ファイルタイプ別パーサー９ａは、（.ｄｏｃ）で示されるファイルを、ファイルタイプ別パーサー９ｂは（.ｘｌｓ）で示されるファイルを、ファイルタイプ別パーサー９ｂは（.ｐｄｆ）で示されるファイルを解析する。
【００１６】
最終的には、メタパーサー部８が、フォルダ構成・ファイル名・ファイル種別・ファイルサイズ・最終変更日時・最終変更者名などの情報を取得する。この処理により、現時点でのプロジェクトの成果物の一覧を把握することが可能になる。
【００１７】
次に、管理・集計部２ｄは、各ファイルの情報を集計、取得する。実際のファイル種別は、上記のように、通常のテキスト形式（.ｔｅｘｔ）のドキュメントやワード形式、エクセル形式、ＰＤＦ形式などの様々な種別があるため、管理・集計部２ｄは、そのファイル種別それぞれに対応するファイルタイプ別パーサー９を呼び出し、ファイル種類別の情報を取得、集計する。
【００１８】
プロジェクト成果物一覧と各ファイルの情報は、プロジェクトごとのＩＤと集計実施日時に関連付けされ、データベースアクセス部２ｅを通じてデータベース３に保存される。
【００１９】
表示部２ｂは、プロジェクトの構成員やプロジェクトリーダが、プロジェクト情報を参照したい場合の表示画面であり、プロジェクトに対する管理情報の入力を行いたい場合に、ユーザーインターフェイスも提供可能である。本実施の形態によるシステムでは、各開発者の進捗情報入力の手間をできるだけ少なくすることが主目的であるため、各開発者は情報入力に必要な特別なソフトウェアや入力装置を用意しない代わりに、一般的なWebブラウザを用いて各種のプロジェクト情報を表示することができるように、表示部はHTML形式でプロジェクト情報を提供するのが好ましい。
【００２０】
図４（Ａ）から（Ｃ）までは、本実施の形態によるデータベース内のデータ構成例を示す図である。図４（Ａ）に示すプロジェクト情報テーブル１３は、プロジェクト毎に１レコードを使い、プロジェクトＩＤとプロジェクト全体の概要情報を格納する。概要情報は、例えば、プロジェクトＩＤに対応するプロジェクト名と、開始日と、終了日と、概要と、リーダー名と、を含む。これらの情報は、初期入力者が最初に入力して設定する情報である。
【００２１】
図４（Ｂ）に示すフォルダ情報テーブル１４は、メタパーサー部８が解析した結果を示すテーブルであり、フォルダ構造を２次元表に展開した形で情報が格納されている。一意性を提供する主キー列の他に、フォルダ毎のＩＤと、プロジェクトＩＤ、ルートフォルダからの相対パス、収集日時、図示しないフォルダ名、格納されるファイル数等を管理する。
【００２２】
図４（Ｃ）に示すファイル情報格納テーブル１５は、ファイル毎の詳細な情報を格納するテーブルである。一意性を提供する主キー列の他に、ファイルＩＤ，フォルダＩＤ、集計日時、ファイルの名称、ファイルを構成するデータ種別、最終更新者名、最終更新日時、その他ファイルの種類に応じた情報が格納される。さらに、集計日時や、ファイルの文字数、プログラム行数、ページ数などのファイルの内容量を推定できる情報を含む。
【００２３】
図５は、本実施の形態によるシステムの処理の流れを示すフローチャート図である。適宜、他の図面も参照して説明を行う、ステップＳ１において、管理・集計部２ｄがフォルダアクセスエージェント５を呼び出す。フォルダアクセスエージェント５は、設定ファイルからプロジェクト共有ファイルフォルダへのパスを取得し、そのパスのデータを、全てローカルコピー領域部２ｃへコピーする（ステップＳ２）。フォルダアクセスエージェント５は、メタパーサー８を起動し（ステップＳ３）、パスのデータを解析（走査）してルートフォルダ配下のフォルダとファイルの一覧を取得する。この際、フォルダに関しては図４（Ｂ）のフォルダ情報テーブル１４に示すフォルダ情報を取得する（ステップＳ４）。ステップＳ５においてファイル一覧を取得する。
【００２４】
次いで、ファイル種別を判定し（ステップＳ６）、処理対象ファイルであるか否かを見る。処理対象外ファイルの場合は、そのファイルの処理をスキップし、次のファイルの処理に進む（ステップ１０）。ここで処理対象外ファイルとは、単に成果物の管理用等の目的で設けられたファイルで、成果物として集計するのに不適切なファイルをいい、あらかじめファイル種別、ファイル名等によって区別できるようにしておく。
【００２５】
処理対象外ファイルの場合は、ステップＳ７に進み、そのファイル種別に応じてファイルタイプ別パーサー部９ａから９ｃのいずれかを起動する。例えば、ファイル一覧の中で、PDFファイルが見つかった場合は、例えばPDF形式のファイルを開き、ＰＤＦ形式のファイル中のテキストデータ数やページ数を集計することにより、ファイル詳細情報（例えば、あるファイルにおけるテキスト換算のデータ数など）を取得する（ステップＳ８）。ステップＳ９において、ファイル詳細情報をデータベース部３にファイルを一意に識別するファイルＩＤ１５ａとともに格納する。次いで、ファイル情報テーブル１５に残りファイルが存在するか否かをステップＳ１０において判定し、残りファイルが存在する場合には（Ｙｅｓ）、ステップ６に戻って次のファイルのファイル種別を判定し、残りファイルが存在しない場合には（Ｎｏ）、ステップＳ１０に進む。次いで、フォルダ情報テーブル１４に残りフォルダが存在するか否かをステップＳ１０において判定し、残りフォルダが存在しない場合には（Ｎｏ）、ステップＳ１２に進み処理を終了する（ｅｎｄ）。ステップＳ１０において残りフォルダが存在する場合には（Ｙｅｓ）、ステップＳ５に戻り、次のフォルダに対するファイル情報一覧を取得する。
【００２６】
このようにして、ファイルとフォルダのツリー構造を展開したフォルダ情報テーブル１４及びファイル情報テーブル１５を用いて、全てのファイルとフォルダの情報を取得するまで処理を継続する。これにより、対象とするフォルダに関するファイルの詳細情報を図４（Ｃ）に示すように、データベースに登録することができる。上述のように、図４（Ｃ）に示すファイルの詳細情報は、ファイル毎の詳細な情報を格納するテーブルである。ファイル毎のファイルを構成するデータ種別と、ファイルの文字数、プログラム行数、ページ数などのファイルの内容量を推定できる情報を含む。
【００２７】
図６（Ａ）、（Ｂ）は、上記処理結果として得られたファイルの詳細情報の活用例を示すグラフであり表示部２ｂに表示させることができるグラフの例を示す図である。図６（Ａ）は設計段階における時間経過に伴う文字数とファイル数との変化を示す図である。プログラム作成時にファイル数は、時間的には初期段階において急激に増加し、その後は少し増減はあるものの、納期までそれほど変化しない。従って、ファイル数の時間変化のみを観測していても、プロジェクトの進捗状況が把握しにくいことがわかる。一方、上記の解析に基づいて得られた総文字数は、時間軸に対して初期段階ではほとんど変化せず、ある時点であってファイル数はほぼ一定になった後にほぼ直線的に増加し、ある時期で略一定となる傾向にある。従って、プロジェクトの進捗状況を客観的に把握し、ファイル数が一定になった後であって、ファイルの総文字数の変化が略一定になる時点を納期として定めるのが妥当である。このような状況は、図６（Ｂ）に示す開発プロジェクトの進捗状況においても同様の傾向となるため、プログラム開発プロジェクトでは、本実施の形態による手法がプロジェクトの進捗状況を推定する場合に有用であると言える。この図よりプロジェクトの進捗状況を客観的にみることができる上に、納期も推測することができる。
【００２８】
本実施の形態によるソフトウェア開発プロジェクトの進捗情報入力自動化システムによれば、プロジェクト構成員は、プロジェクト共有ファイルフォルダ内に現在のプログラムの成果物を単に入力しておくだけで、自動的にプログラム開発プロジェクトの進捗状況や予定納期を客観的に予測することができる。従って、プロジェクト構成員に負担をかけずに、プロジェクトリーダは、プログラム開発プロジェクトの進捗状況や予想納期を知ることができるという利点がある。
【産業上の利用可能性】
【００２９】
本発明は、プログラム開発プロジェクトの進捗状況管理システムとして利用可能である。
【図面の簡単な説明】
【００３０】
【図１】一般的なソフトウェアプロジェクト管理システムの概要を示すブロック構成図である。
【図２】本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システムの一構成例を示す機能ブロック図である。
【図３】本実施の形態によるソフトウェア開発プロジェクト進捗情報入力自動化システムののより詳細な内部構成例を示す機能ブロック図である。
【図４】本実施の形態によるデータベース内のデータ構成例を示す図である。
【図５】本実施の形態によるシステムの処理の流れを示すフローチャート図である。
【図６】図５に示す処理結果として得られたファイルの詳細情報の活用例を示すグラフであり表示部に表示させることができるグラフの例を示す図である。
【符号の説明】
【００３１】
１…プロジェクト共有ファイルフォルダ、２…プロジェクト管理システム、２ａ…エージェント部、２ｂ…表示部、２ｃ…ローカルコピー領域部、２ｄ…管理・集計部、２ｅ…データベースアクセス部、３…データベース部、５…フォルダアクセスエージェント、６…ソース管理アクセスエージェント、８…メタパーサー部、９ａ〜９ｃ…ファイルタイプ別パーサー、１３…プロジェクト情報テーブル、１４…フォルダ情報テーブル、１５…ファイル情報格納テーブル。
【図１】
2007034568.tif 000003
【図２】
2007034568.tif 000004
【図３】
2007034568.tif 000005
【図４】
2007034568.tif 000006
【図５】
2007034568.tif 000007
【図６】
2007034568.tif 000008