(57)【要約】【課題】タスクフローを形成するタスク群それぞれのタスクの実行を最適化する。【解決手段】スケジューリング支援装置１は、一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を構造化タスクＤＢ２１に記憶する。スケジューリング支援装置１は、複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された段階のサブタスクを構造化タスクＤＢ２１に記憶された構造に応じて提示する。【選択図】図１
2017033457.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータは、
一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を記憶し、
複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された段階のサブタスクを構造に応じて提示する
各処理を実行することを特徴とするスケジューリング支援方法。
【請求項２】
前記一乃至複数のタスク情報にて規定される一乃至複数のタスクの実行順序に基づき、前記一乃至複数のタスクに関するスケジュールを生成する
ことを特徴とする請求項１に記載のスケジューリング支援方法。
【請求項３】
前記提示する処理が提示したサブタスクの実行結果に応じて、提示した次のタスクに対応するサブタスク群のうち提示する段階のサブタスクを決定し、
前記次のタスクを提示する際に、決定したサブタスクを構造に応じて提示する
ことを特徴とする請求項１に記載のスケジューリング支援方法。
【請求項４】
提示したサブタスクの実行結果に応じて、提示した次のタスクの提示する段階を更新し、
前記決定する処理は、提示した次のタスクに対応するサブタスク群のうち更新された段階に応じたサブタスクを構造に応じて決定する
ことを特徴とする請求項３に記載のスケジューリング支援方法。
【請求項５】
前記更新する処理は、提示したサブタスクの実行に要する時間が標準時間より長い場合には、予め設定された段階を下位の段階に更新し、提示したサブタスクの実行に要する時間が標準時間より短い場合には、予め設定された段階を上位の段階に更新し、
前記決定する処理は、提示した次のタスクに対応するサブタスク群のうち更新された段階に応じたサブタスクを構造に応じて決定する
ことを特徴とする請求項４に記載のスケジューリング支援方法。
【請求項６】
前記記憶する処理は、スケジューリング支援の運用中に、前記一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を追加、変更、削除する
ことを特徴とする請求項１に記載のスケジューリング支援方法。
【請求項７】
一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を記憶する記憶部と、
複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された段階のサブタスクを構造に応じて提示する提示部と
を有することを特徴とする情報処理装置。
【請求項８】
コンピュータに、
一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を記憶し、
複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された段階のサブタスクを構造に応じて提示する
処理を実行させることを特徴とするスケジューリング支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スケジューリング支援方法等に関する。
【背景技術】
【０００２】
人の行動予定を記録しておく電子ツールとして、個人の携帯端末装置内、または複数人がアクセス可能な共通端末装置内に格納された電子スケジュール帳のスケジュール管理ツールがある。電子スケジュール帳には、電子スケジュール帳の利用者が実行するべき行動内容（「タスク」という）の開始予定時刻や終了予定時刻が記憶される。電子スケジュール帳のユーザは、タスクの内容を例えば携帯端末装置のディスプレイに表示させて確認することにより、自身のスケジュールを管理することができる。
【０００３】
ところで、タスクの内容をユーザに提示する各種方法が開示されている。
【０００４】
１つの例では、ユーザの操作による所定の入力項目を入力する際に、入力段階ごとに分割構成した所定の入力項目に対応する入力支援情報を入力段階ごとに表示、非表示をユーザの操作により選択させる入力支援装置が開示されている。すなわち、入力支援装置は、ユーザの操作により提示するタスクの内容を変える。また、別の例では、タスク終了時に、開始から終了までの時間に基づく経験値を算出し、実行者スキル情報を更新しておき、タスクの検索要求時に、タスクに適したユーザに提示する技術が開示されている（例えば、特許文献１および特許文献２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２５６１５５号公報
【特許文献２】特開２００９−２２３８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の方法でタスクの内容を提示しても、タスクフローを形成するタスク群それぞれのタスクの実行を最適化することが難しいという問題がある。
【０００７】
入力支援装置の例では、入力項目に対応する入力支援情報を入力段階ごとに表示、非表示をユーザの操作により選択させるが、ユーザのスキル（熟練度）により自動的に選択させる技術ではない。また、別の例では、タスクの実行者スキル情報を用いるが、タスクに適したユーザを推薦する技術であって、１ユーザにタスクフローを形成するタスク群それぞれのタスクを実行させる技術ではない。
【０００８】
１つの側面では、タスクフローを形成するタスク群それぞれのタスクの実行を最適化することを目的とする。
【課題を解決するための手段】
【０００９】
本願の開示するスケジューリング支援方法では、コンピュータは、一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を記憶し、複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された段階のサブタスクを構造に応じて提示する、各処理を実行する。
【発明の効果】
【００１０】
１つの態様によれば、タスクフローを形成するタスク群それぞれのタスクの実行を最適化することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例に係るスケジューリング支援装置を含むシステムの構成を示す機能ブロック図である。
【図２】図２は、構造化タスクＤＢのデータ構造の一例を示す図である。
【図３】図３は、タスクフローＤＢのデータ構造の一例を示す図である。
【図４】図４は、熟練度ＤＢのデータ構造の一例を示す図である。
【図５】図５は、スケジュールＤＢのデータ構造の一例を示す図である。
【図６】図６は、実績ＤＢのデータ構造の一例を示す図である。
【図７】図７は、実施例に係る情報提示処理の一例を示す図である。
【図８】図８は、実施例に係る構造化タスク設計処理の一例を示す図である。
【図９Ａ】図９Ａは、リソースの結合の一例を示す図（１）である。
【図９Ｂ】図９Ｂは、リソースの結合の別の一例を示す図（２）である。
【図９Ｃ】図９Ｃは、リソースの結合の別の一例を示す図（３）である。
【図１０Ａ】図１０Ａは、実施例に係る構造化タスク設計処理のフローチャートを示す図（１）である。
【図１０Ｂ】図１０Ｂは、実施例に係る構造化タスク設計処理のフローチャートを示す図（２）である。
【図１１】図１１は、実施例に係る熟練度評価処理のフローチャートを示す図である。
【図１２】図１２は、実施例に係るスケジュール調停処理のフローチャートを示す図である。
【図１３】図１３は、上級者の場合の情報提示処理の具体例を示す図である。
【図１４】図１４は、初心者の場合の情報提示処理の具体例を示す図である。
【図１５】図１５は、スケジューリング支援プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示するスケジューリング支援方法、情報処理装置およびスケジューリング支援プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例】
【００１３】
［スケジューリング支援システムの構成］
図１は、実施例に係るスケジューリング支援装置を含むシステムの構成図である。スケジューリング支援システム９は、スケジューリング支援装置１と、ユーザインターフェース装置３とを有する。スケジューリング支援装置１は、ネットワーク５を介してユーザインターフェース装置３と接続される。なお、スケジューリング支援装置１は、一例として、情報処理装置に対応する。
【００１４】
ユーザインターフェース装置３は、タスクの実行者が利用し得る電子装置である。また、ユーザインターフェース装置３は、タスクの実行者にタスクの内容やスケジュールの内容を認識させることができる。ユーザインターフェース装置３は、スマートフォンに代表される携帯端末装置に対応するが、これに限定されない。ユーザインターフェース装置３は、ノート型あるいはデスクトップ型のパソコン（Personal  Computer）、ＰＤＡ（Personal  Digital  Assistant）等であっても良い。
【００１５】
スケジューリング支援装置１は、一連のタスクをフローの形で登録するとともに、一連のタスクそれぞれに対応する複数の粒度に構造化したサブタスク群を登録する。スケジューリング支援装置１は、ユーザがタスクの実行に要した時間からフローに対するユーザの熟練度を推定し、熟練度に応じたタスクに対応する粒度を更新する。そして、スケジューリング支援装置１は、次のタスクに対応するサブタスク群のうち、更新された粒度に対応するサブタスクをユーザに提示する。
【００１６】
ここで、「タスク」とは、人が行う行為全般を含み得る用語として使用される。「タスク」の一例は、業務上の作業であるが、これに限定されず、プライベートでの旅行や会食等の行為も含み得る。また、「タスク」は、複数の行為の間の休憩や、次の行為を実行するために特定の場所へ移動する行為も含むことができる。「タスク情報」とは、タスクの内容を規定する情報を意味する。「タスク情報」には、例えば、具体的な作業の内容や、タスクの実行者、タスクの実行に要する時間、タスクの実行場所、タスクの実行に用いられるツール等が含まれ得る。なお、「タスク情報」には、タスクの開始予定時刻および終了予定時刻を規定しているものも規定していないものも含まれ得る。「タスク情報」の内容の例示は、後述するものとする。「スケジューリング」とは、開始予定時刻および終了予定時刻が設定されていないタスクについて開始予定時刻および終了予定時刻の少なくとも一方を設定すること、又は、開始予定時刻および終了予定時刻の少なくとも一方が設定されているタスクについて、開始予定時刻や終了予定時刻を変更して再設定することを意味する。「スケジュール」とは、「スケジューリング」した結果を示す情報を意味する。「スケジュール」を視覚や聴覚、嗅覚等、人が認識し得る形態で表示したものを「予定表」と呼ぶ。また、「調停」とは、複数のタスクについて実行順序を特定してスケジューリングを行うことを意味する。
【００１７】
［スケジューリング支援装置の構成］
図１に示すように、スケジューリング支援装置１は、構造化タスク設計部１１、スケジュール調停部１２、連携部１３および熟練度評価部１４を有する。また、スケジューリング支援装置１は、構造化タスクＤＢ（database）２１、タスクフローＤＢ２２、熟練度ＤＢ２３、スケジュールＤＢ２４および実績ＤＢ２５を有する。
【００１８】
構造化タスクＤＢ２１、タスクフローＤＢ２２、熟練度ＤＢ２３、スケジュールＤＢ２４および実績ＤＢ２５は、図示しない記憶部に記憶される。記憶部は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。
【００１９】
構造化タスクＤＢ２１は、タスクを構造化したサブタスク群およびタスクの実行に利用されるリソースを、タスク毎に記憶する。リソースには、一例として、タスクの実行の際にチェックすべき項目を示すチェックリストが挙げられるが、これに限定されない。リソースの他の例として、タスクの実行で用いられるアプリケーションのリストが挙げられる。さらに、リソースがテキストである場合には、テキストを要約する技術を用いて要約されたテキストが挙げられる。構造化タスクＤＢ２１は、運用前に予め準備されるが、後述する構造化タスク設計部１１によって更新される。
【００２０】
タスクフローＤＢ２２は、一連のタスクのフローを記憶する。タスクフローＤＢ２２は、後述する構造化タスク設計部１１によって生成される。一連のタスクのフローは、以降、「タスクフロー」といい、１つのタスクフローはプロジェクトと同義である。
【００２１】
熟練度ＤＢ２３は、ユーザに対応するタスクフローの熟練度を記憶する。スケジュールＤＢ２４は、タスク毎の開始予定時刻、終了予定時刻を記憶する。実績ＤＢ２５は、タスク毎の実績時間を記憶する。なお、構造化タスクＤＢ２１、タスクフローＤＢ２２、熟練度ＤＢ２３、スケジュールＤＢ２４および実績ＤＢ２５のデータ構造の一例は、後述する。
【００２２】
構造化タスク設計部１１は、タスクフローが設計される際に、一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の粒度に構造化したサブタスク群を記憶する。例えば、構造化タスク設計部１１は、ユーザインターフェースを用いて、指定されるタスクフローにタスクが追加される場合には、指定されるタスクフローに追加タスクを対応付けてタスクフローＤＢ２２を更新する。また、構造化タスク設計部１１は、ユーザインターフェースを用いて、所定のタスクに対応するサブタスク群のツリー構造が更新される場合には、タスクフローＤＢ２２から、更新されるサブタスクの上位のタスクを特定する。構造化タスク設計部１１は、特定した上位のタスクの配下に更新されるサブタスクを対応付けて、タスクフローＤＢ２２を更新する。さらに、構造化タスク設計部１１は、特定した上位のタスクのリソースに、更新されるサブタスクのリソースを反映させる。ここでいう更新とは、例えば、追加、削除または変更を意味する。一例として、構造化タスク設計部１１は、サブタスクのリソースを上位のタスクのリソースに追加（結合）させるべく、構造化タスクＤＢ２１に当該サブタスクを反映させる。
【００２３】
ここで、構造化タスクＤＢ２１およびタスクフローＤＢ２２のデータ構造の一例を、図２および図３を参照して説明する。図２は、構造化タスクＤＢのデータ構造の一例を示す図である。図２に示すように、構造化タスクＤＢ２１は、タスク名２１ｂ、サブタスク２１ｃ、リソース２１ｄおよび標準時間２１ｅをタスク種別２１ａに対応付けて記憶する。タスク種別２１ａは、タスクの種別を示す。タスク種別２１ａには、タスクのツリー構造を形成する親のタスクも子のタスクも含まれる。子のタスクは、親のタスクに対するサブタスクを意味する。タスク名２１ｂは、タスク種別２１ａが示すタスクの名称を示す。サブタスク２１ｃは、タスク種別２１ａが示すタスクに対応するサブタスクのタスク種別である。リソース２１ｄは、タスク種別２１ａが示すタスクのリソースである。標準時間２１ｅは、タスク種別２１ａが示すタスクの平均的な実行時間である。
【００２４】
一例として、タスク種別２１ａが「ｓ１」である場合には、タスク名２１ｂとして「アイデア抽出」、リソース２１ｄとして「ｒ１」、標準時間２１ｅとして「２ｈ」と記憶している。また、タスク種別２１ａが「ｓ３」である場合には、タスク名２１ｂとして「資料作成」、サブタスク２１ｃとして「ｓ３−１、ｓ３−２、ｓ３−３」、リソース２１ｄとして「」、標準時間２１ｅとして「３ｈ」と記憶している。また、タスク種別２１ａが「ｓ３−１」である場合には、タスク名２１ｂとして「背景」、サブタスク２１ｃとして「」、リソース２１ｄとして「ｒ３−１」、標準時間２１ｅとして「１ｈ」と記憶している。
【００２５】
図３は、タスクフローＤＢのデータ構造の一例を示す図である。図３に示すように、タスクフローＤＢ２２は、タスク集合２２ｂ、開始タスク２２ｃ、開始日時２２ｄおよび納期限２２ｅをプロジェクト名２２ａに対応付けて記憶する。プロジェクト名２２ａは、１つのタスクフローに対応するプロジェクトの名称を示す。プロジェクト名２２ａが示すプロジェクトは、業務内容によって異なるものである。タスク集合２２ｂは、プロジェクト名２２ａが示すプロジェクトを形成するタスクの集合である。タスク集合２２ｂには、複数のタスクの実行順序が設定されるとともに、各タスクの親子の区別も設定される。開始タスク２２ｃは、プロジェクト名２２ａが示すプロジェクトの開始のタスクを示す。開始日時２２ｄは、プロジェクト名２２ａが示すプロジェクトの開始日時を示す。納期限２２ｅは、プロジェクト名２２ａが示すプロジェクトの納期限を示す。
【００２６】
一例として、プロジェクト名２２ａが「プロジェクト１」である場合には、タスク集合２２ｂとして｛ｓｚ８９３４：｛・・・｝、ｆｓ９５ｗ４：｛・・・｝・・・｝、開始タスク２２ｃとして「ｓｚ８９３４」と記憶している。開始日時２２ｄとして「２０１４−０３−０１  １０：００：００」、納期限２２ｅとして「２０１４−０３−１３  １６：００：００」と記憶している。
【００２７】
図１に戻って、スケジュール調停部１２は、複数のタスクの実行順序および複数のタスクを含むタスクフロー（プロジェクト）へのユーザの熟練度に基づき、このユーザの複数のタスクに関するスケジュールを調停する。例えば、スケジュール調停部１２は、熟練度ＤＢ２３から、ユーザが現に実行するタスクフローへの熟練度を取得する。スケジュール調停部１２は、このタスクフローに対する、次に実行するタスクをタスクフローＤＢ２２から特定する。スケジュール調停部１２は、タスクフローＤＢ２２に基づいて、次に実行するタスクに対する、ユーザの熟練度に応じたサブタスク群を選択する。すなわち、スケジュール調停部１２は、後述する熟練度評価部１４によって更新された熟練度に応じた次のタスクに対応する粒度のサブタスク群を選択する。スケジュール調停部１２は、選択したサブタスク群のそれぞれのタスクに対して、ユーザのスケジュール上の空き時間を調整して、スケジュールＤＢ２４に登録する。加えて、スケジュール調停部１２は、構造化タスクＤＢ２１に基づいて、選択したサブタスク群のそれぞれのタスクに対して、タスク毎のリソースを、スケジュールＤＢ２４に登録する。
【００２８】
ここで、熟練度ＤＢ２３およびスケジュールＤＢ２４のデータ構造の一例を、図４および図５を参照して説明する。図４は、熟練度ＤＢのデータ構造の一例を示す図である。図４に示すように、熟練度ＤＢ２３は、ユーザ２３ａおよびプロジェクト名２３ｂに対応付けて熟練度２３ｃを記憶する。ユーザ２３ａは、プロジェクトを実行するユーザを示す。プロジェクト名２３ｂは、１つのタスクフローに対応するプロジェクトの名称を示す。熟練度２３ｃは、プロジェクト名２３ｂで示されるプロジェクトに対する熟練の度合いを示す。一例として、熟練度２３ｃは、数字が大きくなる程熟練している。「５」が初期値である場合、熟練度２３ｃが「５」以上である場合に上級者であり、熟練度２３ｃが「３」より大きく「５」未満である場合に中級者であり、熟練度２３ｃが「３」以下である場合に初心者である。なお、熟練度２３ｃの意味合いは、これに限定されず、随時変更されても良い。熟練度２３ｃは、整数に限定されず、小数点であっても良いし、予め定義された記号であっても良い。
【００２９】
一例として、ユーザ２３ａが「ｔａｒｏ」である場合に、プロジェクト名２３ｂとして「プロジェクト１」、熟練度２３ｃとして「５」と記憶している。
【００３０】
図５は、スケジュールＤＢのデータ構造の一例を示す図である。図５に示すように、スケジュールＤＢ２４は、タスク種別２４ｂ、ユーザ２４ｃ、リソース２４ｄ、開始予定時刻２４ｅおよび終了予定時刻２４ｆをタスクＩＤ２４ａに対応付けて記憶する。タスクＩＤ（identifier）２４ａは、タスクを一意に表す識別子を示す。タスク種別２４ｂは、タスクの種別を示す。ユーザ２４ｃは、タスクを実行するユーザを示す。リソース２４ｄは、タスクＩＤ２４ａが示すタスクのリソースである。開始予定時刻２４ｅは、タスクＩＤ２４ａが示すタスクの実行を開始する予定時刻である。終了予定時刻２４ｆは、タスクＩＤ２４ａが示すタスクの実行を終了する予定時刻である。
【００３１】
一例として、タスクＩＤ２４ａが「ｓｚ８９３４」である場合に、タスク種別２４ｂとして「ｓ１」、ユーザ２４ｃとして「ｔａｒｏ」、リソース２４ｄとして「ｒ１」と記憶している。開始予定時刻２４ｅとして「２０１５／３／２  １０：００」、終了予定時刻２４ｆとして「２０１５／３／２  １２：００」と記憶している。
【００３２】
図１に戻って、連携部１３は、次のタスクをユーザに提示する。すなわち、連携部１３は、次のタスクに対応するサブタスク群のうち更新された粒度に対応するサブタスクのタスクをユーザに提示する。例えば、連携部１３は、スケジュールＤＢ２４に基づいて、次に実行が予定されるタスクＩＤ２４ａに対応するタスク情報をユーザに対するユーザインターフェース装置３に提示する。ここでいうタスクＩＤ２４ａが示すタスクが、スケジュール調停部１２によってユーザの熟練度に応じたサブタスクのタスクである。ここでいうタスク情報には、一例として、リソース、開始予定時刻２４ｅ、終了予定時刻２４ｆが挙げられる。
【００３３】
また、連携部１３は、提示したタスクの実行結果を実績ＤＢ２５に登録する。例えば、連携部１３は、ユーザインターフェース装置３から、提示したタスクの実行が開始されたことを示す開始通知を受け取る。連携部１３は、ユーザインターフェース装置３から、提示したタスクの実行が完了されたことを示す完了通知を受け取る。そして、連携部１３は、提示したタスクにおける開始通知の時刻および完了通知の時刻に基づいて、実績ＤＢ２５に対して提示したタスクに対する実績時間を記憶する。
【００３４】
ここで、実績ＤＢ２５のデータ構造の一例を、図６を参照して説明する。図６は、実績ＤＢのデータ構造の一例を示す図である。図６に示すように、実績ＤＢ２５は、タスクＩＤ２５ａ、タスク種別２５ｂ、標準時間２５ｃおよび実績時間２５ｄを対応付けて記憶する。タスクＩＤ２５ａは、タスクを一意に表す識別子を示す。タスク種別２５ｂは、タスクの種別を示す。標準時間２５ｃは、タスクＩＤ２５ａが示すタスクの標準的な実行時間である。実績時間２５ｄは、タスクＩＤ２５ａが示すタスクの実際の実行時間である。
【００３５】
一例として、タスクＩＤ２５ａが「ｓｚ８９３４」である場合に、タスク種別２５ｂとして「ｓ１」、標準時間２５ｃとして「２ｈ」、実績時間２５ｄとして「１．７８ｈ」と記憶している。
【００３６】
図１に戻って、熟練度評価部１４は、提示されたタスクの実行結果に応じて、タスクフローへのユーザの熟練度を更新する。例えば、熟練度評価部１４は、実績ＤＢ２５から、連携部１３によって提示されたタスクに対応する実績時間２５ｄおよび標準時間２５ｃを取得する。そして、熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより長い場合には、熟練度ＤＢ２３に現に設定された度数より下げた度数を、タスクフローへのユーザの熟練度として更新する。これは、熟練度が下がると判断されるからである。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより短い場合には、熟練度ＤＢ２３に現に設定された度数より上げた度数を、タスクフローへのユーザの熟練度として更新する。これは、熟練度が上がると判断されるからである。この結果、スケジュール調停部１２は、提示されたタスクの次のタスクから、更新されたユーザの熟練度に応じたサブタスク群を選択し、選択したサブタスク群を調停することができる。
【００３７】
ここで、熟練度の更新方法について説明する。まず、熟練度の初期状態は、「５」であるとする。なお、ユーザの熟練度が既知である場合には、既知の熟練度を初期状態とすれば良い。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより２倍以上の時間である場合には、現に設定された度数より２下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより１．５倍以上の時間である場合には、現に設定された度数より１下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより０．８倍以下の時間である場合には、現に設定された度数より１上げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより０．５倍以下の時間である場合には、現に設定された度数より２上げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、タスクが手戻りである場合には、現に設定された度数より２下げた度数をタスクフローへのユーザの熟練度として更新する。
【００３８】
さらに、熟練度の更新方法は、業務内容によって異なっても良い。
【００３９】
一例として、タスクフローまたはタスクの業務内容が「設備点検」である場合とする。かかる場合には、熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより２倍以上の時間である場合には、現に設定された度数より２下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより１．５倍以上の時間である場合には、現に設定された度数より１下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃに近似している場合には、現に設定された度数より１上げた度数をタスクフローへのユーザの熟練度として更新する。そして、熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより０．５倍以下の時間である場合には、現に設定された度数より１下げた度数をタスクフローへのユーザの熟練度として更新する。これは、設備点検として要した時間が短すぎるので、設備点検の精度が悪いと判断するからである。
【００４０】
別の例として、タスクフローまたはタスクの業務内容が「開発作業」である場合とする。かかる場合には、熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより４倍以上の時間である場合には、現に設定された度数より２下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより２倍以上の時間である場合には、現に設定された度数より１下げた度数をタスクフローへのユーザの熟練度として更新する。熟練度評価部１４は、実績時間２５ｄが標準時間２５ｃより０．８倍以下の時間である場合には、現に設定された度数より１上げた度数をタスクフローへのユーザの熟練度として更新する。
【００４１】
［ユーザインターフェース装置の構成］
図１に示すように、ユーザインターフェース装置３は、表示部３１および実行部３２を有する。
【００４２】
表示部３１は、スケジューリング支援装置１から提示されたタスクのタスク情報を表示する。すなわち、表示部３１は、ユーザの熟練度に応じたタスクの粒度に合ったサブタスクのタスク情報を表示する。タスク情報には、例えば、タスクのリソース、開始予定時刻、終了予定時刻が挙げられる。これにより、表示部３１は、タスクの情報を、ユーザの熟練度に応じた適切な粒度でユーザに表示することができ、当該タスクの実行にあたり適切な支援を行うことができる。
【００４３】
実行部３２は、表示されたタスク情報のタスクを実行する。実行部３２は、タスクの実行開始時に、タスクの実行が開始されたことを示す開始通知をスケジューリング支援装置１に対して送信する。実行部３２は、タスクの実行完了時に、タスクの実行が完了されたことを示す完了通知をスケジューリング支援装置１に対して送信する。なお、タスクの実行開始を通知したり、タスクの実行完了を通知したりする実行部３２の手段は、ユーザによるボタンの押下による通知であっても良いし、手動または自動のメール送信であっても良い。
【００４４】
［情報提示処理の一例］
次に、実施例に係る情報提示処理の一例を、図７を参照して説明する。図７は、実施例に係る情報提示処理の一例を示す図である。図７に示すように、ｔａｓｋ１、ｔａｓｋ２、ｔａｓｋ３、ｔａｓｋ４は、一連のタスクであり、１つのタスクフローとしてタスクフローＤＢ２２に登録されている。また、ｔａｓｋ３について、熟練度４に応じたタスクの粒度に対応するサブタスク群は、ｔａｓｋ３−１、ｔａｓｋ３−２であるとする。ｔａｓｋ３−２について、熟練度３以下に応じたタスクの粒度に対応するサブタスク群は、ｔａｓｋ３−２−１、ｔａｓｋ３−２−２であるとする。なお、ｒｅｓは、リソースを意味し、リソースが各タスクに配備されることを示している。そして、このタスクフローに対するユーザの熟練度として「５」が熟練度ＤＢ２５に登録されているとする。ここでは、熟練度が「５」以上である場合には上級者であり、熟練度が「３」より大きく「５」未満である場合には中級者であり、熟練度が「３」以下である場合には初心者であるとする。
【００４５】
連携部１３は、ユーザインターフェース装置３からｔａｓｋ１の実行の開始通知を受け取る。その後、連携部１３は、ユーザインターフェース装置３からｔａｓｋ１の実行の完了通知を受け取る。連携部１３は、開始通知と完了通知とからｔａｓｋ１に要した時間を示す実績時間を実績ＤＢ２５に記憶する。熟練度評価部１４は、実績ＤＢ２５から、ｔａｓｋ１に対応する実績時間および標準時間を取得し、実績時間と標準時間との比較により、熟練度を推定する。ここでは、実績時間が５０分、標準時間が３０分であるとする。すると、熟練度評価部１４は、実績時間が標準時間より長いので、熟練度を現に設定された度数「５」より下げた度数「４」に更新する。スケジュール調停部１２は、構造化タスクＤＢ２１から、更新された熟練度「４」に応じた次のｔａｓｋ２の粒度に対応するサブタスク群を選択する。ここでは、ｔａｓｋ２の熟練度４に応じた粒度に対応するサブタスク群は、ｔａｓｋ２そのものであるとする。したがって、連携部１３は、選択されたｔａｓｋ２のタスク情報をユーザのユーザインターフェース装置３に提示する。
【００４６】
次に、連携部１３は、ユーザインターフェース装置３からｔａｓｋ２の実行の開始通知を受け取る。その後、連携部１３は、ユーザインターフェース装置３からｔａｓｋ２の実行の完了通知を受け取る。連携部１３は、開始通知と完了通知とからｔａｓｋ２に要した時間を示す実績時間を実績ＤＢ２５に記憶する。熟練度評価部１４は、実績ＤＢ２５から、ｔａｓｋ２に対応する実績時間および標準時間を取得し、実績時間と標準時間との比較により熟練度を推定する。ここでは、熟練度は、現に設定された度数「４」より下げた度数「３」に更新されたとする。スケジュール調停部１２は、構造化タスクＤＢ２１から、更新された熟練度「３」に応じた次のｔａｓｋ３の粒度に対応するサブタスク群を選択する。ここでは、ｔａｓｋ３の熟練度「３」に応じた粒度に対応するサブタスク群は、ｔａｓｋ３−１、ｔａｓｋ３−２−１、ｔａｓｋ３−２−２であるとする。すると、スケジュール調停部１２は、選択したサブタスク群のそれぞれのタスクに対してスケジューリングする。連携部１３は、スケジューリングに基づいて、選択された次のタスクであるｔａｓｋ３−１のタスク情報をユーザのユーザインターフェース装置３に提示する。タスク情報には、ｔａｓｋ３−１に対するリソースとしてｒｅｓ１が含まれる。
【００４７】
この後、連携部１３は、スケジューリングに基づいて、ｔａｓｋ３−１の次のタスクであるｔａｓｋ３−２−１のタスク情報をユーザのユーザインターフェース装置３に提示する。タスク情報には、ｔａｓｋ３−２−１に対するリソースとしてｒｅｓ２が含まれる。
【００４８】
この後、連携部１３は、スケジューリングに基づいて、ｔａｓｋ３−２−１の次のタスクであるｔａｓｋ３−２−２のタスク情報をユーザのユーザインターフェース装置３に提示する。タスク情報には、ｔａｓｋ３−２−２に対するリソースとしてｒｅｓ３が含まれる。
【００４９】
仮に、ｔａｓｋ２に要した時間から推定される熟練度が「４」に更新されたとする。すると、スケジュール調停部１２は、構造化タスクＤＢ２１から、更新された熟練度「４」に応じた次のｔａｓｋ３の粒度に対応するサブタスク群を選択する。ここでは、ｔａｓｋ３の熟練度「４」に応じた粒度に対応するサブタスク群は、ｔａｓｋ３−１、ｔａｓｋ３−２であるとする。すると、スケジュール調停部１２は、選択したサブタスク群のそれぞれのタスクに対してスケジューリングする。連携部１３は、スケジューリングに基づいて、選択された次のタスクであるｔａｓｋ３−１のタスク情報をユーザのユーザインターフェース装置３に提示する。タスク情報には、ｔａｓｋ３−１に対するリソースとしてｒｅｓ１が含まれる。
【００５０】
この後、連携部１３は、スケジューリングに基づいて、ｔａｓｋ３−１の次のタスクであるｔａｓｋ３−２のタスク情報をユーザのユーザインターフェース装置３に提示する。タスク情報には、ｔａｓｋ３−２に対するリソースとしてｒｅｓ２およびｒｅｓ３が含まれる。
【００５１】
これにより、情報提示処理は、業務内容によって異なるタスクフロー（プロジェクト）へのユーザの熟練度によって、タスクを適切な粒度でユーザに提示することができる。この結果、熟練度が高いユーザは、システムの介入が減ることで、作業し易い環境を作ることができる。熟練度が低いユーザは、システムの支援が多く受けられるので、作業し易い環境を作ることができる。すなわち、情報提示処理は、タスク実行の最適化を図ることができる。また、人間が熟練度を評価するのは難しい。人間が熟練度を入力するのは面倒である。情報提示処理は、ユーザの熟練度を自動的に判断することで、これら人間が行うことを自動で行うことができる。すなわち、情報提示処理は、人間が熟練度を評価することの難しさから人間を解放することができる。
【００５２】
［構造化タスク設計処理の一例］
次に、実施例に係る構造化タスク設計処理の一例を、図８を参照して説明する。図８は、実施例に係る構造化タスク設計処理の一例を示す図である。図８に示すように、ユーザによって指定されるタスクフローについて、ユーザによってｔａｓｋ１、ｔａｓｋ２が追加される場合とする。構造化タスク設計部１１は、構造化タスク設計画面を表示し、構造化タスク設計画面を用いて、指定されるタスクフローについて、ユーザによって指定される位置にｔａｓｋ１を追加する。さらに、構造化タスク設計部１１は、構造化タスク設計画面を用いて、ユーザの指定に基づき、ｔａｓｋ１の右にｔａｓｋ２を追加する。そして、構造化タスク設計部１１は、指定されるタスクフローに、追加タスクであるｔａｓｋ１およびｔａｓｋ２を対応付けてタスクフローＤＢ２２を更新する。
【００５３】
次に、ユーザによってｔａｓｋ１がサブタスク群ｔａｓｋ１−１、ｔａｓｋ１−２に分割される場合とする。構造化タスク設計部１１は、構造化タスク設計画面を用いて、ユーザによってクリックされるｔａｓｋ１をタスクフローＤＢ２２から特定する。構造化タスク設計部１１は、特定したｔａｓｋ１配下に、ユーザの指定に基づき、ｔａｓｋ１−１およびｔａｓｋ１−２を追加する。そして、構造化タスク設計部１１は、指定されるタスクフローに、ｔａｓｋ１のサブタスクとしてｔａｓｋ１−１およびｔａｓｋ１−２を対応付けてタスクフローＤＢ２２を更新する。さらに、構造化タスク設計部１１は、ｔａｓｋ１のリソースに、サブタスクｔａｓｋ１−１およびｔａｓｋ１−２のそれぞれのリソースを結合させるべく、構造化タスクＤＢ２１を更新する。
【００５４】
［リソースの結合の一例］
ここで、リソースの結合の一例を、図９Ａ〜図９Ｃを参照して説明する。図９Ａ〜図９Ｃは、リソースの結合の一例を示す図である。図９Ａ、図９Ｂでは、リソースをチェックリストとして説明する。図９Ｃでは、リソースをアプリケーションのリストとして説明する。なお、ｔａｓｋ３、ｔａｓｋ３−１、ｔａｓｋ３−２は、それぞれタスクであり、ｔａｓｋ３のサブタスク群は、ｔａｓｋ３−１、ｔａｓｋ３−２であるとする。
【００５５】
図９Ａに示すように、ｔａｓｋ３−１のチェックリストは、「チェック項目１−１」と「チェック項目１−２」である。ｔａｓｋ３−２のチェックリストは、「チェック項目２−１」と「チェック項目２−２」である。構造化タスク設計部１１が、ｔａｓｋ３のリソースに、サブタスクｔａｓｋ３−１およびｔａｓｋ３−２のそれぞれのリソースを結合させる場合、ｔａｓｋ３の結合後のリソースは以下のようになる。すなわち、ｔａｓｋ３の結合後のチェックリストは、「チェック項目１−１」「チェック項目１−２」「チェック項目２−１」「チェック項目２−２」となる。
【００５６】
チェックリストの一部または全部がテキストである場合には、テキストを要約したテキストをチェックリストとしても良い。図９Ｂに示すように、結合後のチェックリストが、結合前のチェックリストのテキストを予約したテキストとした場合である。かかる場合には、構造化タスク設計部１１が、ｔａｓｋ３のリソースに、サブタスクｔａｓｋ３−１およびｔａｓｋ３−２のそれぞれのリソースを結合させる場合、ｔａｓｋ３の結合後のリソースは以下のようになる。すなわち、ｔａｓｋ３の結合後のチェックリストは、「ｔａｓｋ３−１」「ｔａｓｋ３−２」となる。
【００５７】
図９Ｃに示すように、ｔａｓｋ３−１のアプリケーションのリストは、「ａｐｐ１」である。ｔａｓｋ３−２のチェックリストは、「ａｐｐ２」である。構造化タスク設計部１１が、ｔａｓｋ３のリソースに、サブタスクｔａｓｋ３−１およびｔａｓｋ３−２のそれぞれのリソースを結合させる場合、ｔａｓｋ３の結合後のリソースは以下のようになる。すなわち、ｔａｓｋ３の結合後のアプリケーションのリストは、「ａｐｐ１」「ａｐｐ２」となる。
【００５８】
［構造化タスク設計処理のフローチャート］
次に、実施例に係る構造化タスク設計処理のフローチャートを、図１０Ａおよび図１０Ｂを参照して説明する。図１０Ａおよび図１０Ｂは、実施例に係る構造化タスク設計処理のフローチャートを示す図である。
【００５９】
図１０Ａに示すように、構造化タスク設計部１１は、タスクフローにタスクを追加したか否かを判定する（ステップＳ１１）。タスクフローにタスクを追加したと判定した場合には（ステップＳ１１；Ｙｅｓ）、構造化タスク設計部１１は、設計に合わせてタスクフローＤＢ２２にタスクを追加する（ステップＳ１２）。例えば、構造化タスク設計部１１は、構造化タスク設計画面を用いて、ユーザによって指定されるタスクフローにユーザによって指定される追加タスクを対応付けて、タスクフローＤＢ２２を更新する。そして、構造化タスク設計部１１は、構造化タスク設計処理を終了する。
【００６０】
一方、タスクフローにタスクを追加しないと判定した場合には（ステップＳ１１；Ｎｏ）、構造化タスク設計部１１は、何もしないで、構造化タスク設計処理を終了する。
【００６１】
図１０Ｂに示すように、構造化タスク設計部１１は、サブタスク群のツリー構造が更新されたか否かを判定する（ステップＳ２１）。例えば、サブタスク群のツリー構造が更新された場合とは、あるタスクのサブタスク群にサブタスクが追加された場合、または、サブタスク群に含まれるサブタスクが削除された場合あるいは変更された場合がある。
【００６２】
サブタスク群のツリー構造が更新されたと判定した場合には（ステップＳ２１；Ｙｅｓ）、構造化タスク設計部１１は、更新されたサブタスクの上位タスクを特定する（ステップＳ２２）。構造化タスク設計部１１は、タスクフローＤＢ２２に対して、特定した上位タスクの配下に、更新されたサブタスクを更新する（ステップＳ２３）。
【００６３】
そして、構造化タスク設計部１１は、特定した上位タスクのリソース２１ｄにサブタスクの更新を反映させる（ステップＳ２４）。例えば、サブタスクが追加された場合には、構造化タスク設計部１１は、追加されたサブタスクのチェックリストを増やす。サブタスクが削除された場合には、構造化タスク設計部１１は、削除されたサブタスクのチェックリストを減らす。
【００６４】
そして、構造化タスク設計部１１は、構造化タスクＤＢ２１に対して、更新されたサブタスクを追加、削除または変更する（ステップＳ２５）。例えば、サブタスクが追加された場合には、構造化タスク設計部１１は、追加されたサブタスクの情報（タスク種別、タスク名、サブタスク、リソース、標準時間）を、構造化タスクＤＢ２１に追加する。サブタスクが削除された場合には、構造化タスク設計部１１は、削除されたサブタスクの情報を、構造化タスクＤＢ２１に削除する。サブタスクが変更された場合には、構造化タスク設計部１１は、変更されたサブタスクの情報を、構造化タスクＤＢ２１に変更する。そして、構造化タスク設計部１１は、構造化タスク設計処理を終了する。
【００６５】
一方、サブタスク群のツリー構造が更新されないと判定した場合には（ステップＳ２１；Ｎｏ）、構造化タスク設計部１１は、何もしないで、構造化タスク設計処理を終了する。
【００６６】
［熟練度評価処理のフローチャート］
次に、実施例に係る熟練度評価処理のフローチャートを、図１１を参照して説明する。図１１は、実施例に係る熟練度評価処理のフローチャートを示す図である。なお、ユーザによってタスクが実行され、実行されたタスクの実績時間が連携部１３によって実績ＤＢ２５に記憶されたものとする。
【００６７】
すると、図１１に示すように、熟練度評価部１４は、実績ＤＢ２５から、実行されたタスクの種別（タスク種別）とタスクの実行にかかった時間（実績時間）を取得する（ステップＳ３１）。熟練度評価部１４は、タスク種別ごとの標準時間を、構造化タスクＤＢ２１から取得する（ステップＳ３２）。
【００６８】
熟練度評価部１４は、タスクの実行にかかった時間（実績時間）とタスクの標準時間とを比較する（ステップＳ３３）。熟練度評価部１４は、実行にかかった時間（実績時間）が標準時間よりも長いか否かを判定する（ステップＳ３４）。
【００６９】
実行にかかった時間（実績時間）が標準時間よりも長いと判定した場合には（ステップＳ３４；Ｙｅｓ）、熟練度評価部１４は、ユーザのタスクフローへの熟練度を下げる（ステップＳ３５）。すなわち、熟練度評価部１４は、熟練度ＤＢ２３に現に設定された度数より下げた度数を、タスクフローへのユーザの熟練度として更新する。そして、熟練度評価部１４は、熟練度評価処理を終了する。
【００７０】
一方、実行にかかった時間（実績時間）が標準時間よりも短いと判定した場合には（ステップＳ３４；Ｎｏ）、熟練度評価部１４は、ユーザのタスクフローへの熟練度を上げる（ステップＳ３６）。すなわち、熟練度評価部１４は、熟練度ＤＢ２３に現に設定された度数より上げた度数を、タスクフローへのユーザの熟練度として更新する。そして、熟練度評価部１４は、熟練度評価処理を終了する。
【００７１】
［スケジュール調停処理のフローチャート］
次に、実施例に係るスケジュール調停処理のフローチャートを、図１２を参照して説明する。図１２は、実施例に係るスケジュール調停処理のフローチャートを示す図である。
【００７２】
図１２に示すように、スケジュール調停部１２は、タスクフローがタスクフローＤＢ２２に追加されたか否かを判定する（ステップＳ４１）。タスクフローがタスクフローＤＢ２２に追加されたと判定した場合には（ステップＳ４１；Ｙｅｓ）、スケジュール調停部１２は、ユーザのタスクフローへの熟練度を推定する（ステップＳ４２）。一例として、スケジュール調停部１２は、予め定められた熟練度の初期値を、現ユーザの熟練度として推定する。別の例として、タスクフローに対する熟練度の履歴を記録しておくとする。スケジュール調停部１２は、タスクフローに対する熟練度の履歴を利用して、現ユーザの熟練度を推定する。さらに、タスクフローに対する熟練度の履歴を記録し、ユーザの属性（例えば、経験年数、スキルレベル）を記録しておくとする。スケジュール調停部１２は、既に同一のタスクフローを実行したことがあるユーザとユーザの属性が類似している場合には、ユーザの属性が類似しているユーザの熟練度の初期値を、現ユーザの熟練度として推定する。そして、スケジュール調停部１２は、ステップＳ４４に移行する。
【００７３】
一方、タスクフローがタスクフローＤＢ２２に追加されないと判定した場合には（ステップＳ４１；Ｎｏ）、スケジュール調停部１２は、ユーザの現在のタスクフローへの熟練度を、熟練度ＤＢ２３から取得する（ステップＳ４３）。そして、スケジュール調停部１２は、ステップＳ４４に移行する。
【００７４】
ステップＳ４４において、スケジュール調停部１２は、次に実行するタスクをタスクフローＤＢ２２から特定する（ステップＳ４４）。そして、スケジュール調停部１２は、特定したタスクに対する、ユーザの熟練度に応じたサブタスク群を選択する（ステップＳ４５）。
【００７５】
そして、スケジュール調停部１２は、サブタスク群のそれぞれのタスクに対して、スケジュール上の空き時間を調整して、それぞれのタスクをスケジュールＤＢ２４に登録する（ステップＳ４６）。加えて、スケジュール調停部１２は、サブタスク群のそれぞれのタスクごとのリソースを、スケジュールＤＢ２４に登録する（ステップＳ４７）。そして、スケジュール調停部１２は、スケジュール調停処理を終了する。
【００７６】
［上級者の場合の情報提示処理の具体例］
次に、上級者の場合の情報提示処理の具体例を、図１３を参照して説明する。図１３は、上級者の場合の情報提示処理の具体例を示す図である。図１３に示すように、初期状態として、タスクフローＤＢ２２、スケジュールＤＢ２４、実績ＤＢ２５、熟練度ＤＢ２３が表わされている。タスクフローＤＢ２２には、プロジェクト名として「プロジェクト２」のタスクフローの情報（ｔ１）が記憶されている。スケジュールＤＢ２４には、タスクＩＤが「ｓｚ８９３４」である場合に、ユーザとして「ｈａｎａｋｏ」、リソースとして「ｒ１」、開始予定時刻として「３／２  １０：００」・・・と記憶している（ｐ１）。実績ＤＢ２５には、まだ何も記憶されていない（ａ１）。熟練度ＤＢ２３には、ユーザが「ｈａｎａｋｏ」である場合に、プロジェクト名として「プロジェクト２」、熟練度の初期値として「５」と記憶している（ｊ１）。なお、熟練度が「５」である場合とは、上級者であることを示す。
【００７７】
このような状況の下、連携部１３は、次に実行が予定されるタスクＩＤ「ｓｚ８９３４」に対応するタスク情報を、ユーザ（ｈａｎａｋｏ）に提示する。タスク情報には、リソースとして「ｒ１」、開始予定時刻として「３／２  １０：００」、終了予定時刻として「３／２  １２：００」が含まれる。
【００７８】
ユーザ（ｈａｎａｋｏ）のユーザインターフェース装置３では、表示部３１が、タスクＩＤ「ｓｚ８９３４」に対応するタスク情報を表示する。ユーザの指示に基づいて、実行部３２が、タスクＩＤ「ｓｚ８９３４」のタスクを実行する。すなわち、実行部３２は、１つ目のタスクを実行する。タスクの実行開始時に、実行部３２は、タスクの実行開始通知をスケジューリング支援装置１に対して送信する。タスクの実行完了時に、実行部３２は、タスクの実行完了通知をスケジューリング支援装置１に対して送信する。
【００７９】
スケジューリング支援装置１では、連携部１３が、タスクＩＤ「ｓｚ８９３４」のタスクの実行開始通知および実行完了通知を受け取る。そして、連携部１３は、実績ＤＢ２５に対して、タスクＩＤ「ｓｚ８９３４」のタスクに対する実績時間を記憶する。ここでは、タスクＩＤ「ｓｚ８９３４」に対する実績時間には、標準時間「２ｈ」より短い「１．５６ｈ」が記憶されたとする（ａ２）。すると、熟練度評価部１４は、タスクＩＤ「ｓｚ８９３４」に対応する実績時間が標準時間より短いので、上級者であると判断し、熟練度ＤＢ２３に現に設定された「５」を「プロジェクト２」へのユーザの熟練度として更新する（ｊ２）。
【００８０】
そして、スケジュール調停部１２は、「プロジェクト２」に対する、タスクＩＤ「ｓｚ８９３４」のタスクの次に実行するタスクをタスクフローＤＢ２２から特定する。ここでは、次に実行するタスクとしてタスクＩＤ「ｆｓ９５ｗ４」のタスクが特定される。スケジュール調停部１２は、タスクフローＤＢ２２に基づいて、次に実行するタスクに対する、ユーザの熟練度に応じたサブタスク群を選択する。ここでは、タスクＩＤ「ｆｓ９５ｗ４」のタスクのサブタスク群は、タスクＩＤ「ｆｓ９５ｗ４」のタスクのみであるので、タスクＩＤ「ｆｓ９５ｗ４」のタスクが選択される。スケジュール調停部１２は、選択したタスクＩＤ「ｆｓ９４ｗ４」のタスクに対して、ユーザ（ｈａｎａｋｏ）のスケジュール上の空き時間を調整して、スケジュールＤＢ２４に登録する（ｐ２）。すなわち、スケジュール調停部１２は、タスクＩＤ「ｆｓ９４ｗ４」のタスクのスケジュールを再調停する。
【００８１】
次に、連携部１３は、次に実行が予定されるタスクＩＤ「ｆｓ９４ｗ４」に対応するタスク情報を、ユーザ（ｈａｎａｋｏ）に提示する。タスク情報には、リソースとして「ｒ１，ｒ２」、開始予定時刻として「３／２  １４：００」、終了予定時刻として「３／２  １６：００」が含まれる。
【００８２】
ユーザ（ｈａｎａｋｏ）のユーザインターフェース装置３では、表示部３１が、タスクＩＤ「ｆｓ９５ｗ４」に対応するタスク情報を表示する。ユーザの指示に基づいて、実行部３２が、タスクＩＤ「ｆｓ９５ｗ４」のタスクを実行する。すなわち、実行部３２は、２つ目のタスクを実行する。タスクの実行開始時に、実行部３２は、タスクの実行開始通知をスケジューリング支援装置１に対して送信する。タスクの実行完了時に、実行部３２は、タスクの実行完了通知をスケジューリング支援装置１に対して送信する。
【００８３】
スケジューリング支援装置１では、連携部１３が、タスクＩＤ「ｆｓ９５ｗ４」のタスクの実行開始通知および実行完了通知を受け取る。そして、連携部１３は、実績ＤＢ２５に対して、タスクＩＤ「ｆｓ９５ｗ４」のタスクに対する実績時間を記憶する。ここでは、タスクＩＤ「ｆｓ９５ｗ４」に対する実績時間には、標準時間「２ｈ」より短い「１．８８ｈ」が記憶されたとする（ａ３）。すると、熟練度評価部１４は、タスクＩＤ「ｆｓ９５ｗ４」に対応する実績時間が標準時間より短いので、上級者であると判断し、熟練度ＤＢ２３に現に設定された「５」をそのまま「プロジェクト２」へのユーザの熟練度として更新する（ｊ３）。
【００８４】
そして、スケジュール調停部１２は、「プロジェクト２」に対する、タスクＩＤ「ｆｓ９５ｗ４」のタスクの次に実行するタスクをタスクフローＤＢ２２から特定する。ここでは、次に実行するタスクとしてタスクＩＤ「ｐｆ３４２３」のタスクが特定される。スケジュール調停部１２は、タスクフローＤＢ２２に基づいて、次に実行するタスクに対する、ユーザの熟練度「５」に応じたサブタスク群を選択する。ここでは、タスクＩＤ「ｐｆ３４２３」のタスクのサブタスク群は、タスクＩＤ「ｇｅ９３ｈｏ」、「ｅｇ８ｒｈ９ｒ」、「ｈｅ８ｙ７ｗ」であるが、ユーザの熟練度「５」に応じたサブタスク群としてタスクＩＤ「ｐｆ３４２３」のタスクが選択される。ユーザの熟練度「５」は上級者の熟練度であるので、スケジュール調停部１２は、後に連携部１３によって提示されるタスク情報をコンパクトに纏めさせるためである。そして、スケジュール調停部１２は、選択したタスクＩＤ「ｐｆ３４２３」のタスクに対して、ユーザ（ｈａｎａｋｏ）のスケジュール上の空き時間を調整して、スケジュールＤＢ２４に登録する（ｐ３）。すなわち、スケジュール調停部１２は、タスクＩＤ「ｐｆ３４２３」のタスクのスケジュールを再調停する。
【００８５】
これにより、スケジューリング支援装置１は、「プロジェクト２」へのユーザの熟練度によって、タスクを適切な粒度でユーザに提示することができる。この結果、ユーザが上級者である場合には、システムの介入が減ることで、作業し易い環境を作ることができる。
【００８６】
［初心者の場合の情報提示処理の具体例］
次に、初心者の場合の情報提示処理の具体例を、図１４を参照して説明する。図１４は、初心者の場合の情報提示処理の具体例を示す図である。図１４に示すように、初期状態として、タスクフローＤＢ２２、スケジュールＤＢ２４、実績ＤＢ２５、熟練度ＤＢ２３が、記述されている。タスクフローＤＢ２２には、プロジェクト名として「プロジェクト１」のタスクフローの情報（ｔ１１）が記憶されている。スケジュールＤＢ２４には、タスクＩＤが「ｙｆ６４３５」である場合に、ユーザとして「ｔａｒｏ」、リソースとして「ｒ１」、開始予定時刻として「３／２  １０：００」・・・と記憶している（ｐ１１）。実績ＤＢ２５には、まだ何も記憶されていない（ａ１１）。熟練度ＤＢ２３には、ユーザが「ｔａｒｏ」である場合に、プロジェクト名として「プロジェクト１」、熟練度の初期値として「５」と記憶している（ｊ１１）。なお、熟練度が「５」である場合とは、上級者であることを示す。
【００８７】
このような状況の下、連携部１３は、次に実行が予定されるタスクＩＤ「ｙｆ６４３５」に対応するタスク情報を、ユーザ（ｔａｒｏ）に提示する。タスク情報には、リソースとして「ｒ１」、開始予定時刻として「３／２  １０：００」、終了予定時刻として「３／２  １２：００」が含まれる。
【００８８】
ユーザ（ｔａｒｏ）のユーザインターフェース装置３では、表示部３１が、タスクＩＤ「ｙｆ６４３５」に対応するタスク情報を表示する。ユーザの指示に基づいて、実行部３２が、タスクＩＤ「ｙｆ６４３５」のタスクを実行する。すなわち、実行部３２は、１つ目のタスクを実行する。タスクの実行開始時に、実行部３２は、タスクの実行開始通知をスケジューリング支援装置１に対して送信する。タスクの実行完了時に、実行部３２は、タスクの実行完了通知をスケジューリング支援装置１に対して送信する。
【００８９】
スケジューリング支援装置１では、連携部１３が、タスクＩＤ「ｙｆ６４３５」のタスクの実行開始通知および実行完了通知を受け取る。そして、連携部１３は、実績ＤＢ２５に対して、タスクＩＤ「ｙｆ６４３５」のタスクに対する実績時間を記憶する。ここでは、タスクＩＤ「ｙｆ６４３５」に対する実績時間には、標準時間「２ｈ」より長い「３．３１ｈ」が記憶されたとする（ａ２２）。すると、熟練度評価部１４は、タスクＩＤ「ｙｆ６４３５」に対応する実績時間が標準時間より長いので、中級者であると判断し、熟練度ＤＢ２３に現に設定された度数より下げた度数「４」を「プロジェクト１」へのユーザの熟練度として更新する（ｊ２２）。
【００９０】
そして、スケジュール調停部１２は、「プロジェクト１」に対する、タスクＩＤ「ｙｚ６４３５」のタスクの次に実行するタスクをタスクフローＤＢ２２から特定する。ここでは、次に実行するタスクとしてタスクＩＤ「ｍｍｙｒｅ５」のタスクが特定される。スケジュール調停部１２は、タスクフローＤＢ２２に基づいて、次に実行するタスクに対する、ユーザの熟練度に応じたサブタスク群を選択する。ここでは、タスクＩＤ「ｍｍｙｒｅ５」のタスクのサブタスク群は、タスクＩＤ「ｍｍｙｒｅ５」のタスクのみであるので、タスクＩＤ「ｍｍｙｒｅ５」のタスクが選択される。スケジュール調停部１２は、選択したタスクＩＤ「ｍｍｙｒｅ５」のタスクに対して、ユーザ（ｔａｒｏ）のスケジュール上の空き時間を調整して、スケジュールＤＢ２４に登録する（ｐ２２）。すなわち、スケジュール調停部１２は、タスクＩＤ「ｍｍｙｒｅ５」のタスクのスケジュールを再調停する。
【００９１】
次に、連携部１３は、次に実行が予定されるタスクＩＤ「ｍｍｙｒｅ５」に対応するタスク情報を、ユーザ（ｔａｒｏ）に提示する。タスク情報には、リソースとして「ｒ１，ｒ２」、開始予定時刻として「３／２  １４：００」、終了予定時刻として「３／２  １６：００」が含まれる。
【００９２】
ユーザ（ｔａｒｏ）のユーザインターフェース装置３では、表示部３１が、タスクＩＤ「ｍｍｙｒｅ５」に対応するタスク情報を表示する。ユーザの指示に基づいて、実行部３２が、タスクＩＤ「ｍｍｙｒｅ５」のタスクを実行する。すなわち、実行部３２は、２つ目のタスクを実行する。タスクの実行開始時に、実行部３２は、タスクの実行開始通知をスケジューリング支援装置１に対して送信する。タスクの実行完了時に、実行部３２は、タスクの実行完了通知をスケジューリング支援装置１に対して送信する。
【００９３】
スケジューリング支援装置１では、連携部１３が、タスクＩＤ「ｍｍｙｒｅ５」のタスクの実行開始通知および実行完了通知を受け取る。そして、連携部１３は、実績ＤＢ２５に対して、タスクＩＤ「ｍｍｙｒｅ５」のタスクに対する実績時間を記憶する。ここでは、タスクＩＤ「ｍｍｙｒｅ５」に対する実績時間には、標準時間「２ｈ」より長い「３．１０ｈ」が記憶されたとする（ａ３３）。すると、熟練度評価部１４は、タスクＩＤ「ｍｍｙｒｅ５」に対応する実績時間が標準時間より長いので、初心者であると判断し、熟練度ＤＢ２３に現に設定された度数「４」より下げた度数「３」を「プロジェクト１」へのユーザの熟練度として更新する（ｊ３３）。
【００９４】
そして、スケジュール調停部１２は、「プロジェクト１」に対する、タスクＩＤ「ｍｍｙｒｅ５」のタスクの次に実行するタスクをタスクフローＤＢ２２から特定する。ここでは、次に実行するタスクとしてタスクＩＤ「ａｆ８９ｅ８」のタスクが特定される。スケジュール調停部１２は、タスクフローＤＢ２２に基づいて、次に実行するタスクに対する、ユーザの熟練度「３」に応じたサブタスク群を選択する。ここでは、タスクＩＤ「ａｆ８９ｅ８」のタスクのサブタスク群は、タスクＩＤ「ａ０９３ｈｏ」、「ｋｓ８ｒｈ９ｒ」、「ａｏ８ｙ７ｗ」である。タスクＩＤ「ａ０９３ｈｏ」のタスクのサブタスク群は、「ｏｉｅｍ４９」、「ｐｗｅｒ１９」である。そこで、次に実行するタスクに対する、ユーザの熟練度「３」に応じたサブタスク群として、タスクＩＤ「ａ０９３ｈｏ」のタスクのサブタスク群である「ｏｉｅｍ４９」および「ｐｗｅｒ１９」のタスクが選択される。加えて、タスクＩＤ「ｋｓ８ｒｈ９ｒ」のタスク、タスクＩＤ「ａｏ８ｙ７ｗ」のタスクが選択される。ユーザの熟練度「３」は初心者の熟練度であるので、スケジュール調停部１２は、後に連携部１３によって提示されるタスク情報を、サブタスク群のタスク毎に提示させるためである。そして、スケジュール調停部１２は、選択したタスクＩＤ「ｏｉｅｍ４９」、「ｐｗｅｒ１９」、「ｋｓ８ｒｈ９ｒ」、「ａｏ８ｙ７ｗ」の各タスクに対して、ユーザ（ｔａｒｏ）のスケジュール上の空き時間を調整して、スケジュールＤＢ２４に登録する（ｐ３３）。すなわち、スケジュール調停部１２は、タスクＩＤ「ａｆ８９ｅ８」のタスクのスケジュールを再調停する。
【００９５】
これにより、スケジューリング支援装置１は、「プロジェクト１」へのユーザの熟練度によって、タスクを適切な粒度でユーザに提示することができる。この結果、ユーザが初心者である場合には、システムの支援が多く受けられるので、作業し易い環境を作ることができる。
【００９６】
［実施例の効果］
上記実施例では、スケジューリング支援装置１は、一乃至複数のタスク情報と、一乃至複数のタスク情報それぞれに対応する一乃至複数の粒度に構造化したサブタスク群を記憶する。スケジューリング支援装置１は、複数のタスクそれぞれを提示する際に、各タスクに対応するサブタスク群のうち予め設定された粒度のサブタスクを構造に応じて提示する。かかる構成によれば、スケジューリング支援装置１は、タスクフローを形成するタスク群それぞれのタスクの実行を最適化することが可能となる。
【００９７】
また、上記実施例では、スケジューリング支援装置１は、提示する処理が提示したサブタスクの実行結果に応じて、提示した次のタスクに対応するサブタスク群のうち提示する粒度のサブタスクを決定する。スケジューリング支援装置１は、次のタスクを提示する際に、決定したサブタスクを構造に応じて提示する。かかる構成によれば、スケジューリング支援装置１は、タスクの実行結果に応じて、次のタスクの提示の粒度を前のタスクの実行結果に応じて決定することで、適切な粒度で次のタスクを提示することが可能となる。この結果、スケジューリング支援装置１は、タスク実行の最適化を図ることができる。
【００９８】
また、上記実施例では、スケジューリング支援装置１は、提示したサブタスクの実行結果に応じて、提示した次のタスクの提示する段階を更新する。スケジューリング支援装置１は、提示した次のタスクに対応するサブタスク群のうち更新された段階に応じたサブタスクを構造に応じて決定する。かかる構成によれば、スケジューリング支援装置１は、提示されたサブタスクの実行結果に応じて次のタスクの提示の粒度を更新することで、複数のタスクを含むタスクフローへのユーザの提示粒度を最適化できる。
【００９９】
また、上記実施例では、スケジューリング支援装置１は、提示したサブタスクの実行に要する時間が標準時間より長い場合には、予め設定された段階を下位の段階に更新する。スケジューリング支援装置１は、提示したサブタスクの実行に要する時間が標準時間より短い場合には、予め設定された段階を上位の段階に更新する。そして、スケジューリング支援装置１は、提示した次のタスクに対応するサブタスク群のうち更新された段階に応じたサブタスクを構造に応じて決定する。かかる構成によれば、スケジューリング支援装置１は、タスクの実行に要する時間に応じて、次のタスクの提示の粒度を更新することで、複数のタスクを含むタスクフローへのユーザの提示粒度を適正化できる。
【０１００】
また、上記実施例では、スケジューリング支援装置１は、スケジューリング支援の運用中に、一乃至複数のタスク情報それぞれに対応する一乃至複数の段階に構造化したサブタスク群を追加、変更、削除する。かかる構成によれば、スケジューリング支援装置１は、システムを停止しなくても、構造化したサブタスク群を更新することで、スケジューリングに関し柔軟性のある支援処理を行うことができる。
【０１０１】
［その他］
なお、構造化タスク設計部１１は、タスクフローの実行中に、タスクの構造を変化させても良い。例えば、タスクフローがタスク２、タスク３であったとする。タスクフローのタスク２が実行中に、構造化タスク設計部１１は、タスク２とタスク３との間にタスク４を追加しても良い。構造化タスク設計部１１は、タスク３配下のサブタスク群にタスク３−Ｎを追加しても良い。タスクフローのタスク２が実行中に、構造化タスク設計部１１は、タスク３を削除しても良い。構造化タスク設計部１１は、タスク３配下のサブタスク群のうちいずれかのサブタスクを削除しても良い。タスクフローのタスク２が実行中に、構造化タスク設計部１１は、タスク３を変更しても良い。構造化タスク設計部１１は、タスク３配下のサブタスク群のうちいずれかのサブタスクを変更しても良い。
【０１０２】
また、上記実施例では、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、スケジュール調停部１２と熟練度評価部１４とを１個の部として統合しても良い。また、連携部１３を、次のタスクをユーザに提示する提示部と、提示したタスクの実行結果を登録する登録部とに分散しても良い。構造化タスクＤＢ２１、タスクフローＤＢ２２、熟練度ＤＢ２３、スケジュールＤＢ２４および実績ＤＢ２５を含む記憶部をスケジューリング支援装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【０１０３】
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示したスケジューリング支援装置１と同様の機能を実現するスケジューリング支援プログラムを実行するコンピュータの一例を説明する。図１５は、スケジューリング支援プログラムを実行するコンピュータの一例を示す図である。
【０１０４】
図１５に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【０１０５】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、スケジューリング支援プログラム２０５ａおよびスケジューリング支援処理関連情報２０５ｂを記憶する。
【０１０６】
ＣＰＵ２０３は、スケジューリング支援プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、スケジューリング支援装置１の各機能部に対応する。スケジューリング支援処理関連情報２０５ｂは、構造化タスクＤＢ２１、タスクフローＤＢ２２、熟練度ＤＢ２３、スケジュールＤＢ２４および実績ＤＢ２５に対応する。そして、例えばリムーバブルディスク２１１が、スケジューリング支援プログラム２０５ａ等の各情報を記憶する。
【０１０７】
なお、スケジューリング支援プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらからスケジューリング支援プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【０１０８】
１  スケジューリング支援装置
１１  構造化タスク設計部
１２  スケジュール調停部
１３  連携部
１４  熟練度評価部
２１  構造化タスクＤＢ
２２  タスクフローＤＢ
２３  熟練度ＤＢ
２４  スケジュールＤＢ
２５  実績ＤＢ
３  ユーザインターフェース装置
３１  表示部
３２  実行部
５  ネットワーク
９  スケジューリング支援システム
【図１】
2017033457.tif 000003
【図２】
2017033457.tif 000004
【図３】
2017033457.tif 000005
【図４】
2017033457.tif 000006
【図５】
2017033457.tif 000007
【図６】
2017033457.tif 000008
【図７】
2017033457.tif 000009
【図８】
2017033457.tif 000010
【図９Ａ】
2017033457.tif 000011
【図９Ｂ】
2017033457.tif 000012
【図９Ｃ】
2017033457.tif 000013
【図１０Ａ】
2017033457.tif 000014
【図１０Ｂ】
2017033457.tif 000015
【図１１】
2017033457.tif 000016
【図１２】
2017033457.tif 000017
【図１３】
2017033457.tif 000018
【図１４】
2017033457.tif 000019
【図１５】
2017033457.tif 000020