(57)【要約】【課題】電子ファイルを構築している現状の作業のより的確な進捗状況を取得する。【解決手段】プロジェクト監視システム１０が有する進捗状況管理装置１は、構築作業の行われている電子ファイル８ａ、８ｂ、８ｃ…の更新状況を監視する更新状況監視部１２と、電子ファイル８ａ、８ｂ、８ｃ…について予め想定される複数の更新状況のパターンと当該電子ファイルを構築する作業について予め想定される複数の進捗状況のパターンとを互いに対応付けた進捗予測テーブル１５ａを記憶する進捗予測情報記憶部１５と、更新状況監視部１２による監視結果と進捗予測テーブル１５ａとに基づいて、電子ファイル８ａ、８ｂ、８ｃ…を構築する現状の作業の進捗状況を判定する進捗状況判定部１６と、を備えている。【選択図】図２
2011081513.tif 000002
【特許請求の範囲】
【請求項１】
構築作業の行われている電子ファイルの更新状況を監視する監視部と、
前記電子ファイルについて予め想定される複数の更新状況のパターンと当該電子ファイルを構築する作業について予め想定される複数の進捗状況のパターンとを互いに対応付けた進捗予測情報を記憶する記憶部と、
前記監視部による監視結果と前記進捗予測情報とに基づいて、前記電子ファイルを構築する現状の作業の進捗状況を判定する判定部と、
を具備することを特徴とする進捗状況管理装置。
【請求項２】
前記監視部が監視する前記電子ファイルの更新状況及び前記記憶部がパターンとして記憶する更新状況は、
前記電子ファイルのボリュームの絶対量、当該ボリュームの変化量、前記電子ファイルの更新間隔及び前記電子ファイルの閲覧時間のうちの少なくとも一つを含む、
ことを特徴とする請求項１記載の進捗状況管理装置。
【請求項３】
前記進捗予測情報は、
予め想定される前記ボリュームの絶対量、前記ボリュームの変更量、前記更新間隔及び前記閲覧時間のうちの少なくとも二つ以上の更新状況のパターンの相関関係に基づいて、予め想定される進捗状況のパターンが対応付けられている、
ことを特徴とする請求項２記載の進捗状況管理装置。
【請求項４】
前記判定部による判定結果に応じて報知を行う報知部をさらに具備することを特徴とする請求項１ないし３のいずれか１項に記載の進捗状況管理装置。
【請求項５】
前記電子ファイルの構築作業を行う作業者の労働時間を取得する労働時間取得部をさらに備え、
前記報知部は、前記判定部による判定結果及び前記労働時間取得部による取得結果に応じて報知を行う、
ことを特徴とする請求項４記載の進捗状況管理装置。
【請求項６】
前記監視部は、構築作業の行われている複数の電子ファイルの更新状況を監視し、
前記監視部により更新状況を監視される複数の電子ファイルどうしの依存関係を検出する依存関係検出部と、
前記依存関係検出部による検出結果に基づいて、電子ファイル毎の重要度を算出する重要度算出部と、
をさらに備え、
前記報知部は、前記判定部による判定結果及び前記重要度算出部による算出結果に応じて報知を行う、
ことを特徴とする請求項４記載の進捗状況管理装置。
【請求項７】
構築作業の行われている電子ファイルの更新状況を監視するステップと、
前記電子ファイルについて予め想定される複数の更新状況のパターンと当該電子ファイルを構築する作業について予め想定される複数の進捗状況のパターンとを互いに対応付けた進捗予測情報を記憶するステップと、
前記電子ファイルの更新状況の監視結果と前記進捗予測情報とに基づいて、前記電子ファイルを構築する現状の作業の進捗状況を判定するステップと、
を有することを特徴とする進捗状況管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、構築作業が行われている電子ファイルにおいて、その作業の進捗状況を管理するための進捗状況管理装置及び進捗状況管理方法に関する。
【背景技術】
【０００２】
従来、ソフトウェアの開発作業は、複数の作業担当者により分業される場合が多く、プロジェクトリーダなどによって例えば作業項目毎の進捗状況が管理される。つまり、ソフトウェアの開発において、作業項目毎の進捗状況を管理することは、プロジェクト全体の進捗を調整する上で重要な要素となる。
【０００３】
そこで、ソフトウェアの開発作業に携わる担当者の負荷を正しく評価するために、ある作業項目の遅延時間やその担当者の作業量に対応した作業負荷を表示させるようにした進捗管理装置などが提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−９６２２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したような進捗状況は、例えば作業担当者各々の主観的な判断により進み具合をパーセンテージなどで入力した入力情報や、作業担当者自らの直接的な報告などに基づいて決定されるため、客観的にみて必ずしも的確な判断結果が得られているとはいえない。
【０００６】
特に、ソフトウェアの基本設計や、システム全体を機能単位に分割したサブシステムのプログラム設計などにおいては、その設計作業の遅れが、直接的に、プロジェクト全体の開発を遅延させることにつながる。このような場合、進捗上の障害を早急に見つけ出し直ちに対策を講じる必要がある。また、このような背景から、ソフトウェア開発の作業期間が長期に及ぶものについても、進捗上の課題に対し極力早期に対応を図る必要がある。
【０００７】
そこで、本発明は、上記課題を解決するためになされたものであり、電子ファイルなどを構築する現状の作業の、より的確な進捗状況を得ることができる進捗状況管理装置及び進捗状況管理方法の提供を目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の一態様である進捗状況管理装置は、作業工程の成果物として構築作業の行われている電子ファイルの更新状況を監視する監視部と、前記電子ファイルについて予め想定される複数の更新状況のパターンと当該電子ファイルを構築する作業について予め想定される複数の進捗状況のパターンとを互いに対応付けた進捗予測情報を記憶する記憶部と、前記監視部による監視結果と前記進捗予測情報とに基づいて、前記電子ファイルを構築する現状の作業の進捗状況を判定する判定部と、を具備することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、電子ファイルなどを構築する現状の作業の、より的確な進捗状況を得ることができる進捗状況管理装置及び進捗状況管理方法を提供することが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１の実施形態に係る進捗状況管理装置を備えたプロジェクト監視システムのハードウェア構成を示すブロック図。
【図２】図１のプロジェクト監視システムの構成を機能的に示すブロック図。
【図３】図３（ａ）は、ファイル共通の項目を表すプロパティであり、図３（ｂ）は、アプリケーション固有の項目を表すプロパティである。
【図４】図４（ａ）、図４（ｂ）は、電子ファイルのボリュームにおける絶対量の推移、変更量の推移をそれぞれ例示したグラフである。図４（ｃ）、図４（ｄ）は、電子ファイルの更新間隔の推移、閲覧時間の推移をそれぞれ例示したグラフである。
【図５】図２中の進捗状況管理装置が有する進捗予測テーブルを示す図。
【図６】図２中の進捗状況管理装置による処理を示すフローチャート。
【図７】本発明の第２の実施形態に係る進捗状況管理装置を備えたプロジェクト監視システムの構成を機能的に示すブロック図。
【図８】図７の進捗状況管理装置による処理を示すフローチャート。
【図９】本発明の第３の実施形態に係る進捗状況管理装置を備えたプロジェクト監視システムの構成を機能的に示すブロック図。
【図１０】図９の進捗状況管理装置による処理を示すフローチャート。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を図面に基づき説明する。
［第１の実施の形態］
図１、図２に示すように、この実施形態に係るプロジェクト監視システム１０は、複数の作業担当者により分業されるソフトウェアの開発作業において、例えば作業項目毎の進捗状況を管理するために利用される。
【００１２】
すなわち、この実施形態に係るプロジェクト監視システム１０は、図１、図２に示すように、進捗状況管理装置１と、作業データ記憶部８を有するファイルサーバ２と、複数の作業者端末５ａ、５ｂ、５ｃ…と、管理者端末３と、を備えている。これらの端末は、それぞれコンピュータによって実現されており、例えばＬＡＮ（Local Area Network）６を介して互いに接続されている。
【００１３】
図２に示すように、管理者端末３は、ソフトウェア開発のプロジェクトリーダ（作業管理者）が操作する端末であって、入力装置及び表示装置をハードウェアとして備えると共に、所定のＯＳ（オペレーティングシステム）の制御下で動作するブラウザソフト（ブラウザ）２１及びメールソフト（メーラ）２２がアプリケーションとして予め組み込まれている。
【００１４】
一方、複数の作業者端末５ａ、５ｂ、５ｃ…は、図１、図２に示すように、ソフトウェアの開発作業を分業して行う複数のオペレータ（作業担当者）がそれぞれ操作する端末である。また、作業者端末５ａ、５ｂ、５ｃ…は、入力装置及び表示装置を入出力用のデバイスとして備えると共に、所定のＯＳの制御下で動作するテキストエディタ、ワープロソフト（文書作成ソフト）、表計算ソフトなどが予め組み込まれている。
【００１５】
つまり、作業者端末５ａ、５ｂ、５ｃ…は、各オペレータがソフトウェアの基本設計書やソースプログラムなどを、図２に示すように、電子ファイル８ａ、８ｂ、８ｃ…として構築（作成）するために使用される。
【００１６】
ファイルサーバ２は、上述した作業者端末５ａ、５ｂ、５ｃ…を用いて構築作業の行われている電子ファイル８ａ、８ｂ、８ｃ…を、図２に示すように、作業データ記憶部８内に格納（記憶保持）する。すなわち、ファイルサーバ２は、作業者端末５ａ、５ｂ、５ｃ…側からのオープン、リード、ライト、クローズといったアクセス要求を受け付け、受け付けたアクセス要求の内容を実行する。
【００１７】
より具体的には、ファイルサーバ２は、電子ファイル８ａ、８ｂ、８ｃ…の新規保存、データの読み出し、データの書き込みを行い、これらのファイルアクセスに対する応答情報（つまり、電子ファイルから読み出したデータの内容や、ファイルアクセスの完了を示す応答通知など）を、作業者端末５ａ、５ｂ、５ｃ…側に返信する。
【００１８】
次に、本実施形態の進捗状況管理装置１について詳述する。図２に示すように、進捗状況管理装置１は、更新状況監視部１２と、進捗予測情報記憶部１５と、進捗状況判定部１６と、報知部１７と、を備えている。進捗状況管理装置１は、ハードウェアとして、ＣＰＵ、メインメモリ、外部（補助）記憶装置などを備えており、この外部記憶装置に格納された所定のプログラムをＣＰＵがメインメモリ上にローディングすることによって、更新状況監視部１２、進捗予測情報記憶部１５、進捗状況判定部１６及び報知部１７をソフトウェアなどによって実現する。なお、進捗状況管理装置１の上記各構成要素は、各種の電子部品を組み合わせて構成したハードウェアによって実現されるものであってもよい。
【００１９】
上記した更新状況監視部１２は、構築作業の行われている電子ファイル８ａ、８ｂ、８ｃ…の更新状況を監視する。より詳細には、更新状況監視部１２は、更新状況収集部９、監視ファイル名記憶部６、定期タイマ１４、変化量算出部１１及びデータベース７を有する。
【００２０】
監視ファイル名記憶部６は、更新状況の監視対象、すなわち進捗状況の管理対象とすべき電子ファイルが保管されているサーバ名、ディレクトリ（フォルダ名）、ファイル名を記憶している。この監視ファイル名記憶部６には、ソフトウェアの基本設計書やサブシステムのソースプログラムなど、当該ソフトウェア開発におけるプロジェクト全体の進捗を考慮した上で重要な電子ファイルの名称が選択的に記憶されている。
【００２１】
更新状況収集部９は、図２に示すように、定期タイマ１４によって計測される例えば一定の周期（時間間隔）で、ファイルサーバ２の作業データ記憶部８内から、監視対象の電子ファイルの更新状況を定期的に収集する。また、更新状況収集部９は、収集した電子ファイル毎の更新状況を収集時刻（現在時刻）と共にデータベース７に時系列に保存する。
【００２２】
さらに、更新状況収集部９は、監視対象の電子ファイルにおけるボリュームの絶対量、当該ボリュームの変更量、監視対象の電子ファイルの更新間隔及び当該電子ファイルの閲覧時間のうちの少なくとも一つを更新状況として収集する。なお、本実施形態の更新状況収集部９は、上記４種類の更新状況を全て収集する。
【００２３】
ここで、電子ファイルのボリュームの絶対量とは、電子ファイルのファイルサイズ、ページ数、単語数、文字数、行数、段落数のうちの、少なくとも一つから得られるデータ量である。また、電子ファイルのボリュームの変更量とは、今回収集したボリュームの絶対量と前回収集したボリュームの絶対量との差分量、若しくは、Ｕｎｉｘのｄｉｆｆコマンド（ｄｉｆｆプログラム）などに代表される公知の比較プログラムを用いて抽出可能な相違量である。更新状況収集部９と協働して動作する変化量算出部１１は、前者の、今回収集したボリュームの絶対量と前回収集したボリュームの絶対量との差分量をボリュームの変更量として算出し、計算したこの変更量をデータベース７に日時順に追加登録する。
【００２４】
さらに、電子ファイルの更新間隔とは、電子ファイルの更新状況における今回の収集を開始した現在時刻から、当該電子ファイルの最終更新時刻（最終更新日時）を減算した時間間隔である。また、電子ファイルの閲覧時間とは、更新状況収集部９による更新状況の定期的な収集時に、監視対象の電子ファイルに排他処理（例えばデータ編集機能を無効にするプロテクトなど）が与えられていた場合に閲覧中としてカウントし、このようにカウントされる閲覧中の回数に収集時間間隔を乗じた時間である。
【００２５】
ここで、図３（ａ）、図３（ｂ）において、例えば、Windows（登録商標）上で動作する例えばMicrosoft Word（登録商標）のドキュメントファイルのプロパティを例示する。図３（ａ）は、ファイル共通の項目２３を表すプロパティ（指標）であり、この項目２３からファイルサイズや最終更新日時を得ることができる。なお、図３（ａ）に示すように、電子ファイル８ａ、８ｂ、８ｃ…にアクセスした日時は、ファイルの閲覧の度に更新されるため、上記閲覧時間は、電子ファイルの更新状況に含まれる概念となる。一方、図３（ｂ）は、Microsoft Word（登録商標）固有の項目（アプリケーション固有の項目）を表すプロパティであり、この項目２４からページ数、単語数、文字数、行数、段落数などの情報を得ることができる。
【００２６】
次に、進捗予測情報記憶部１５について説明する。進捗予測情報記憶部１５は、図２に示すように、電子ファイル８ａ、８ｂ、８ｃ…について予め想定される複数の更新状況のパターン（バリエーション）と当該電子ファイル８ａ、８ｂ、８ｃ…を構築する作業について予め想定される複数の進捗状況のパターン（バリエーション）とを互いに対応付けた進捗予測情報を進捗予測テーブル１５ａとして記憶している。
【００２７】
進捗予測テーブル１５ａは、予め想定される更新状況のパターンとして、監視対象の電子ファイルにおけるボリュームの絶対量、当該ボリュームの変更量、監視対象の電子ファイルの更新間隔及び当該電子ファイルの閲覧時間のうちの少なくとも一つを記憶する。なお、本実施形態の進捗予測テーブル１５ａは、上記４種類の更新状況のパターンを全て記憶している。さらに、進捗予測情報記憶部１５は、図２に示すように、進捗予測テーブル１５ａを得るための基準となる閾値として、上記４種類の更新状況のパターンにそれぞれ対応させた複数の判定用閾値１５ｂを記憶している。
【００２８】
ここで、電子ファイルにおける更新状況の推移を例示した図４（ａ）〜図４（ｄ）に基づいて、進捗予測テーブル１５ａの構成を説明する。図４（ａ）に例示するように、時間経過に伴うボリュームの絶対量の変化傾向２５は、電子ファイルの構築作業の進捗と共に増加し、作業完了以降、一定値になる。例えば所定時間内でのボリュームの絶対量（絶対値）の増加がみられず、かつボリュームの現状の絶対量が、ボリュームの作業完了時の予測値よりも小さい場合（所定時間経過後の判定用閾値１５ｂよりもボリュームの絶対量が小さい場合）、電子ファイルを構築する作業の進捗状況は、その構築作業が停滞していると推定される。
【００２９】
また、図４（ｂ）に例示するように、時間経過に伴うボリュームの変更量の変化傾向２６は、電子ファイルの構築作業が進捗している場合、当該変更量が増加し、作業完了以降に変更量が０となる。したがって、例えば予め決められた期間において変更量が一定値以下の状態が継続している場合（所定期間中のボリュームの変更量が判定用閾値１５ｂよりも小さい場合）、電子ファイルを構築する作業が停滞していると推定される。
【００３０】
さらに、図４（ｃ）に例示するように、時間経過に伴う更新間隔の変化傾向２７については、一般に、オペレータ（作業担当者）が、ドキュメントの作成中やプログラムの編集中において、異常終了などによって変更内容を喪失しないようにするために、区切りのよいところで、変更データの保存（電子ファイルのデータ更新）を行う。したがって、更新間隔の変化傾向２７は、更新間隔が短い場合、順調に作業が進んでいると考えられる。なお、作業完了以降、更新間隔は、更新状況収集部９が収集を開始した現在時刻から、最終更新時刻を引いた時間間隔となる。つまり、現在時刻から最終更新時刻を引いた時間間隔が、更新間隔の判定用閾値１５ｂより大きい場合に作業が停滞していると推定される。
【００３１】
また、図４（ｄ）に示すように、時間経過に伴う閲覧時間の変化傾向２８は、作業が進捗している場合、当該閲覧時間が長くなり、作業完了以降に閲覧時間が０になる。したがって、例えば予め決められた期間において閲覧時間が一定値以下の状態が継続している場合（所定期間中の閲覧時間が判定用閾値１５ｂよりも小さい場合）、電子ファイルを構築する作業の進捗状況は、その構築作業が停滞していると推定される。
【００３２】
すなわち、図５に示すように、進捗予測テーブル１５ａは、電子ファイル８ａ、８ｂ、８ｃ…について予め想定される図４（ａ）〜図４（ｄ）などに例示した複数の更新状況のパターンと、当該電子ファイル８ａ、８ｂ、８ｃ…を構築する作業について予測される複数の進捗状況のパターンとを、図４（ａ）〜図４（ｄ）の説明で例示した複数の判定用閾値１５ｂに基づき、互いを対応付けたかたちで構成されている。
【００３３】
詳述すると、上記した進捗予測テーブル１５ａは、予め定性的に想定される前記ボリュームの絶対量、前記ボリュームの変更量、前記更新間隔及び前記閲覧時間のうちの少なくとも二つ以上の更新状況のパターンの相関関係に基づいて、予め想定される進捗状況のパターンが対応付けられている。なお、本実施形態の進捗予測テーブル１５ａは、上記４種類の更新状況のパターンの相関関係（４種類全ての相関関係）に基づいて、進捗状況のパターンが対応付けられている。
【００３４】
より具体的には、図５に示すように、作業例Ｂの場合、「ボリュームの絶対量及び変更量が大きく、かつ更新間隔及び閲覧時間が短い」という更新状況と、「構築作業が順調でかつ作業負荷が軽い」という進捗状況と、が対応付けられている。この作業例Ｂの場合、作業例Ａと異なり、閲覧時間が短いため、作業の進捗は順調であり、しかもその一方で作業負荷が軽いという状況が推定される。
【００３５】
また、図５に示すように、作業例Ｏの場合、「ボリュームの絶対量及び変更量が小さく、かつ更新間隔及び閲覧時間が長い」という更新状況と、「構築作業が停滞しかつ難航している」という進捗状況と、が対応付けられている。上記作業例Ｏと異なり、作業例Ｐの場合では、閲覧時間が短いため、作業の進捗は停滞し、またその一方で別作業（監視対象の電子ファイルを構築する作業以外の別の業務）を請け負っている可能性あり、という状況が推定される。ここで、図５に例示した進捗予測テーブル１５ａは、更新状況収集部９が電子ファイル８ａ，８ｂ，８ｃ…の更新状況を収集するタイミングが遅いか早いかで、想定される更新状況や進捗状況も変わってくるため、当該更新状況の収集のタイミング毎に異なるテーブル内容のものが複数用意されている。
【００３６】
進捗状況判定部１６は、更新状況監視部１２による監視結果と進捗予測テーブル１５ａの内容とに基づいて、オペレータが電子ファイルを構築する現状の作業の進捗状況を判定する。すなわち、進捗状況判定部１６は、更新状況監視部１２のデータベース７に格納された監視対象の電子ファイル毎の更新状況と、進捗予測テーブル１５ａ内の更新状況のパターンと、を比較照合して、対応する現状の作業の進捗状況を判定結果として選出し、選出したこの判定結果をデータベース７に保存する。また、進捗状況判定部１６は、このような進捗状況の判定を、更新状況収集部９が電子ファイル８ａ，８ｂ，８ｃ…の更新状況を収集するタイミング毎に毎回行う。
【００３７】
より具体的には、進捗状況判定部１６は、更新状況監視部１２による監視結果と進捗予測テーブル１５ａの内容とに基づいて、「順調」、「順調、かつ負荷が軽い」、「後戻り、専念はできている」、「後戻り、かつ別作業の可能性あり」、「停滞、かつ難航している」、「ほぼ順調」、「やや停滞ぎみ」などといった判定結果を得る。
【００３８】
また、進捗状況判定部１６は、更新状況監視部１２による監視結果と進捗予測テーブル１５ａの内容とに基づいて、推定される進捗状況のパターンが「順調」、「順調、かつ負荷が軽い」などに当てはまる場合にこれをまとめて「進捗状況に問題なし」と判定し、一方、推定される進捗状況のパターンが「後戻り、かつ別作業の可能性あり」や「停滞、かつ難航している」などに当てはまる場合にこれをまとめて「進捗状況に問題あり」と判定するといった２値的な判定結果を得るものであってもよい。
【００３９】
ここで、進捗状況判定部１６に対して、後者のように、進捗状況に問題があるか否かといった２値的な結果を判定させるか、又は、前者のように、「順調」、「後戻り…」「停滞…」…といった３以上の多値の定性的な結果を判定させるか、については適宜変更可能である。つまり、前者、後者のいずれか一方の判定方法が予め進捗状況管理装置１本体に固定的に設定されているものであってもよいし、また、これに代えて、いずれか一方の判定方法が、監視対象の電子ファイルの内容などに応じて、動的に切り替えられるものであってもよい。
【００４０】
報知部１７は、進捗状況判定部１６による判定結果に応じて、管理者端末３に報知を行うものであって、図２に示すように、メールサーバ機能部２０、閲覧画面生成部１８及びＷｅｂ（ウェブ）サーバ機能部１９を備えている。
【００４１】
メールサーバ機能部２０は、報知用閾値２０ａを記憶している。また一方で、メールサーバ機能部２０は、進捗状況判定部１６による進捗状況の判定結果を数値化（定量化）する機能を有する。つまり、報知用閾値２０ａは、進捗状況の判定結果を数値化した場合において、進捗の遅れなどを最低限許容できる極限値を定めたものである。
【００４２】
より詳細には、メールサーバ機能部２０は、進捗状況判定部１６により例えば「進捗状況に問題あり」や「停滞、かつ難航している」といった進捗の好ましくない判定結果が得られた場合、この判定結果を、報知用閾値２０ａを超える値に数値化する。また、メールサーバ機能部２０は、このようにして数値化される進捗状況の判定結果が報知用閾値２０ａを超えた場合、管理者端末３のメールソフト２２側へメールを通知することにより報知を行う。
【００４３】
通知されるメールの内容は、例えば「進捗状況に問題あり」や「停滞…」といった構築作業の具体的判定結果、該当する電子ファイルの名称、その電子ファイルの構築作業を行っているオペレータ（作業担当者）の名前、作業項目名、などである。例えば、図５に示す作業例Ｍ〜Ｐなどが更新状況として得られた場合、メールサーバ機能部２０は、メールを通知する。
【００４４】
Ｗｅｂサーバ機能部１９は、管理者端末３上で動作するブラウザソフト２１からの進捗状況の閲覧要求を受け付けた場合、閲覧画面生成部１８を制御する。この際、閲覧画面生成部１８は、電子ファイル毎に収集されたファイルの更新状況、及び電子ファイル毎の構築作業の進捗状況を表す閲覧画面を生成する。さらに、Ｗｅｂサーバ機能部１９は、閲覧画面生成部１８が生成した閲覧画面を、閲覧要求の応答情報として、ブラウザソフト２１に返信する。
【００４５】
なお、閲覧画面生成部１８が生成する閲覧画面の表示形態（表現方法）は、表形式やグラフ形式など、種々の表示形式を選択的に設定することが可能となっている。詳細には、グラフ形式の閲覧画面が設定された場合、閲覧画面生成部１８は、電子ファイル毎の更新状況や作業の進捗状況の時間的変化（推移）をトレンドグラフ表示させた画面などを生成する。
【００４６】
ここで、Ｗｅｂサーバ機能部１９及び閲覧画面生成部１８は、閲覧要求を受け付けていない場合であっても、進捗状況判定部１６による判定結果（を数値化した値）が上記報知用閾値２０ａを超えていた場合、これに連動して、電子ファイル毎の更新状況及び電子ファイル毎の構築作業の進捗状況を表す閲覧画面を生成し、生成した閲覧画面を管理者端末３上のブラウザソフト２１に自動送信するものであってもよい。
【００４７】
なお、Ｗｅｂサーバ機能部１９及び閲覧画面生成部１８が、上記閲覧画面を、後者のように自動送信するか、又は、前者のように、閲覧要求を受け付けた場合に送信するか、については適宜変更可能である。つまり、閲覧画面を、自動送信するか、若しくは閲覧要求を受け付けた場合に送信するか、といった機能的選択は、例えば、進捗状況管理装置１本体にいずれか一方の送信方法が予め固定的に設定されているものであってもよいし、また、これに代えて、監視対象の電子ファイルの内容などに応じて、前者、後者の送信方法が動的に切り替えられるものであってもよい。
【００４８】
次に、このように構成された進捗状況管理装置１により実現される進捗状況の管理方法を、上記した図１〜図５に加え、図６に示すフローチャートに基づき説明する。図６に示すように、まず、電子ファイル８ａ、８ｂ、８ｃ…の収集時刻になった場合（Ｓ［ステップ］１のＹＥＳ）、更新状況収集部９は、ファイルサーバ２上の作業データ記憶部８内から、監視対象の各電子ファイルの更新状況を収集する（Ｓ２）。
【００４９】
さらに、更新状況収集部９は、収集した電子ファイル毎の更新状況を収集時刻と共にデータベース７に時系列に保存する（Ｓ３）。また、進捗状況判定部１６は、更新状況収集部９やデータベース７を備えた更新状況監視部１２による監視結果と、進捗予測テーブル１５ａの内容とに基づいて、オペレータが電子ファイルを構築する現状の作業の進捗状況を判定する（Ｓ４）。
【００５０】
ここで、報知部１７が備えるメールサーバ機能部２０は、進捗状況判定部１６による判定結果（を数値化した値）が報知用閾値２０ａを超えているか否かを判別する（Ｓ５）。報知用閾値２０ａを超えている場合（Ｓ５のＹＥＳ）、メールサーバ機能部２０は、作業の進捗に問題がある旨を、該当する電子ファイルの名称などと共に、管理者端末３上のメールソフト２２側にメール送信して報知を行う（Ｓ６）。
【００５１】
さらに、Ｗｅｂサーバ機能部１９は、管理者端末３におけるブラウザソフト２１からの進捗状況の閲覧要求を受け付けた場合（Ｓ７のＹＥＳ）、閲覧画面生成部１８を制御する。この際、閲覧画面生成部１８は、電子ファイル毎に収集されたファイルの更新状況、及び電子ファイル毎の構築作業の進捗状況を表す閲覧画面を生成する（Ｓ８）。さらに、Ｗｅｂサーバ機能部１９は、閲覧画面生成部１８により生成された閲覧画面を管理者端末３上のブラウザソフト２１に送信する（Ｓ９）。
【００５２】
既述したように、本実施形態の進捗状況管理装置１は、ソフトウェアの開発作業を分業して各々構築作業が行われる電子ファイル８ａ，８ｂ，８ｃ…の実際の更新状況の監視結果と、更新状況のパターンに対応して想定される構築作業についての進捗状況のパターンを予め登録した進捗予測テーブル１５ａと、に基づいて、電子ファイルを構築する現状の作業の進捗状況を判定するものである。
【００５３】
つまり、本実施形態の進捗状況管理装置１によれば、電子ファイル８ａ，８ｂ，８ｃ…を構築する現状の作業の的確な進捗状況を得ることができるので、ソフトウェア開発における例えば作業項目毎の進捗状況を好適に管理することができる。また、進捗状況管理装置１によれば、電子ファイルを構築する作業の進捗状況の判定結果として「停滞…」や「進捗状況に問題あり」といった結果が得られた場合などにおいて、この旨を管理者端末３へメールにて通知するので、プロジェクトリーダに進捗上の課題を迅速に知らせることができる。
【００５４】
［第２の実施の形態］
次に、本発明の第２の実施形態を図７及び図８に基づき説明する。なお、図７において、図２に示した第１の実施形態の構成要素と同一の構成要素については、同一の符号を付与しその説明を省略する。
【００５５】
すなわち、図７に示すように、本実施形態の進捗状況管理装置３１を備えたプロジェクト監視システム３０は、出退勤システム３２との接続手段をさらに備えている。また、本実施形態の進捗状況管理装置３１は、第１の実施形態の進捗状況管理装置１が備えていた報知部１７に代えて報知部３７を備えると共に、労働時間取得部３３をさらに備えている。
【００５６】
図７に示すように、出退勤システム３２は、例えばコンピュータによって実現されており、既定のソフトウェアの開発作業に携わる全ての作業担当者、すなわち、各作業者端末５ａ、５ｂ、５ｃ…をそれぞれ操作するオペレータ毎の勤務日における実際の出勤時刻及び退勤時刻を得てこれを記憶装置内に記憶している。
【００５７】
労働時間取得部３３は、出退勤情報収集部３３ａ及び労働時間算出部３３ｂを備えて構成されており、電子ファイル８ａ、８ｂ、８ｃ…の構築作業を行うオペレータ毎の労働時間を取得する。つまり、出退勤情報収集部３３ａは、出退勤システム３２に毎日、アクセスして、各オペレータの前日の出勤時刻及び退勤時刻を収集する。労働時間算出部３３ｂは、収集した出勤時刻及び退勤時刻からオペレータ毎の実際の労働時間（勤務時間）を算出し、算出結果をデータベース７に保存する。
【００５８】
一方、報知部３７は、第１の実施形態の報知部１７の構成に加え、長時間勤務者担当作業抽出部３４を備えており、進捗状況判定部１６による判定結果及び前述した労働時間取得部３３による取得結果に応じて報知を行う。すなわち、長時間勤務者担当作業抽出部３４は、負荷判別用閾値３４ａを記憶していると共に報知用閾値調整部３４ｂを有する。負荷判別用閾値３４ａは、作業負荷が大きいと思われるオペレータを特定するために、基準となる上限の労働時間を定めたものである。
【００５９】
長時間勤務者担当作業抽出部３４は、労働時間算出部３３ｂにより算出された労働時間が、負荷判別用閾値３４ａを超えたオペレータ担当の電子ファイルを検出し、その更新状況が保存されたデータベース７中の該当する電子ファイルのレコードにマークを付与する。さらに、報知用閾値調整部３４ｂは、レコードにこのマークが付与された電子ファイルについては、他の電子ファイルと比べて、報知用のメールが通知されやすくなるように、メールサーバ機能部２０が保持する報知用閾値２０ａの値を調整する（値を下げる）。
【００６０】
つまり、更新状況のレコードにマークの付与された電子ファイルを構築するオペレータは、労働時間（勤務時間）が長く、本来のソフトウェア開発の作業以外に別作業などを抱えていることなどが考えられ、担当者個人として作業負荷が大きくなっていると推定される。そこで、本実施形態の進捗状況管理装置３１は、労働時間が長いオペレータ担当の電子ファイルの進捗については、報知用のメールを通知させやすくして、オペレータ毎の作業負荷の見直しなどをプロジェクトリーダに対して迅速に促すようにしている。
【００６１】
詳細には、報知用閾値調整部３４ｂが報知用閾値２０ａの値を低減させることにより、メールサーバ機能部２０は、第１の実施形態で例えば「やや停滞ぎみ」などと判定されたものについても、「停滞、かつ難航している」などと判定された場合と同様に、メール通知が行われるようになる。
【００６２】
次に、このように構成された進捗状況管理装置３１により実現される進捗状況の管理方法を、上記した図７に加え、図８に示すフローチャートに基づき説明する。図８に示すように、まず、労働時間取得部３３の出退勤情報収集部３３ａにより、各オペレータの出勤時刻及び退勤時刻が収集されると（Ｓ１１）、労働時間算出部３３ｂは、オペレータ毎の労働時間を算出し（Ｓ１２）、算出結果をデータベース７に保存する。
【００６３】
次に、長時間勤務者担当作業抽出部３４は、労働時間算出部３３ｂにより算出されたオペレータ毎の労働時間が、負荷判別用閾値３４ａを超えているか否かをそれぞれ判定する（Ｓ１３）。労働時間が負荷判別用閾値３４ａを超えている場合（Ｓ１３のＹＥＳ）、データベース７中において、該当するオペレータ担当の電子ファイルの更新状況を表すレコードにマークを付与する（Ｓ１４）。
【００６４】
次いで、報知用閾値調整部３４ｂを有する長時間勤務者担当作業抽出部３４は、更新状況を表すレコードにマークが付与された電子ファイルについては（Ｓ１５のＹＥＳ）、報知用閾値２０ａの値を下げたうえで、進捗状況の判定結果について報知用のメールを送信するか否かを判別する（Ｓ１６）。一方、更新状況を表すレコードにマークが付与されていない電子ファイルについては（Ｓ１５のＮＯ）、長時間勤務者担当作業抽出部３４は、報知用閾値２０ａを変更することなく、進捗状況の判定結果について報知用のメールを送信するか否かを判別する（Ｓ１７）。
【００６５】
したがって、本実施形態の進捗状況管理装置３１によれば、各オペレータが電子ファイルをそれぞれ構築する作業の進捗状況の判定結果と各オペレータの労働時間とに基づいて、管理者端末３側へ報知を行うか否かが決定されるので、オペレータ毎の作業負荷を考慮したうえで、ソフトウェア開発におけるプロジェクト全体の進捗状況を管理することが可能となる。
【００６６】
［第３の実施の形態］
次に、本発明の第３の実施形態を図９及び図１０に基づき説明する。なお、図９において、図２に示した第１の実施形態の構成要素と同一の構成要素については、同一の符号を付与しその説明を省略する。
【００６７】
すなわち、図９に示すように、本実施形態の進捗状況管理装置５１を備えたプロジェクト監視システム５０は、第１、第２の実施形態のファイルサーバ２に代えて、ファイルサーバ５２を備えている。また、本実施形態の進捗状況管理装置５１は、第１の実施形態の進捗状況管理装置１が備えていた報知部１７に代えて報知部５７を有すると共に、依存関係検出部５３及び重要度算出部５４をさらに備えている。
【００６８】
図９に示すように、ファイルサーバ５２は、テキストファイルなどのデータ変更を記録、管理するＣＶＳ(Concurrent Versions System)やＳｕｂｖｅｒｓｉｏｎなどに代表される構成管理サーバにより実現されている。また、本実施形態では、各オペレータによって構築される複数の電子ファイル８ａ、８ｂ、８ｃ…のうちで、プログラムソースファイル（ソースプログラム）が監視対象となる。
【００６９】
依存関係検出部５３は、依存状況抽出部５３ａ及び被依存数算出部５３ｂを備えて構成されており、更新状況監視部１２により更新状況を監視される複数のプログラムソースファイルどうしの依存関係を検出する。ここで、この依存関係とは、あるプログラムソースファイルと他のプログラムソースファイルと間での、変数の定義の関係や参照の関係などを表すものである。
【００７０】
つまり、依存状況抽出部５３ａは、ファイルサーバ５２の作業データ記憶部８から、監視対象の所定のプログラムソースファイルを選択し、さらに、当該プログラムソースファイルが依存する関数名、オブジェクト名、クラス名、引用ファイル名などを抽出して、この抽出結果をデータベース７に格納する。被依存数算出部５３ｂは、依存状況抽出部５３ａによる抽出結果に基づいて、監視対象のプログラムソースファイル毎に、被依存数（あるプログラムソースファイルに直接依存している他の全てのプログラムソースファイルの数）を算出する。また、例えば、第１のプログラムソースファイルが第２のプログラムソースファイルに直接依存し、かつ第２のプログラムソースファイルが第３のプログラムソースファイルに直接依存している場合において、被依存数算出部５３ｂは、第１のプログラムソースファイルと間接的に依存する第３のプログラムソースファイルを被依存数に含めるものであってもよい。
【００７１】
重要度算出部５４は、演算式記憶部５４ａを備えており、依存関係検出部５３による検出結果に基づいて、プログラムソースファイル毎の重要度を、上記演算式記憶部５４ａ内の演算式を用いて算出し、その算出結果をデータベース７に保存する。
【００７２】
ここで、演算式記憶部５４ａに記憶される演算式としては、重要度をＲ1、Ｒ2、Ｒ3、被依存数をＮ、Ｒmaxを定数とした場合、以下のような演算式（１）〜（３）を例示することができる。
【００７３】
Ｒ1＝Ｎ …式（１）
Ｒ2＝Ｎ2 …式（２）
Ｒ3＝Ｒmax ×（１−１／［１＋Ｎ］） …式（３）
【００７４】
ここで、重要度算出部５４が、上記演算式（１）〜（３）のいずれを用いるかについては適宜変更可能である。つまり例えば、演算式記憶部５４ａにいずれか一つの演算式が予め固定的に記憶され、重要度算出部５４が、記憶された一つの演算式を用いて重要度を算出するものであってもよいし、また、これに代えて、演算式記憶部５４ａに演算式（１）〜（３）の全てが記憶され、かつ開発すべきソフトウェアの内容などに応じて、重要度算出部５４が、演算式（１）〜（３）のうちのいずれかを選択して重要度を算出するものであってもよい。
【００７５】
一方、報知部５７は、第１の実施形態の報知部１７の構成に加え、報知用閾値調整部５５を備えており、進捗状況判定部１６による判定結果及び上記した重要度算出部５４による算出結果に応じて報知を行う。すなわち、報知用閾値調整部５５は、重要度の高い（被依存数の多い）プログラムソースファイルについては、他のプログラムソースファイルと比べて、報知用のメールが通知されやすくなるように、メールサーバ機能部２０が保持する報知用閾値２０ａの値を調整する（値を下げる）。
【００７６】
つまり、重要度の高いプログラムソースファイルは、他のプログラムソースファイルからより多く依存され、これら他のプログラムソースファイルの構築作業の進捗に大きな影響を与えることになる。この点を考慮し、本実施形態の進捗状況管理装置５１は、重要度の高いプログラムソースファイルの進捗については、報知用のメールを通知させやすくして、プロジェクトリーダが迅速に対応を図れるようにしている。したがって、第１の実施形態で「やや停滞ぎみ」などと判定されたものについても、「停滞、かつ難航している」などと判定された場合と同様に、メール通知が行われるようになる。
【００７７】
次に、このように構成された進捗状況管理装置５１により実現される進捗状況の管理方法を、上記した図９に加え、図１０に示すフローチャートに基づき説明する。図１０に示すように、まず、依存関係検出部５３の依存状況抽出部５３ａは、監視対象のプログラムソースファイルが、他のプログラムソースファイルへの依存関係がある場合（Ｓ２１のＹＥＳ）、当該プログラムソースファイルが依存する関数名、オブジェクト名、クラス名、引用ファイル名などを抽出する（Ｓ２２）。
【００７８】
次に、被依存数算出部５３ｂは、依存状況抽出部５３ａによる抽出結果に基づいて、このプログラムソースファイルの被依存数を算出する（Ｓ２３）。続いて、重要度算出部５４は、依存関係検出部５３による検出結果に基づいて、このプログラムソースファイルの重要度を算出する（Ｓ２４）。次いで、報知用閾値調整部５５は、重要度の高い（被依存数の多い）プログラムソースファイルについては、他のプログラムソースファイルと比べて、報知用のメールが通知されやすくなるように、メールサーバ機能部２０が保持する報知用閾値２０ａの値を調整する（Ｓ２５）。さらに、このような報知用閾値調整部５５を有する報知部５７は、進捗状況判定部１６による判定結果及び重要度算出部５４による算出結果（つまり調整された報知用閾値）に基づいて、報知用のメールを送信するか否かを決定する（Ｓ２６）。
【００７９】
このように、本実施形態の進捗状況管理装置５１によれば、電子ファイル（プログラムソースファイル）を構築する作業の進捗状況の判定結果と電子ファイルどうしの依存関係に対応する重要度とに基づいて、管理者端末３側へメールを通知するか否かが制御されるので、ある電子ファイルの構築作業の進捗が、他の電子ファイルの構築作業の進捗に及ぼす影響を考慮したうえで、ソフトウェア開発におけるプロジェクト全体の進捗状況を管理することができる。
【００８０】
以上、本発明を第１〜第３の実施の形態により具体的に説明したが、本発明はこれらの実施形態にのみ限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、第２及び第３の実施形態の進捗状況管理装置３１、５１の両機能を併せ持った単一の進捗状況管理装置を構成してもよい。また、第１〜第３の実施形態のファイルサーバ２（５２）及び管理者端末３のうちのいずれか一方及び双方の機能を組み込んだ進捗状況管理装置を構成してもよい。
【符号の説明】
【００８１】
１，３１，５１…進捗状況管理装置、２，５２…ファイルサーバ、３…管理者端末、５ａ，５ｂ，５ｃ…作業者端末、６…監視ファイル名記憶部、７…データベース、８…作業データ記憶部、８ａ，８ｂ，８ｃ…電子ファイル、９…更新状況収集部、１０，３０，５０…プロジェクト監視システム、１１…変化量算出部、１２…更新状況監視部、１４…定期タイマ、１５…進捗予測情報記憶部、１５ａ…進捗予測テーブル、１５ｂ…判定用閾値、１６…進捗状況判定部、１７，３７，５７…報知部、１８…閲覧画面生成部、１９…Ｗｅｂ（ウェブ）サーバ機能部、２０…メールサーバ機能部、２０ａ…報知用閾値、２１…ブラウザソフト、２２…メールソフト、３２…出退勤システム、３３…労働時間取得部、３３ａ…出退勤情報収集部、３３ｂ…労働時間算出部、３４…長時間勤務者担当作業抽出部、３４ａ…負荷判別用閾値、３４ｂ，５５…報知用閾値調整部、５３…被依存関係検出部、５３ａ…依存状況抽出部、５３ｂ…被依存数算出部、５４…重要度算出部、５４ａ…演算式記憶部。
【図１】
2011081513.tif 000003
【図２】
2011081513.tif 000004
【図３】
2011081513.tif 000005
【図４】
2011081513.tif 000006
【図５】
2011081513.tif 000007
【図６】
2011081513.tif 000008
【図７】
2011081513.tif 000009
【図８】
2011081513.tif 000010
【図９】
2011081513.tif 000011
【図１０】
2011081513.tif 000012