(57)【要約】【課題】作業スケジュールを管理者が把握することを容易にする。【解決手段】処理部１２は、未完了の各タスクの開始予定日及び完了予定日を含むタスク情報１１ａと、進捗報告日ごとの上記各タスクの進捗率を含む進捗情報１１ｂとを記憶部１１から取得し、進捗情報１１ｂに基づいて、未完了のタスク１５の進捗率の増加度の平均値または直近値を算出し、平均値または直近値に基づいて、タスク１５の完了予定日（日Ｄ２）からの遅れを示す遅延量ｄ１を算出し、タスク情報１１ａと遅延量ｄ１とに基づいて、タスク１５の次に実行される予定であり、遅延量ｄ１の影響でタスク１５と作業期間が重複する未完了のタスク１６を検出し、遅延量ｄ１に第１の値（図１の例では２）を乗じて、作業期間の重複の影響を含む、タスク１５及びタスク１６のそれぞれの完了予定日（日Ｄ２，Ｄ３）からの遅れを示す遅延量（図１の例ではｄ１×２）を算出する。【選択図】図１
2018190187.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
未完了の複数の第１のタスクのそれぞれの第１の開始予定日及び第１の完了予定日を含むタスク情報と、進捗報告日ごとの前記複数の第１のタスクのそれぞれの進捗率を含む進捗情報とを記憶部から取得し、
前記進捗情報に基づいて、前記複数の第１のタスクの１つである第２のタスクの前記進捗率の増加度の平均値または直近の前記増加度である直近値を算出し、
前記平均値または前記直近値に基づいて、前記第２のタスクの前記第１の完了予定日からの遅れを示す第１の遅延量を算出し、
前記タスク情報と前記第１の遅延量とに基づいて、前記第２のタスクの次に実行される予定であり、前記第１の遅延量の影響で前記第２のタスクと作業期間が重複する未完了の第３のタスクを、前記複数の第１のタスクから検出し、
前記第１の遅延量に第１の値を乗じて、前記作業期間の重複の影響を含む、前記第２のタスク及び前記第３のタスクのそれぞれの前記第１の完了予定日からの遅れを示す第２の遅延量を算出する、
処理を実行させる作業スケジュール算出プログラム。
【請求項２】
前記タスク情報は、前記第２のタスクの担当者を示す情報を含み、
前記担当者が前記第２のタスクの次に実行する予定であり、前記第１の遅延量の影響で前記第２のタスクと前記作業期間が重複する前記第３のタスクが検出される、
請求項１に記載の作業スケジュール算出プログラム。
【請求項３】
前記平均値または前記直近値は、前記増加度の標準偏差に基づいて決定された外れ値を除く前記増加度を用いて算出される、
請求項１または２に記載の作業スケジュール算出プログラム。
【請求項４】
前記平均値と前記直近値のそれぞれに基づいて前記第１の遅延量と、前記第２の遅延量とが算出される、
請求項１乃至３の何れか一項に記載の作業スケジュール算出プログラム。
【請求項５】
コンピュータが実行する作業スケジュール算出方法であって、
未完了の複数の第１のタスクのそれぞれの第１の開始予定日及び第１の完了予定日を含むタスク情報と、進捗報告日ごとの前記複数の第１のタスクのそれぞれの進捗率を含む進捗情報とを記憶部から取得し、
前記進捗情報に基づいて、前記複数の第１のタスクの１つである第２のタスクの前記進捗率の増加度の平均値または直近の前記増加度である直近値を算出し、
前記平均値または前記直近値に基づいて、前記第２のタスクの前記第１の完了予定日からの遅れを示す第１の遅延量を算出し、
前記タスク情報と前記第１の遅延量とに基づいて、前記第２のタスクの次に実行される予定であり、前記第１の遅延量の影響で前記第２のタスクと作業期間が重複する未完了の第３のタスクを、前記複数の第１のタスクから検出し、
前記第１の遅延量に第１の値を乗じて、前記作業期間の重複の影響を含む、前記第２のタスク及び前記第３のタスクのそれぞれの前記第１の完了予定日からの遅れを示す第２の遅延量を算出する、
作業スケジュール算出方法。
【請求項６】
未完了の複数の第１のタスクのそれぞれの第１の開始予定日及び第１の完了予定日を含むタスク情報と、進捗報告日ごとの前記複数の第１のタスクのそれぞれの進捗率を含む進捗情報とを記憶する記憶部と、
前記タスク情報と前記進捗情報とを前記記憶部から取得し、前記進捗情報に基づいて、前記複数の第１のタスクの１つである第２のタスクの前記進捗率の増加度の平均値または直近の前記増加度である直近値を算出し、前記平均値または前記直近値に基づいて、前記第２のタスクの前記第１の完了予定日からの遅れを示す第１の遅延量を算出し、前記タスク情報と前記第１の遅延量とに基づいて、前記第２のタスクの次に実行される予定であり、前記第１の遅延量の影響で前記第２のタスクと作業期間が重複する未完了の第３のタスクを、前記複数の第１のタスクから検出し、前記第１の遅延量に第１の値を乗じて、前記作業期間の重複の影響を含む、前記第２のタスク及び前記第３のタスクのそれぞれの前記第１の完了予定日からの遅れを示す第２の遅延量を算出する処理部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業スケジュール算出プログラム、作業スケジュール算出方法及び情報処理装置に関する。
【背景技術】
【０００２】
製品開発などにおいて、ソフトウェアによって作業スケジュールの管理を支援する手法が用いられている。
たとえば、予め作業単位となるタスク間の関連を定義しておくことで、各タスクに遅延や前倒しが発生したときに、自動的にリスケジューリングを行う手法があった。また、タスクの達成率（進捗度）からタスクが完了する日を推定する手法や、タスクの遅延が増加する加速度を可視化する手法などが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０８−３１５０３３号公報
【特許文献２】特開２００５−３０１８４１号公報
【特許文献３】特開２０１１−２０４０９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、顧客要求の変更などにより作業スケジュールの変動やタスクの追加などが生じ、複数のタスクを重複して行う場合が生じる可能性がある。その場合、タスクの実行効率が下がる。従来の手法は、このようなタスク重複による影響を考慮して将来のタスクの進捗状況の予測をしてリスケジュールするものではなく、タスク重複が生じた場合には、作業スケジュールを管理者（プロジェクトマネージャなど）が把握することが困難であった。
【０００５】
１つの側面では、本発明は、作業スケジュールを管理者が把握することを容易にする作業スケジュール算出プログラム、作業スケジュール算出方法及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
１つの態様では、コンピュータに、未完了の複数の第１のタスクのそれぞれの第１の開始予定日及び第１の完了予定日を含むタスク情報と、進捗報告日ごとの前記複数の第１のタスクのそれぞれの進捗率を含む進捗情報とを記憶部から取得し、前記進捗情報に基づいて、前記複数の第１のタスクの１つである第２のタスクの前記進捗率の増加度の平均値または直近の前記増加度である直近値を算出し、前記平均値または前記直近値に基づいて、前記第２のタスクの前記第１の完了予定日からの遅れを示す第１の遅延量を算出し、前記タスク情報と前記第１の遅延量とに基づいて、前記第２のタスクの次に実行される予定であり、前記第１の遅延量の影響で前記第２のタスクと作業期間が重複する未完了の第３のタスクを、前記複数の第１のタスクから検出し、前記第１の遅延量に第１の値を乗じて、前記作業期間の重複の影響を含む、前記第２のタスク及び前記第３のタスクのそれぞれの前記第１の完了予定日からの遅れを示す第２の遅延量を算出する、処理を実行させる作業スケジュール算出プログラムが提供される。
【０００７】
また、１つの態様では、コンピュータが実行する作業スケジュール算出方法が提供される。また、１つの態様では、情報処理装置が提供される。
【発明の効果】
【０００８】
１つの側面では、作業スケジュールを管理者が把握することが容易になる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態の情報処理装置の一例を示す図である。
【図２】情報処理装置のハードウェア例を示すブロック図である。
【図３】情報処理装置の機能例を示すブロック図である。
【図４】タスクテーブルの一例を示す図である。
【図５】進捗報告テーブルの一例を示す図である。
【図６】作業スケジュール算出処理の手順の一例を示すフローチャートである。
【図７】作成当初の作業スケジュールの一例を示すガントチャートである。
【図８】取得されたＩＤ＝１のタスクの進捗率の一例を示す図である。
【図９】ＩＤ＝１のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【図１０】ＩＤ＝１のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１１】タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１２】さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１３】取得されたＩＤ＝２のタスクの進捗率の一例を示す図である。
【図１４】ＩＤ＝２のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【図１５】ＩＤ＝２のタスクの進捗報告日ごとの進捗率の増加度の再度の算出結果の一例を示す図である。
【図１６】ＩＤ＝２のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１７】タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１８】さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図１９】取得されたＩＤ＝３のタスクの進捗率の一例を示す図である。
【図２０】ＩＤ＝３のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【図２１】ＩＤ＝３のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図２２】タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【図２３】さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の情報処理装置の一例を示す図である。
【００１１】
第１の実施の形態の情報処理装置１０は、作業スケジュールを算出して、管理者による作業スケジュールの管理を支援する。
情報処理装置１０は、記憶部１１及び処理部１２を有する。
【００１２】
記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の記憶装置、または、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性の記憶装置である。
記憶部１１は、タスク情報１１ａ、進捗情報１１ｂを記憶する。
【００１３】
タスク情報１１ａは、たとえば、作業スケジュールに含まれる各タスクのＩＤ（IDentification）、タスク名、担当者、タスクの開始予定日及び完了予定日、タスクの開始日及び完了日、などを含む。
【００１４】
進捗情報１１ｂは、進捗報告日ごとの各タスクの進捗率を含む。
なお、情報処理装置１０が、ユーザによる入力を受け付けて、その入力に基づいて、タスク情報１１ａや進捗情報１１ｂを作成してもよいし、情報処理装置１０は、他の装置からタスク情報１１ａや進捗情報１１ｂを取得してもよい。なお、ユーザは、たとえば、管理者または、実際にタスクを担当する担当者などである。
【００１５】
処理部１２は、ＣＰＵ（Central Processing Unit）やＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、処理部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリに記憶されたプログラムを実行する。たとえば、作業スケジュール算出プログラムが実行される。なお、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」ということがある。
【００１６】
処理部１２は、タスク情報１１ａや進捗情報１１ｂを取得する。そして、処理部１２は、進捗情報１１ｂに基づいて、未完了の複数のタスクの１つであるタスクの進捗率の増加度の平均値または直近の増加度である直近値を算出する。
【００１７】
進捗率の増加度の平均値は、たとえば、評価時点に対して直近の進捗報告日の進捗率を、タスクの作業日数（タスクの開始日から評価時点までの日数）で割ることで求められる。進捗率の増加度の直近値は、たとえば、評価時点に対して直近の２日の進捗報告日の進捗率の差分である。処理部１２は、増加度の平均値と直近値の両方を算出してもよいし、どちらか一方を算出してもよい。
【００１８】
また、処理部１２は、増加度の平均値または直近値に基づいて、タスクの終了予定日からの遅れを示す遅延量を算出（予測）する。増加度の平均値を用いる場合、処理部１２は、残りのタスク量（１００％−評価時点の直近の進捗率）に、増加度の平均値の逆数をかけた値から、計画残り日数（直近の進捗報告日と完了予定日との差）を引いて、遅延量を算出する。増加度の直近値を用いる場合、処理部１２は、残りのタスク量（１００％−評価時点の直近の進捗率）に、増加度の直近値の逆数をかけた値から、計画残り日数を引いて、遅延量を算出する。
【００１９】
また、処理部１２は、タスク情報１１ａと算出した遅延量とに基づいて、遅延量を算出したタスクの次に実行される予定であり、その遅延量の影響で、遅延量を算出したタスクと作業期間が重複する未完了のタスクを、複数の未完了のタスクから検出する。処理部１２は、たとえば、遅延量を算出したタスクの担当者が次に行うタスクをタスク情報１１ａから検出し、そのタスクが遅延量を算出したタスクと作業期間が重複するか否かをタスク情報１１ａに基づいて判定する。
【００２０】
さらに、処理部１２は、算出した遅延量に所定の値を乗じて、作業期間の重複の影響を含む、作業期間が重複する各タスクの完了予定日からの遅れを示す遅延量を算出（予測）する。たとえば、各タスクを実行するための労力が同じで２つのタスクが重複する場合、算出した遅延量分の重複期間の各タスクの作業効率は１つのタスクを独立に実行する場合に比べて１／２になるため、処理部１２は、遅延量を２倍にする。また、各タスクを実行するための労力が同じで３つのタスクが重複する場合、算出した遅延量分の重複期間の各タスクの作業効率は１つのタスクを独立に実行する場合に比べて１／３になるため、処理部１２は、遅延量を３倍にする。
【００２１】
図１には、第１の実施の形態の情報処理装置１０による作業スケジュール算出方法の一例が示されている。
タスク情報１１ａに基づく当初の作業スケジュールでは、日Ｄ１が開始予定日、日Ｄ２が完了予定日のタスク１５と、日Ｄ２が開始予定日、日Ｄ３が完了予定日のタスク１６が連続して実行される予定となっている。
【００２２】
ある評価時点Ｔｊにおいて、処理部１２は、未完了のタスク１５の進捗状況に基づいて遅延量を予測する。ここでは、処理部１２は、進捗情報１１ｂに基づいて、タスク１５の進捗率の増加度の平均値または直近値を算出し、増加度の平均値または直近値に基づいて、タスク１５の完了予定日からの遅れを示す遅延量を算出する。図１では、遅延量ｄ１が算出された例が示されている。
【００２３】
その後、処理部１２は、タスク情報１１ａと算出した遅延量ｄ１とに基づいて、タスク１５の次に実行される予定であり、遅延量ｄ１の影響で、タスク１５と作業期間が重複する未完了のタスクを、複数の未完了のタスクから検出する。図１の例では、遅延量ｄ１の影響でタスク１５と作業期間が重複するタスク１６が検出されている。
【００２４】
上記の例では、２つのタスク１５，１６の作業期間が遅延量ｄ１分重複するため、処理部１２は、算出した遅延量ｄ１を２倍して、タスク１５，１６の完了予定日（日Ｄ２，Ｄ３）からの遅れを示す遅延量ｄ１×２を算出している。これによって、タスク１５の完了予定日（日Ｄ２ａ）は、Ｄ２ａ＝Ｄ２＋ｄ１×２となり、タスク１６の完了予定日（日Ｄ３ａ）は、Ｄ３ａ＝Ｄ３＋ｄ１×２となる。
【００２５】
処理部１２は、新しく決定したタスク１５，１６の完了予定日（日Ｄ２ａ，Ｄ３ａ）を用いて、タスク情報１１ａを更新することで、リスケジューリングを行う。
以上のように、第１の実施の形態の情報処理装置１０は、評価時点のタスクの進捗率の増加度の平均値や直近値からタスクの遅延量を算出し、その遅延量による後続タスクとの重複発生による作業効率の低下を考慮して遅延量を再計算している。これにより、評価時点の作業実績と将来の重複発生による作業効率の低下が反映された作業スケジュールを算出することができる。このため、後続タスクとの作業期間の重複が発生しても、管理者が作業スケジュールを把握しやすくなる。また、管理者は評価時点で動的にリスケジューリングされた作業スケジュールを知ることで、作業の全体状況を早期に確認でき、今後のプロジェクト進行への対策を速やかに測ることができる。
【００２６】
また、進捗率の増加度の直近値を用いて遅延量を算出することが可能になるため、以下のような効果も得られる。たとえば、タスクの開始直後は進捗率の増加度は低いが、徐々に増加度が上がり、評価時点付近で担当者本来の進捗率の増加度が得られる場合がある。そのような場合、進捗率の増加度の平均値を用いて遅延量を算出するよりも、直近値を用いて遅延量を算出した方が、より正確な遅延量が得られる可能性がある。
【００２７】
（第２の実施の形態）
次に、第２の実施の形態を説明する。
図２は、情報処理装置のハードウェア例を示すブロック図である。
【００２８】
情報処理装置２０は、ＣＰＵ２１、ＲＡＭ２２、ＨＤＤ２３、画像信号処理部２４、入力信号処理部２５、媒体リーダ２６及び通信インタフェース２７を有する。上記ユニットは、バスに接続されている。
【００２９】
ＣＰＵ２１は、プログラムの命令を実行する演算回路を含むプロセッサである。ＣＰＵ２１は、ＨＤＤ２３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。なお、ＣＰＵ２１は複数のプロセッサコアを備えてもよく、情報処理装置２０は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合（マルチプロセッサ）を「プロセッサ」と呼んでもよい。
【００３０】
ＲＡＭ２２は、ＣＰＵ２１が実行するプログラムやＣＰＵ２１が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置２０は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【００３１】
ＨＤＤ２３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、及び、データを記憶する不揮発性の記憶装置である。プログラムには、たとえば、作業スケジュールの算出を情報処理装置２０に実行させる作業スケジュール算出プログラムが含まれる。なお、情報処理装置２０は、フラッシュメモリやＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
【００３２】
画像信号処理部２４は、ＣＰＵ２１からの命令にしたがって、情報処理装置２０に接続されたディスプレイ２４ａに画像を出力する。ディスプレイ２４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、プラズマディスプレイ（ＰＤＰ：Plasma Display Panel）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなどを用いることができる。
【００３３】
入力信号処理部２５は、情報処理装置２０に接続された入力デバイス２５ａから入力信号を取得し、ＣＰＵ２１に出力する。入力デバイス２５ａとしては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置２０に、複数の種類の入力デバイスが接続されていてもよい。
【００３４】
媒体リーダ２６は、記録媒体２６ａに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体２６ａとして、たとえば、磁気ディスク、光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤが含まれる。光ディスクには、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）が含まれる。
【００３５】
媒体リーダ２６は、たとえば、記録媒体２６ａから読み取ったプログラムやデータを、ＲＡＭ２２やＨＤＤ２３などの他の記録媒体にコピーする。読み取られたプログラムは、たとえば、ＣＰＵ２１によって実行される。なお、記録媒体２６ａは、可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体２６ａやＨＤＤ２３を、コンピュータ読み取り可能な記録媒体ということがある。
【００３６】
通信インタフェース２７は、ネットワーク２７ａに接続され、ネットワーク２７ａを介して他の情報処理装置と通信を行うインタフェースである。通信インタフェース２７は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
【００３７】
次に、情報処理装置２０の機能及び処理手順を説明する。
図３は、情報処理装置の機能例を示すブロック図である。
情報処理装置２０は、タスク登録部３１、進捗登録部３２、タスク情報記憶部３３、進捗情報記憶部３４、タスク遅延量計算部３５、リスケジューリング部３６、スケジュール表示部３７を有する。タスク情報記憶部３３、進捗情報記憶部３４は、たとえば、ＲＡＭ２２またはＨＤＤ２３に確保した記憶領域を用いて実装できる。タスク登録部３１、進捗登録部３２、タスク遅延量計算部３５、リスケジューリング部３６、スケジュール表示部３７は、たとえば、ＣＰＵ２１が実行するプログラムモジュールを用いて実装できる。
【００３８】
タスク登録部３１は、タスクのＩＤ、タスク名、担当者、タスクの開始予定日及び完了予定日、タスクの開始日及び完了日などを含むタスク情報のユーザによる入力を受け付けて、その入力に基づいて、後述するタスクテーブルにタスク情報を登録する。
【００３９】
進捗登録部３２は、タスクのＩＤ、そのタスクの進捗率を含む進捗情報のユーザによる入力を受け付けて、その入力に基づいて、後述する進捗報告テーブルに進捗情報を登録する。なお、ユーザは、たとえば、管理者または、タスクを担当する担当者などである。
【００４０】
なお、タスク登録部３１や進捗登録部３２の処理は、情報処理装置２０とは別の装置で行われてもよい。
タスク情報記憶部３３は、タスク情報を含むタスクテーブルを記憶する。
【００４１】
図４は、タスクテーブルの一例を示す図である。
タスクテーブル３３ａは、タスク情報として、タスクのＩＤ、タスク名、担当者、開始予定日、完了予定日、開始日、完了日、評価時点、使用正規分布範囲を含む。図４には、１０のタスクについてのタスク情報が登録されたタスクテーブル３３ａの評価時点“１７／４／１０  ２０：００”における例が示されている。ＩＤが１〜３のタスクについては、作業が開始しているため、開始日が登録されている。図４の例では評価時点においてどのタスクも完了していないため、完了日は登録されていない。使用正規分布範囲については後述する。
【００４２】
進捗情報記憶部３４は、進捗情報を含む進捗報告テーブルを記憶する。
図５は、進捗報告テーブルの一例を示す図である。
進捗報告テーブル３４ａは、進捗情報として、タスクのＩＤ、進捗報告日、進捗率（％）、計算対象であるか否かの情報を含む。図５の例では、進捗報告テーブル３４ａには、作業が開始しているＩＤが１〜３のタスクについての１７／４／１から、１７／４／１０までの毎日の進捗率を含む進捗情報が登録されている。なお、計算対象であるか否かの情報については後述する。
【００４３】
なお、タスクテーブル３３ａや進捗報告テーブル３４ａは、情報処理装置２０とは別の装置にあってもよい。その場合、情報処理装置２０は、その装置からタスク情報や進捗情報を取得し、たとえば、ＲＡＭ２２などに保持する。
【００４４】
タスク遅延量計算部３５は、タスク情報と進捗情報とに基づいて、各タスクの遅延量を算出する。遅延量の算出の手順については後述する。
リスケジューリング部３６は、算出された遅延量に基づいて、タスク情報を更新することで、リスケジューリングする。
【００４５】
スケジュール表示部３７は、タスク情報記憶部３３に記憶されたタスク情報に基づいて、作業スケジュールをガントチャートなどによりディスプレイ２４ａに表示させる。なお、スケジュール表示部３７は、ディスプレイ２４ａ以外の出力装置に作業スケジュールを出力してもよい。また、スケジュール表示部３７の処理は、情報処理装置２０とは別の装置で行われてもよい。その場合、情報処理装置２０は、タスク情報を別の装置に送信し、その別装置が、たとえば、タスク情報に基づいて作業スケジュールを表示装置に表示させる。
【００４６】
図６は、作業スケジュール算出処理の手順の一例を示すフローチャートである。
以下の処理は、たとえば、タスクテーブル３３ａに登録された評価時点に行われる。
（Ｓ１）タスク遅延量計算部３５は、タスク情報記憶部３３に記憶されているタスク情報を読み出す。
【００４７】
（Ｓ２）タスク遅延量計算部３５は、タスク情報に基づいて、作業中である予定のタスク（以下対象タスクという）があるか否かを判定する。タスク遅延量計算部３５は、タスク情報に基づいて、開始予定日から完了予定日の範囲に評価時点を含むタスクを対象タスクとして判定する。対象タスクがある場合には、ステップＳ３の処理が行われ、対象タスクがない場合には、作業スケジュール算出処理が終了する。
【００４８】
（Ｓ３）タスク遅延量計算部３５は、進捗情報記憶部３４から、全対象タスクの進捗情報を取得したか否か判断する。全対象タスクの進捗情報を取得した場合には、作業スケジュール算出処理が終了する。全対象タスクの進捗情報を取得していない場合、タスク遅延量計算部３５は、ステップＳ４の処理を行う。
【００４９】
（Ｓ４）タスク遅延量計算部３５は、進捗情報記憶部３４から、ある対象タスクの進捗情報を取得する（読み出す）。タスク遅延量計算部３５は、ステップＳ２の処理で判定した対象タスクのＩＤを用いて、評価時点までの対象タスクの進捗情報を取得する。
【００５０】
（Ｓ５）タスク遅延量計算部３５は、取得した進捗情報に基づいて、進捗率の増加度の平均値を算出する。タスク遅延量計算部３５は、評価時点に対して直近の進捗報告日の進捗率を、タスクの作業日数（タスクの開始日から評価時点までの日数）で割ることで進捗率の増加度の平均値を算出する。
【００５１】
（Ｓ６）タスク遅延量計算部３５は、取得した進捗情報に基づいて、進捗報告日ごとの増加度を算出する。
（Ｓ７）タスク遅延量計算部３５は、算出した複数の増加度の分布が正規分布にしたがうと仮定し、増加度の散らばり具合（ばらつき）を見るために、標準偏差を算出する。標準偏差Ｓは、以下の式（１）により求められる。
【００５２】
【数１】
2018190187.tif 000003
【００５３】
式（１）において、ｎは、サンプル数（増加度の数）、ｘiは、ｉ番目のサンプルの増加度、ｘbは、増加度の平均値である。
（Ｓ８）タスク遅延量計算部３５は、標準偏差に基づいて、算出した各増加度のうち外れ値とするものがあるか否かを判定する。たとえば、タスク遅延量計算部３５は、増加度の平均値±（使用正規分布範囲×標準偏差）の範囲内に含まれない増加度を外れ値として判定する。使用正規分布範囲は、外れ値と判定する際の厳しさを示す値であり、小さな値になるほど、平均値とのずれが小さい増加度も外れ値として判定される。
【００５４】
使用正規分布範囲が１である場合、平均値＋標準偏差より小さく、平均値−標準偏差より大きい６８．３％の増加度に該当していれば、外れ値として判定されない。使用正規分布範囲が２である場合、平均値＋２×標準偏差より小さく、平均値−２×標準偏差より大きい９５．４％の増加度に該当していれば、外れ値として判定されない。使用正規分布範囲が３である場合、平均値＋３×標準偏差より小さく、平均値−３×標準偏差より大きい９９．７％の増加度に該当していれば、外れ値として判定されない。
【００５５】
タスク遅延量計算部３５は、算出した各増加度のうち外れ値とするものがある場合には、ステップＳ９の処理を行い、外れ値とするものがない場合には、ステップＳ１０の処理を行う。
【００５６】
（Ｓ９）タスク遅延量計算部３５は、各増加度のうち外れ値を計算対象外とするように進捗情報を更新し、ステップＳ５の処理に戻る。
（Ｓ１０）タスク遅延量計算部３５は、増加度の平均値に基づいて遅延量を算出する。ステップＳ１０の処理では、タスク遅延量計算部３５は、残りのタスク量（１００％−評価時点の直近の進捗率）に、平均値の逆数をかけた値から、計画残り日数（直近の進捗報告日と完了予定日との差）を引いて、遅延量を算出する。
【００５７】
（Ｓ１１）タスク遅延量計算部３５は、増加度の直近値に基づいて遅延量を算出する。ステップＳ１１の処理では、タスク遅延量計算部３５は、残りのタスク量（１００％−評価時点の直近の進捗率）に、増加度の直近値の逆数をかけた値から、計画残り日数（直近の進捗報告日と完了予定日との差）を引いて、遅延量を算出する。
【００５８】
（Ｓ１２）タスク遅延量計算部３５は、算出した遅延量の影響で、作業期間が重複するタスクが発生するか否かを判定する。タスク遅延量計算部３５は、たとえば、遅延量を算出したタスクの担当者が次に行うタスクをタスク情報から検出し、そのタスクが遅延量を算出したタスクと作業期間が重複するか否かをタスク情報に基づいて判定する。タスク遅延量計算部３５は、作業期間が重複するタスクが発生すると判定した場合には、ステップＳ１３の処理を行う。タスク遅延量計算部３５は、作業期間が重複するタスクが発生しないと判定した場合には、ステップＳ１４の処理を行う。
【００５９】
（Ｓ１３）タスク遅延量計算部３５は、重複の影響を含む遅延量を算出する。ステップＳ１３の処理では、タスク遅延量計算部３５は、算出した遅延量に所定値を乗じて、重複の影響を含む遅延量を算出する。たとえば、各タスクを実行するための労力が同じで２つのタスクが重複する場合、算出した遅延量分の重複期間の各タスクの作業効率は１つのタスクを独立に実行する場合に比べて１／２になる。そのため、タスク遅延量計算部３５は、遅延量を２倍にする。また、各タスクを実行するための労力が同じで３つのタスクが重複する場合、算出した遅延量分の重複期間の各タスクの作業効率は１つのタスクを独立に実行する場合に比べて１／３になる。そのため、タスク遅延量計算部３５は、遅延量を３倍にする。
【００６０】
ステップＳ１３の処理後、タスク遅延量計算部３５は、ステップＳ１２からの処理を繰り返す。
（Ｓ１４）リスケジューリング部３６は、タスク遅延量計算部３５が算出した遅延量に基づいて、リスケジューリングする。ステップＳ１４の処理では、リスケジューリング部３６は、算出した遅延量をタスク情報の完了予定日に加えることでリスケジューリングを行う。その後、ステップＳ３の処理が行われる。
【００６１】
なお、図６の各ステップの処理の順序は、上記の例に限定されるものではない。適宜順序を入れ替えてもよい。
以下、図４に示したような１０のタスクを含む作業スケジュールを用いて、情報処理装置２０がリスケジューリングを行う例を説明する。
【００６２】
図７は、作成当初の作業スケジュールの一例を示すガントチャートである。
タスク４０〜４９は、図４に示したタスク名がａ〜ｊの１０のタスクである。タスク４０，４５，４８は、担当者Ａが行うタスクであり、タスク４１，４３，４４，４９は、担当者Ｂが行うタスクであり、タスク４２，４６，４７は、担当者Ｃが行うタスクである。タスク４０〜４９は、１７／４／１から１７／４／３０の範囲でスケジューリングされている。なお、以下では年度についての表記は省略する。
【００６３】
評価時点を４／１０の２０：００とした場合、ステップＳ１の処理で、タスク遅延量計算部３５は、タスク情報記憶部３３に記憶されている、評価時点のタスク情報を読み出す。そして、ステップＳ２の処理で、タスク遅延量計算部３５は、タスク情報に基づいて、対象タスクがあるか否かを判定する。
【００６４】
図４に示したようなタスクテーブル３３ａの例では、タスク名がａ，ｂ，ｃ，ｄ，ｅのタスク（図７のタスク４０，４１，４２，４３，４４）は、開始予定日から完了予定日の範囲に評価時点を含むため、対象タスクとして判定される。
【００６５】
続いて、ステップＳ３の処理にて、タスク遅延量計算部３５は、進捗情報記憶部３４から、全対象タスクの進捗情報を取得したか否か判断する。ここでは、全対象タスクであるタスク４０〜４４の進捗情報がまだ取得されていないため、ステップＳ４の処理が行われる。
【００６６】
ステップＳ４の処理では、タスク遅延量計算部３５は、進捗情報記憶部３４から、まずタスク４０のＩＤ（＝１）を用いて、評価時点までのタスク４０の進捗情報を取得する。図５に示したような進捗報告テーブル３４ａが用いられる場合、４／１から４／１０までの毎日の進捗率を含む進捗情報が取得される。
【００６７】
図８は、取得されたＩＤ＝１のタスクの進捗率の一例を示す図である。
テーブル５０には、評価時点までの各進捗報告日におけるＩＤ＝１のタスク４０の進捗率（％）が示されている。
【００６８】
次に、タスク遅延量計算部３５は、ステップＳ５の処理にて、評価時点に対して直近の進捗報告日の進捗率である７５％を、タスク４０の作業日数である１０で割ることで、進捗率の増加度の平均値として７．５％を算出する。進捗率をｙ、日数をｘとし、毎日７．５％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝７．５ｘの一次関数で表せる。
【００６９】
その後、タスク遅延量計算部３５は、取得したタスク４０の進捗情報に基づいて、ステップＳ６の処理にて、進捗報告日ごとの進捗率の増加度を算出する。
図９は、ＩＤ＝１のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【００７０】
テーブル５１には、評価時点までの各進捗報告日におけるＩＤ＝１のタスク４０の進捗率の増加度（％）が示されている。
たとえば、タスク４０の開始日の４／１の進捗率の増加度は、その日の進捗率そのものであり、２％である。４／２の進捗率の増加度は、４／２の進捗率−４／１の進捗率であり、６％である。
【００７１】
なお、テーブル５０，５１は、たとえば、ＲＡＭ２２に記憶されるようにしてもよい。
次に、タスク遅延量計算部３５は、算出した複数の増加度の分布が正規分布にしたがうと仮定し、増加度の散らばり具合を見るために、ステップＳ７の処理にて、式（１）により、標準偏差Ｓを算出する。
【００７２】
図９に示すようにタスク４０の進捗率の増加度が算出された場合、標準偏差Ｓは、以下の式（２）のように求められる。
【００７３】
【数２】
2018190187.tif 000004
【００７４】
次に、タスク遅延量計算部３５は、ステップＳ８の処理にて、標準偏差に基づいて、算出した各増加度のうち外れ値とするものがあるか否かを判定する。タスク遅延量計算部３５は、たとえば、増加度の平均値＋（使用正規分布範囲×標準偏差）以上または、増加度の平均値−（使用正規分布範囲×標準偏差）以下の増加度を外れ値として判定する。以下の例では、使用正規分布範囲は、３であるものとする。
【００７５】
上記の例では、タスク４０の増加度の平均値は、７．５％であり、標準偏差は、３．６である。増加度の平均値±（使用正規分布範囲×標準偏差）をｔとすると、ｔ＝７．５±（３×３．６）となる。このため、ｔ≦−３．３、１８．３≦ｔとなる増加度は、外れ値となる。図９のテーブル５１の例では、外れ値となる増加度は存在しない。
【００７６】
そこで、タスク遅延量計算部３５は、ステップＳ１０の処理を行う。ステップＳ１０の処理では、タスク遅延量計算部３５は、進捗率の増加度の平均値に基づいて遅延量を算出する。上記の例では、タスク４０の進捗率の増加度の平均値は、７．５％である。残りのタスク量も進捗率ｙ＝７．５ｘで実行されるものとして、遅延量は、（１００％−７５％）×（１／７．５）−２≒１．３日と算出される。
【００７７】
次に、タスク遅延量計算部３５は、ステップＳ１１の処理にて、増加度の直近値に基づいて遅延量を算出する。上記の例では、タスク４０の進捗率の増加度の直近値は、５％である。進捗率をｙ、日数をｘとし、毎日５％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝５ｘの一次関数で表せる。残りのタスク量も上記の進捗率ｙで実行されるものとして、遅延量は、（１００％−７５％）×（１／５）−２＝３日と算出される。
【００７８】
上記の結果をガントチャートで表した場合、以下のようになる。
図１０は、ＩＤ＝１のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【００７９】
上記の処理により、ＩＤ＝１のタスク４０は、作業スケジュールの作成当初の完了予定日から、１．３日または３日遅れると推定される。ただ、図１０から分かるように、この遅れによって、タスク４０の担当者Ａが次に行うタスク４５の作業期間とタスク４０の作業期間とが重複することになる。
【００８０】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４０と作業期間が重複する未完了のタスク４５が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。タスク４０，４５を実行するための労力が同じであるとすると、タスク遅延量計算部３５は、進捗率の増加度の平均値と直近値に基づいた遅延量をそれぞれ２倍にする。
【００８１】
図１１は、タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４０，４５は、作業スケジュールの作成当初の完了予定日から、２．６日または６日遅れると推定される。ただ、図１１から分かるように、さらに、この遅れによって、担当者Ａがタスク４５の次に行うタスク４８の作業期間とタスク４５の作業期間とが重複することになる。
【００８２】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４５と作業期間が重複する未完了のタスク４８が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。算出される遅延量は、上記と同じであり、２．６日または６日である。
【００８３】
図１２は、さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４５は、図１１に示した作業スケジュールの完了予定日から、さらに２．６日または６日遅れると推定される。また、タスク４８は、当初の作業スケジュールの完了予定日から、２．６日または６日遅れると推定される。
【００８４】
その後、タスク４８の遅れによって、担当者Ａが行うタスクで、タスク４８と作業期間が重複するものはないため、リスケジューリング部３６は、タスク遅延量計算部３５が算出した遅延量に基づいて、リスケジューリングする。リスケジューリングによって、タスク４０，４５，４８の完了予定日は上記遅延量が加えられた日に更新される。たとえば、図４に示したようなタスクテーブル３３ａの完了予定日が更新される。
【００８５】
なお、リスケジューリング部３６は、進捗率の増加度の平均値と直近値を用いて算出された遅延量のうち、大きい方を用いて完了予定日を更新してもよいし、両方の値を用いて完了予定日に幅を持たせて更新してもよい。
【００８６】
その後、ステップＳ３の処理が再び行われる。
ステップＳ３の処理では、全対象タスクであるタスク４０〜４４の進捗情報がまだ取得されていないため、ステップＳ４の処理が行われる。
【００８７】
ステップＳ４の処理では、タスク遅延量計算部３５は、進捗情報記憶部３４から、タスク４１のＩＤ（＝２）を用いて、評価時点までのタスク４１の進捗情報を取得する。
図１３は、取得されたＩＤ＝２のタスクの進捗率の一例を示す図である。
【００８８】
テーブル５２には、評価時点までの各進捗報告日におけるＩＤ＝２のタスク４１の進捗率（％）が示されている。
次に、タスク遅延量計算部３５は、ステップＳ５の処理にて、評価時点に対して直近の進捗報告日の進捗率である９０％を、タスク４１の作業日数である１０で割ることで、進捗率の増加度の平均値として９％を算出する。進捗率をｙ、日数をｘとし、毎日９％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝９ｘの一次関数で表せる。
【００８９】
その後、タスク遅延量計算部３５は、取得したタスク４１の進捗情報に基づいて、ステップＳ６の処理にて、進捗報告日ごとの進捗率の増加度を算出する。
図１４は、ＩＤ＝２のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【００９０】
テーブル５３には、評価時点までの各進捗報告日におけるＩＤ＝２のタスク４１の進捗率の増加度（％）が示されている。
たとえば、タスク４１の開始日の４／１の進捗率の増加度は、その日の進捗率そのものであり、１０％である。４／２の進捗率の増加度は、４／２の進捗率−４／１の進捗率であり、１０％である。４／１０の進捗率の増加度は、４／１０の進捗率−４／９の進捗率であり、０％である。
【００９１】
なお、テーブル５２，５３は、たとえば、ＲＡＭ２２に記憶されるようにしてもよい。
次に、タスク遅延量計算部３５は、算出した複数の増加度の分布が正規分布にしたがうと仮定し、増加度の散らばり具合を見るために、ステップＳ７の処理にて、式（１）により、標準偏差Ｓを算出する。
【００９２】
図１４に示すようにタスク４１の進捗率の増加度が算出された場合、標準偏差Ｓは、以下の式（３）のように求められる。
【００９３】
【数３】
2018190187.tif 000005
【００９４】
次に、タスク遅延量計算部３５は、ステップＳ８の処理にて、標準偏差に基づいて、算出した各増加度のうち外れ値とするものがあるか否かを判定する。増加度の平均値±（使用正規分布範囲×標準偏差）をｔとすると、増加度の平均値が９％、標準偏差が３であるため、ｔ＝９±（３×３）となる。このため、ｔ≦０、１８≦ｔとなる増加度は、外れ値となる。図１４のテーブル５３の例では、４／１０の増加度が、外れ値となる。
【００９５】
このため、タスク遅延量計算部３５は、ステップＳ９の処理にて、外れ値である４／１０の増加度を計算対象外とするように進捗情報を更新し、ステップＳ５の処理に戻る。たとえば、前述した図５の進捗報告テーブル３４ａの計算対象であるか否かの情報が、更新される。図５の例では、ＩＤ＝２のタスク４１の４／１０の計算対象であるか否かの情報が、“対象外”とされている。
【００９６】
タスク遅延量計算部３５は、ステップＳ５の処理を再び行う。評価時点に対して直近の進捗報告日の進捗率として採用される値は、“対象外”とされた４／１０の進捗率ではなく、４／９の進捗率である。図１３のテーブル５２の例では、４／９の進捗率も４／１０の進捗率と同じ９０％であるが、タスク遅延量計算部３５は、“対象外”とされた４／１０を省くタスク４１の作業日数である９で割ることで、進捗率の増加度の平均値として１０％を算出する。
【００９７】
その後、タスク遅延量計算部３５は、取得したタスク４１の進捗情報に基づいて、ステップＳ６の処理にて、進捗報告日ごとの進捗率の増加度を再度算出する。
図１５は、ＩＤ＝２のタスクの進捗報告日ごとの進捗率の増加度の再度の算出結果の一例を示す図である。
【００９８】
テーブル５３ａには、評価時点までの各進捗報告日におけるＩＤ＝２のタスク４１の進捗率の増加度（％）が示されている。ただし、テーブル５３と異なり、４／１０の増加度は“対象外”となっている。
【００９９】
図１５に示すようなタスク４１の進捗率の増加度が得られた場合、ステップＳ７の処理で算出される標準偏差Ｓは、以下の式（４）で求められる。
【０１００】
【数４】
2018190187.tif 000006
【０１０１】
つまり、各進捗報告日の進捗率の増加度は１０％であり、ばらつきがないため、Ｓ＝０となる。この場合、タスク遅延量計算部３５は、ステップＳ８の処理にて、算出した各増加度のうち外れ値とするものがないと判定する。
【０１０２】
そこで、タスク遅延量計算部３５は、ステップＳ１０の処理を行う。ステップＳ１０の処理では、タスク遅延量計算部３５は、進捗率の増加度の平均値に基づいて遅延量を算出する。上記の例では、タスク４１の進捗率の増加度の平均値は、１０％である。残りのタスク量も進捗率ｙ＝１０ｘで実行されるものとして、遅延量は、（１００％−９０％）×（１／１０）−０＝１日と算出される。
【０１０３】
次に、タスク遅延量計算部３５は、ステップＳ１１の処理にて、増加度の直近値に基づいて遅延量を算出する。上記の例では、タスク４１の進捗率の増加度の直近値は、１０％である。進捗率をｙ、日数をｘとし、毎日１０％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝１０ｘの一次関数で表せる。残りのタスク量も上記の進捗率ｙで実行されるものとして、遅延量は、（１００％−９０％）×（１／１０）−０＝１日と算出される。
【０１０４】
上記の結果をガントチャートで表した場合、以下のようになる。
図１６は、ＩＤ＝２のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【０１０５】
上記の処理により、ＩＤ＝２のタスク４１は、作業スケジュールの作成当初の完了予定日から、１日遅れると推定される。ただ、図１６から分かるように、この遅れによって、タスク４１の担当者Ｂが次に行うタスク４３，４４の作業期間とタスク４１の作業期間とが重複することになる。
【０１０６】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４１と作業期間が重複する未完了のタスク４３，４４が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。タスク４１，４３，４４を実行するための労力が同じであるとすると、重複期間のタスク４１，４３，４４の作業効率は１つのタスクを独立に実行する場合に比べて１／３になる。そのため、タスク遅延量計算部３５は、進捗率の増加度の平均値と直近値に基づいた遅延量をそれぞれ３倍にする。
【０１０７】
図１７は、タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４１，４３，４４は、作業スケジュールの作成当初の完了予定日から、３日遅れると推定される。ただ、図１７から分かるように、さらに、この遅れによって、担当者Ｂがタスク４３の次に行うタスク４９の作業期間とタスク４３の作業期間とが重複することになる。
【０１０８】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４３と作業期間が重複する未完了のタスク４９が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。タスク４３，４９を実行するための労力が同じであるとすると、重複期間のタスク４３，４９の作業効率は１つのタスクを独立に実行する場合に比べて１／２になる。そのため、タスク遅延量計算部３５は、進捗率の増加度の平均値と直近値に基づいた遅延量をそれぞれ２倍にする。このため、算出される遅延量は、２日となる。
【０１０９】
図１８は、さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４３は、図１７に示した作業スケジュールの完了予定日から、さらに２日遅れると推定される。また、タスク４９は、当初の作業スケジュールの完了予定日から、２日遅れると推定される。
【０１１０】
その後、タスク４９の遅れによって、担当者Ｂが行うタスクで、タスク４９と作業期間が重複するものはないため、リスケジューリング部３６は、タスク遅延量計算部３５が算出した遅延量に基づいて、リスケジューリングする。リスケジューリングによって、タスク４１，４３，４４，４９の完了予定日は上記遅延量が加えられた日に更新される。たとえば、図４に示したようなタスクテーブル３３ａの完了予定日が更新される。
【０１１１】
その後、ステップＳ３の処理が再び行われる。
ステップＳ３の処理では、全対象タスクであるタスク４０〜４４の進捗情報がまだ取得されていないため、ステップＳ４の処理が行われる。
【０１１２】
ステップＳ４の処理では、タスク遅延量計算部３５は、進捗情報記憶部３４から、タスク４２のＩＤ（＝３）を用いて、評価時点までのタスク４２の進捗情報を取得する。
図１９は、取得されたＩＤ＝３のタスクの進捗率の一例を示す図である。
【０１１３】
テーブル５４には、評価時点までの各進捗報告日におけるＩＤ＝３のタスク４２の進捗率（％）が示されている。
次に、タスク遅延量計算部３５は、ステップＳ５の処理にて、評価時点に対して直近の進捗報告日の進捗率である６２％を、タスク４１の作業日数である１０で割ることで、進捗率の増加度の平均値として６．２％を算出する。進捗率をｙ、日数をｘとし、毎日６．２％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝６．２ｘの一次関数で表せる。
【０１１４】
その後、タスク遅延量計算部３５は、取得したタスク４２の進捗情報に基づいて、ステップＳ６の処理にて、進捗報告日ごとの進捗率の増加度を算出する。
図２０は、ＩＤ＝３のタスクの進捗報告日ごとの進捗率の増加度の算出結果の一例を示す図である。
【０１１５】
テーブル５５には、評価時点までの各進捗報告日におけるＩＤ＝３のタスク４２の進捗率の増加度（％）が示されている。
たとえば、タスク４２の開始日の４／１の進捗率の増加度は、その日の進捗率そのものであり、５％である。４／２の進捗率の増加度は、４／２の進捗率−４／１の進捗率であり、３％である。
【０１１６】
なお、テーブル５４，５５は、たとえば、ＲＡＭ２２に記憶されるようにしてもよい。
次に、タスク遅延量計算部３５は、算出した複数の増加度の分布が正規分布にしたがうと仮定し、増加度の散らばり具合を見るために、ステップＳ７の処理にて、式（１）により、標準偏差Ｓを算出する。
【０１１７】
図２０に示すようにタスク４２の進捗率の増加度が算出された場合、標準偏差Ｓは、以下の式（５）のように求められる。
【０１１８】
【数５】
2018190187.tif 000007
【０１１９】
次に、タスク遅延量計算部３５は、ステップＳ８の処理にて、標準偏差に基づいて、算出した各増加度のうち外れ値とするものがあるか否かを判定する。増加度の平均値±（使用正規分布範囲×標準偏差）をｔとすると、増加度の平均値が６．２％、標準偏差が３であるため、ｔ＝６．２±（３×３）となる。このため、ｔ≦−２．８、１５．２≦ｔとなる増加度は、外れ値となる。図２０のテーブル５５の例では、外れ値となる増加度は存在しない。
【０１２０】
そこで、タスク遅延量計算部３５は、ステップＳ１０の処理を行う。ステップＳ１０の処理では、タスク遅延量計算部３５は、進捗率の増加度の平均値に基づいて遅延量を算出する。上記の例では、タスク４２の進捗率の増加度の平均値は、６．２％である。残りのタスク量も進捗率ｙ＝６．２ｘで実行されるものとして、遅延量は、（１００％−６２％）×（１／６．２）−５≒１．１日と算出される。
【０１２１】
次に、タスク遅延量計算部３５は、ステップＳ１１の処理にて、増加度の直近値に基づいて遅延量を算出する。上記の例では、タスク４２の進捗率の増加度の直近値は、１２％である。進捗率をｙ、日数をｘとし、毎日１２％で進捗率が増加していくとすると、進捗率ｙは、ｙ＝１２ｘの一次関数で表せる。残りのタスク量も上記の進捗率ｙで実行されるものとして、遅延量は、（１００％−６２％）×（１／１２）−５＝−１．８日と算出される。つまり、１．８日、当初のタスク４２の完了予定日よりも早くタスク４２が完了するものと予想される。
【０１２２】
上記の結果をガントチャートで表した場合、以下のようになる。
図２１は、ＩＤ＝３のタスクの遅延量算出後の作業スケジュールの一例を示すガントチャートである。
【０１２３】
上記の処理により、ＩＤ＝３のタスク４２は、作業スケジュールの作成当初の完了予定日から、１．８日早まるか、１．１日遅れると推定される。ただ、図２１から分かるように、１．１日遅れた場合、タスク４２の担当者Ｃが次に行うタスク４６の作業期間とタスク４２の作業期間とが重複することになる。
【０１２４】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４２と作業期間が重複する未完了のタスク４６が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。タスク４２，４６を実行するための労力が同じであるとすると、重複期間のタスク４２，４６の作業効率は１つのタスクを独立に実行する場合に比べて１／２になる。そのため、タスク遅延量計算部３５は、プラスの値となった進捗率の増加度の平均値に基づいた遅延量を２倍にする。
【０１２５】
図２２は、タスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４２，４６の作業期間の重複が発生する場合、作業スケジュールの作成当初の完了予定日から、２．２日遅れると推定される。ただ、図２２から分かるように、さらに、この遅れによって、担当者Ｃがタスク４６の次に行うタスク４７の作業期間とタスク４６の作業期間とが重複することになる。
【０１２６】
したがって、ステップＳ１２の処理では、タスク遅延量計算部３５は、タスク４６と作業期間が重複する未完了のタスク４７が発生すると判定する。
そこで、タスク遅延量計算部３５は、ステップＳ１３の処理にて、重複の影響を含む遅延量を算出する。算出される遅延量は、上記と同じであり、２．２日である。
【０１２７】
図２３は、さらなるタスク間の作業期間の重複を考慮した遅延量算出後の作業スケジュールの一例を示すガントチャートである。
上記の処理により、タスク４６は、図２２に示した作業スケジュールの完了予定日から、タスク４７との重複の影響でさらに２．２日遅れると推定される。また、タスク４７は、タスク４６との重複の影響で、当初の作業スケジュールの完了予定日から、２．２日遅れると推定される。
【０１２８】
その後、タスク４７の遅れによって、担当者Ｃが行うタスクで、タスク４７と作業期間が重複するものはないため、リスケジューリング部３６は、タスク遅延量計算部３５が算出した遅延量に基づいて、リスケジューリングする。リスケジューリングによって、タスク４２，４６，４７の完了予定日は上記遅延量が加えられた日に更新される。たとえば、図４に示したようなタスクテーブル３３ａの完了予定日が更新される。
【０１２９】
なお、上記のように、増加度の直近値に基づいて求められたタスク４２の遅延量は−１．８日である。このため、リスケジューリング部３６は、当初のタスク４６，４７の開始日及び完了日が早まる可能性を考慮して、たとえば、タスク４６，４７の開始予定日及び完了予定日から１．８日引いた日を、タスクテーブル３３ａに登録してもよい。
【０１３０】
その後、ステップＳ３の処理が再び行われる。
上記の処理によって、全対象タスクであるタスク４０〜４４のうち、タスク４０〜４２の進捗情報は取得されたが、タスク４３，４４の進捗情報は取得されていない。しかし、タスク４３，４４は、作業が開始されていないため、進捗情報は登録されていない。そのため、作業スケジュール算出処理が終了する。
【０１３１】
その後、情報処理装置２０が、管理者による作業スケジュールの表示要求を、入力デバイス２５ａを介して受け付けた場合、スケジュール表示部３７は、作業スケジュールを、たとえば、ディスプレイ２４ａに表示させる。スケジュール表示部３７は、直近の評価時点において上記のように更新された完了予定日を含むタスク情報に基づいて、作業スケジュールを、たとえば、図２３に示したようなガントチャートによりディスプレイ２４ａに表示させる。このとき、スケジュール表示部３７は、進捗率の増加度の平均値と直近値の両方に基づいて算出された各遅延量による各完了予定日を、図２３に示すようにガントチャートによりディスプレイ２４ａに表示させてもよい。
【０１３２】
なお、スケジュール表示部３７は、作業スケジュール算出処理の途中における遅延量の算出結果を、図１０、図１１などに示したようなガントチャートによりディスプレイ２４ａに表示させてもよい。
【０１３３】
以上のような情報処理装置２０によれば、評価時点のタスクの進捗率の増加度の平均値や直近値からタスクの遅延量を算出し、その遅延量による後続タスクとの重複発生による作業効率の低下を考慮して遅延量を再計算している。これにより、評価時点の作業実績と将来の重複発生による作業効率の低下が反映された作業スケジュールを算出することができる。このため、後続タスクとの作業期間の重複が発生しても、管理者が作業スケジュールを把握しやすくなる。また、管理者は評価時点で動的にリスケジューリングされた作業スケジュールを知ることで、作業の全体状況を早期に確認でき、今後のプロジェクト進行への対策を速やかに測ることができる。これにより、後続タスクとの作業期間の重複が発生しても、管理者が作業スケジュールを把握しやすくなる。
【０１３４】
また、情報処理装置２０は、タスクの２種類の作業実績である、進捗率の増加度の平均値と直近値の両方からタスクの遅延量を算出するため、管理者は予測される完了予定日の変動の幅を把握することができる。
【０１３５】
また、情報処理装置２０は、進捗率の増加度の標準偏差に基づいて決定された外れ値を除く増加度を用いて、増加度の平均値や直近値を求める。外れ値が用いられると、遅延量の算出誤差が大きくなる。このため、外れ値を除くことで、遅延量の算出誤差を抑えることができる。
【０１３６】
なお、上記では進捗情報は、実際に作業が開始しているタスクの進捗率を含むものであったが、作業が開始されていないタスクの進捗報告日ごとの進捗率の予測値（予測進捗率）を含むものであってもよい。その場合、情報処理装置２０は、作業が開始されていないタスクの予測進捗率の増加度の平均値または直近値に基づいて、上記と同様の処理により遅延量の算出やリスケジューリングを行うこともできる。
【０１３７】
なお、前述のように、上記の処理内容は、情報処理装置２０にプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体（たとえば、記録媒体２６ａ）に記録しておくことができる。記録媒体として、たとえば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤ及びＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤ及びＤＶＤ−Ｒ／ＲＷが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体（たとえば、ＨＤＤ２３）にプログラムをコピーして実行してもよい。
【０１３８】
以上、実施の形態に基づき、本発明の作業スケジュール算出プログラム、作業スケジュール算出方法及び情報処理装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【０１３９】
１０  情報処理装置
１１  記憶部
１１ａ  タスク情報
１１ｂ  進捗情報
１２  処理部
１５，１６  タスク
Ｄ１，Ｄ２，Ｄ２ａ，Ｄ３，Ｄ３ａ  日
ｄ１  遅延量
Ｔｊ  評価時点
【図１】
2018190187.tif 000008
【図２】
2018190187.tif 000009
【図３】
2018190187.tif 000010
【図４】
2018190187.tif 000011
【図５】
2018190187.tif 000012
【図６】
2018190187.tif 000013
【図７】
2018190187.tif 000014
【図８】
2018190187.tif 000015
【図９】
2018190187.tif 000016
【図１０】
2018190187.tif 000017
【図１１】
2018190187.tif 000018
【図１２】
2018190187.tif 000019
【図１３】
2018190187.tif 000020
【図１４】
2018190187.tif 000021
【図１５】
2018190187.tif 000022
【図１６】
2018190187.tif 000023
【図１７】
2018190187.tif 000024
【図１８】
2018190187.tif 000025
【図１９】
2018190187.tif 000026
【図２０】
2018190187.tif 000027
【図２１】
2018190187.tif 000028
【図２２】
2018190187.tif 000029
【図２３】
2018190187.tif 000030