(57)【要約】      （修正有）【課題】ソフトウェアを使用するユーザに適切なタイミングでヘルプ情報を通知する情報処理装置、プロジェクト管理方法およびプロジェクト管理プログラムを提供する。【解決手段】情報処理装置１０において、処理部１２は、タスク１４ａの完了を検出する。処理部１２は、タスク１４ａにおけるソフトウェアの使用状況に基づいて選択されたヘルプ情報１５ａの通知を保留する。処理部１２は、タスク１４ａの完了の後にタスク１４ｂの完了を検出する。処理部１２は、タスク１４ａ，１４ｂを含む複数の完了済みタスクの作業量の合計を示す指標値１６を算出し、指標値１６と閾値とを比較する。処理部１２は、指標値１６が閾値を超える場合、ヘルプ情報１５ａとタスク１４ｂにおけるソフトウェアの使用状況に基づいて選択されたヘルプ情報１５ｂとを通知することを許容する。処理部１２は、指標値１６が閾値以下である場合、ヘルプ情報１５ａ，１５ｂの通知を保留する。【選択図】図１
2019219913.tif 000002
【特許請求の範囲】
【請求項１】
複数のタスクそれぞれについて当該タスクの完了の有無を示すステータス情報と当該タスクの作業量を示す作業量情報とを含むタスク管理情報を記憶する記憶部と、
前記ステータス情報に基づいて第１のタスクの完了を検出し、前記第１のタスクにおけるソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第１のヘルプ情報の通知を保留し、前記ステータス情報に基づいて前記第１のタスクの完了の後に第２のタスクの完了を検出し、前記作業量情報に基づいて前記第１のタスクおよび前記第２のタスクを含む複数の完了済みタスクの作業量の合計を示す指標値を算出し、前記指標値と閾値とを比較し、前記指標値が前記閾値を超える場合、前記第１のヘルプ情報と前記第２のタスクにおける前記ソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第２のヘルプ情報とを通知することを許容し、前記指標値が前記閾値以下である場合、前記第１のヘルプ情報および前記第２のヘルプ情報の通知を保留する処理部と、
を有する情報処理装置。
【請求項２】
前記指標値は、前記複数の完了済みタスクの実際作業時間の合計、予定作業時間の合計、または、タスク開始から期限までの猶予時間の合計である、
請求項１記載の情報処理装置。
【請求項３】
前記複数の完了済みタスクは、前記第１のタスクと、前記第１のヘルプ情報の通知が保留されている間に前記第１のタスクと同じユーザによって完了されたタスクである、
請求項１記載の情報処理装置。
【請求項４】
前記タスク管理情報は、前記複数のタスクそれぞれについてテキスト情報を含み、
前記処理部は更に、前記テキスト情報に含まれる単語に基づいて前記第１のヘルプ情報および前記第２のヘルプ情報それぞれのカテゴリを決定し、
前記第１のヘルプ情報および前記第２のヘルプ情報を通知する場合、前記カテゴリに基づいて前記第１のヘルプ情報および前記第２のヘルプ情報の表示順序を制御する、
請求項１記載の情報処理装置。
【請求項５】
コンピュータが実行するプロジェクト管理方法であって、
第１のタスクの完了を検出し、
前記第１のタスクにおけるソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第１のヘルプ情報の通知を保留し、
前記第１のタスクの完了の後に第２のタスクの完了を検出し、
前記第１のタスクおよび前記第２のタスクを含む複数の完了済みタスクの作業量の合計を示す指標値を算出し、前記指標値と閾値とを比較し、
前記指標値が前記閾値を超える場合、前記第１のヘルプ情報と前記第２のタスクにおける前記ソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第２のヘルプ情報とを通知することを許容し、前記指標値が前記閾値以下である場合、前記第１のヘルプ情報および前記第２のヘルプ情報の通知を保留する、
プロジェクト管理方法。
【請求項６】
コンピュータに、
第１のタスクの完了を検出し、
前記第１のタスクにおけるソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第１のヘルプ情報の通知を保留し、
前記第１のタスクの完了の後に第２のタスクの完了を検出し、
前記第１のタスクおよび前記第２のタスクを含む複数の完了済みタスクの作業量の合計を示す指標値を算出し、前記指標値と閾値とを比較し、
前記指標値が前記閾値を超える場合、前記第１のヘルプ情報と前記第２のタスクにおける前記ソフトウェアの使用状況に基づいて選択された前記ソフトウェアに関連する第２のヘルプ情報とを通知することを許容し、前記指標値が前記閾値以下である場合、前記第１のヘルプ情報および前記第２のヘルプ情報の通知を保留する、
処理を実行させるプロジェクト管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、プロジェクト管理方法およびプロジェクト管理プログラムに関する。
【背景技術】
【０００２】
ソフトウェアに様々な機能が実装されてソフトウェアが複雑化するに伴い、当該ソフトウェアに不慣れなユーザは、一部の機能の存在を知らないことや一部の機能の適切な使い方を知らないことにより、作業効率を低下させていることがある。そこで、当該ソフトウェアが有する機能を説明するヘルプ情報を、ユーザからのヘルプ要求を待たずにコンピュータが積極的にユーザに対して通知することが考えられる。
【０００３】
例えば、ユーザの習熟度に応じてアプリケーションソフトウェアの操作方法をユーザに案内する操作方法案内装置が提案されている。提案の操作方法案内装置は、アプリケーションソフトウェアに対するユーザ操作を検出して習熟度を判定し、判定した習熟度に対応する案内情報をデータベースから検索して操作画面に表示する。また、例えば、ユーザによる電子書籍の閲覧を監視し、ユーザが所定のページに到達したときに当該電子書籍に関連する関連情報をユーザ端末に表示する配信システムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２１８３５９号公報
【特許文献２】特開２０１５−１５８８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
プロジェクト管理の一環として、ソフトウェアを使用するユーザに対して積極的にヘルプ情報を通知することが考えられる。しかし、プロジェクト上の一連の作業を行っているユーザに対して頻繁にヘルプ情報を通知しても、ユーザはソフトウェアの機能をその都度学習することを煩わしく感じ、目の前の作業を進めることを優先する可能性がある。そのため、ヘルプ情報がユーザによって無視されてしまい、ヘルプ情報の通知が有効に働かないことがある。そこで、ユーザにヘルプ情報を通知するタイミングが問題となる。
【０００６】
１つの側面では、本発明は、ソフトウェアを使用するユーザに対して適切なタイミングでヘルプ情報を通知することができる情報処理装置、プロジェクト管理方法およびプロジェクト管理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
１つの態様では、記憶部と処理部とを有する情報処理装置が提供される。記憶部は、複数のタスクそれぞれについて当該タスクの完了の有無を示すステータス情報と当該タスクの作業量を示す作業量情報とを含むタスク管理情報を記憶する。処理部は、ステータス情報に基づいて第１のタスクの完了を検出し、第１のタスクにおけるソフトウェアの使用状況に基づいて選択されたソフトウェアに関連する第１のヘルプ情報の通知を保留し、ステータス情報に基づいて第１のタスクの完了の後に第２のタスクの完了を検出し、作業量情報に基づいて第１のタスクおよび第２のタスクを含む複数の完了済みタスクの作業量の合計を示す指標値を算出し、指標値と閾値とを比較し、指標値が閾値を超える場合、第１のヘルプ情報と第２のタスクにおけるソフトウェアの使用状況に基づいて選択されたソフトウェアに関連する第２のヘルプ情報とを通知することを許容し、指標値が閾値以下である場合、第１のヘルプ情報および第２のヘルプ情報の通知を保留する。
【０００８】
１つの態様では、コンピュータが実行するプロジェクト管理方法が提供される。１つの態様では、コンピュータに実行させるプロジェクト管理プログラムが提供される。
【発明の効果】
【０００９】
１つの側面では、適切なタイミングでヘルプ情報が通知される。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の情報処理装置の例を説明する図である。
【図２】第２の実施の形態の情報処理システムの例を示す図である。
【図３】プロジェクト管理サーバのハードウェア例を示すブロック図である。
【図４】チケットのデータ構造例を示す図である。
【図５】ログテーブルのデータ構造例を示す図である。
【図６】ヘルプ情報テーブルのデータ構造例を示す図である。
【図７】トピックテーブルのデータ構造例を示す図である。
【図８】タスクサイズテーブルのデータ構造例を示す図である。
【図９】通知バッファのデータ構造例を示す図である。
【図１０】ヘルプ情報の通知タイミングの例を示す図である。
【図１１】プロジェクト管理画面の例を示す図である。
【図１２】プロジェクト管理サーバの機能例を示すブロック図である。
【図１３】通知制御の手順例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
第１の実施の形態を説明する。
【００１２】
図１は、第１の実施の形態の情報処理装置の例を説明する図である。
第１の実施の形態の情報処理装置１０は、ユーザによるソフトウェアの使用状況に応じて、当該ユーザに対して当該ソフトウェアの効率的な使用方法に関するヘルプ情報を自動的に提供する。情報処理装置１０は、例えば、業務上のプロジェクトを管理するプロジェクト管理装置である。情報処理装置１０をコンピュータと言うことがある。また、情報処理装置１０は、クライアント装置でもよいしサーバ装置でもよい。
【００１３】
情報処理装置１０は、記憶部１１および処理部１２を有する。記憶部１１は、ＲＡＭ（Random Access Memory）などの揮発性の半導体メモリでもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性ストレージでもよい。処理部１２は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）などのプロセッサである。ただし、処理部１２は、ＡＳＩＣ（Application Specific Integrated Circuit）やＦＰＧＡ（Field Programmable Gate Array）などの特定用途の電子回路を含んでもよい。プロセッサは、ＲＡＭなどのメモリ（記憶部１１でもよい）に記憶されたプログラムを実行する。プログラムにはプロジェクト管理プログラムが含まれる。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００１４】
記憶部１１は、タスク管理情報１３を記憶する。タスク管理情報１３は、複数のタスクそれぞれについてステータス情報１３ａと作業量情報１３ｂとを含む。ステータス情報１３ａは、タスクの完了の有無を示す。作業量情報１３ｂは、タスクの作業量を示す。
【００１５】
タスクは、プロジェクトにおけるユーザのひとまとまりの作業を示し、例えば、ソフトウェア開発における新規機能追加やバグ修正などのプログラミング作業を示す。ステータス情報１３ａや作業量情報１３ｂを含む１つのタスクに関する情報を、チケットやｉｓｓｕｅや作業指示書などと言うことがある。タスクの作業量はタスクサイズと言うこともできる。タスクの作業量としては、当該タスクの予定作業時間、当該タスクの実際作業時間、当該タスクの着手日時から期限までの猶予時間などを用いることができる。また、タスクの作業量として、仕様を示す入力ファイルのサイズや、当該タスクによって作成された成果物である出力ファイルのサイズなどを用いることもできる。出力ファイルのサイズとしては、例えば、作成されたプログラムのコード量が挙げられる。タスクの作業量の指標は、タスク管理情報１３にどの様な情報が含まれているかに依存する。
【００１６】
処理部１２は、タスク管理情報１３のステータス情報１３ａに基づいて、複数のタスクのうちタスク１４ａ（第１のタスク）が完了したことを検出する。すると、処理部１２は、タスク１４ａにおけるソフトウェアの使用状況に基づいて、当該ソフトウェアに関連するヘルプ情報１５ａ（第１のヘルプ情報）を選択する。ヘルプ情報１５ａは、例えば、予め用意されたヘルプ情報の集合の中から選択される。
【００１７】
このソフトウェアは、タスク１４ａの中でユーザにより利用されたものであり、クライアント装置で実行されてもよいしサーバ装置で実行されてもよい。ソフトウェアとして、例えば、プログラム作成を支援する開発支援ツール、ライブラリモジュール、ＡＰＩ（Application Programming Interface）などが挙げられる。ソフトウェアの使用状況は、当該ソフトウェアを実行したクライアント装置またはサーバ装置によって生成されたログを参照して特定することができる。処理部１２は、例えば、クライアント装置またはサーバ装置からログを収集する。記憶部１１はログを記憶してもよい。ログは、例えば、呼び出されたＡＰＩ、実行日時、入力データ、出力データなどを示す。例えば、ヘルプ情報１５ａにログのパターンが対応付けられており、収集したログから当該パターンが検出されたときに、処理部１２はヘルプ情報１５ａを選択する。
【００１８】
ヘルプ情報１５ａは、ソフトウェアの効率的な使用方法を説明したテキストを含む文書である。情報処理装置１０は、ユーザからの明示的な要求なしに自動的に適切なヘルプ情報をユーザに提示する。ヘルプ情報１５ａは、タスク１４ａにおけるソフトウェアの使用状況に鑑みて、ソフトウェアの効率的な使用方法をユーザに提案するものである。ヘルプ情報１５ａは、タスク１４ａにおけるソフトウェアの使用状況に鑑みて、ユーザが知らないと推測されるソフトウェアの機能を示すものであってもよい。例えば、タスク１４ａにおいてユーザが採用したＡＰＩの使用方法が非効率である場合、ヘルプ情報１５ａは、同等の出力データを得ることができる効率的なＡＰＩの使用方法を示す。また、例えば、タスク１４ａにおいてＡＰＩの呼び出し時にエラーが発生した場合、ヘルプ情報１５ａは、当該エラーを回避することができる１つの方法を示す。
【００１９】
ここで、処理部１２は、タスク１４ａに対応して選択したヘルプ情報１５ａを即時には通知せず、ヘルプ情報１５ａの通知を保留する。例えば、処理部１２は、ヘルプ情報１５ａまたはヘルプ情報１５ａの識別情報をバッファに保存する。
【００２０】
次に、処理部１２は、タスク管理情報１３のステータス情報１３ａに基づいて、タスク１４ａの完了の後に、複数のタスクのうちタスク１４ｂ（第２のタスク）が完了したことを検出する。タスク１４ａとタスク１４ｂは、同じユーザにより実行されたものである。タスク１４ａとタスク１４ｂの間に、同じユーザにより他のタスクが実行されてもよい。すると、処理部１２は、タスク１４ｂにおけるソフトウェアの使用状況に基づいて、当該ソフトウェアに関連するヘルプ情報１５ｂ（第２のヘルプ情報）を選択する。ヘルプ情報１５ｂは、タスク１４ｂにおけるソフトウェアの使用状況に鑑みて、ソフトウェアの効率的な使用方法をユーザに提案するものである。
【００２１】
ここで、処理部１２は、作業量情報１３ｂに基づいて、タスク１４ａ，１４ｂを含む複数の完了済みタスクの作業量の合計を示す指標値１６を算出する。作業量の合計が多いほど、指標値１６は大きい値をとる。複数の完了済みタスクは、例えば、最も古い未通知のヘルプ情報が発生した完了済みタスク、および、それより後に同一ユーザによって実行された完了済みタスクの集合である。指標値１６は、例えば、複数の完了済みタスクに対する予定作業時間の合計、実際作業時間の合計、着手日時から期限までの猶予時間の合計などである。処理部１２は、指標値１６と所定の閾値とを比較する。閾値は記憶部１１に記憶されていてもよく、ユーザ毎に異なってもよい。
【００２２】
指標値１６が閾値を超える場合、処理部１２は、ヘルプ情報１５ａ，１５ｂを通知することを許容する。例えば、処理部１２は、ヘルプ情報１５ａとヘルプ情報１５ｂとを合わせてユーザに通知する。一方、処理部１２は、指標値１６が閾値以下である場合、ヘルプ情報１５ａ，１５ｂの通知を引き続き保留する。ヘルプ情報１５ａ，１５ｂの通知方法として、例えば、ユーザが使用する端末装置の画面に、ヘルプ情報１５ａ，１５ｂを含むポップアップ領域を表示させることが考えられる。また、ヘルプ情報１５ａ，１５ｂの通知方法として、例えば、ユーザの電子メールアドレスを宛先アドレスとして含み、ヘルプ情報１５ａ，１５ｂを本文として含む電子メールを送信することが考えられる。
【００２３】
第１の実施の形態の情報処理装置１０によれば、ユーザに対して頻繁にヘルプ情報が通知されることが抑制される。よって、ユーザが目の前の作業を進めることを優先してヘルプ情報を無視してしまう可能性を低減できる。また、完了済みタスクの作業量の合計が一定量に達したタイミングで、保留中のヘルプ情報がまとめてユーザに通知される。よって、ユーザの作業が一区切りついたときにヘルプ情報が通知されるようになり、ソフトウェアの機能を学習するのによいタイミングでヘルプ情報を提供できる。このように、ソフトウェアを使用するユーザに対して適切なタイミングでヘルプ情報を通知することができ、通知したヘルプ情報がユーザによって活用されやすくなる。その結果、ユーザによるソフトウェアの学習を支援することができ、ソフトウェアの使用を効率化できる。
【００２４】
［第２の実施の形態］
次に、第２の実施の形態を説明する。
図２は、第２の実施の形態の情報処理システムの例を示す図である。
【００２５】
第２の実施の形態の情報処理システムは、プロジェクト管理サーバ１００、アプリケーションサーバ２００およびクライアント３００，３００−１，３００−２を有する。上記装置はネットワーク４０に接続されている。なお、プロジェクト管理サーバ１００は、第１の実施の形態の情報処理装置１０に対応する。
【００２６】
プロジェクト管理サーバ１００は、プロジェクトの進行を管理するサーバコンピュータである。プロジェクト管理サーバ１００は、プロジェクトに属する複数のタスクの情報を保持する。プロジェクト管理サーバ１００は、ネットワーク４０を介してクライアント３００，３００−１，３００−２からアクセスを受け付け、タスクの情報を更新する。また、プロジェクト管理サーバ１００は、ネットワーク４０を介してクライアント３００，３００−１，３００−２に最新のタスクの情報を提供する。
【００２７】
プロジェクト管理サーバ１００とクライアント３００，３００−１，３００−２の間の通信には、例えば、ＨＴＴＰ（Hypertext Transfer Protocol）が用いられる。プロジェクト管理サーバ１００からクライアント３００，３００−１，３００−２へは、例えば、ＨＴＭＬ（HyperText Markup Language）などのマークアップ言語を用いて記述された画面情報が提供される。クライアント３００，３００−１，３００−２への情報提供のために、プロジェクト管理サーバ１００は、アプリケーションサーバ２００におけるソフトウェアの実行履歴を示すログをアプリケーションサーバ２００から収集する。プロジェクト管理サーバ１００は、クライアント３００，３００−１，３００−２におけるソフトウェアの実行履歴を示すログを収集するようにしてもよい。
【００２８】
アプリケーションサーバ２００は、プロジェクトで使用されるソフトウェアを実行するサーバコンピュータである。アプリケーションサーバ２００には、複数種類のソフトウェアがインストールされている。例えば、アプリケーションサーバ２００は、クライアント３００，３００−１，３００−２に対してＡＰＩを提供する。アプリケーションサーバ２００にインストールされるソフトウェアの例として、プログラム作成支援ツールや、ユーザプログラムから呼び出されるライブラリやミドルウェアなどが挙げられる。
【００２９】
アプリケーションサーバ２００は、ネットワーク４０を介してクライアント３００，３００−１，３００−２から入力データを含むリクエストメッセージを受信し、受信したリクエストメッセージに基づいてソフトウェアを実行する。アプリケーションサーバ２００は、ネットワーク４０を介してクライアント３００，３００−１，３００−２に、ソフトウェアの実行結果である出力データを含むレスポンスメッセージを送信する。また、アプリケーションサーバ２００は、ソフトウェアの実行履歴を示すログを記録し、プロジェクト管理サーバ１００に対してログを提供する。
【００３０】
アプリケーションサーバ２００にインストールされるソフトウェアは、大規模かつ多機能であることがあり、ユーザが当該ソフトウェアに習熟するには時間を要することがある。よって、ユーザは当該ソフトウェアの全ての機能を知っているとは限らず、当該ソフトウェアを非効率な方法で使用してしまうことがある。そこで、プロジェクト管理サーバ１００は、プロジェクト管理の一環として、ユーザによるソフトウェアの機能の学習を支援する。プロジェクト管理サーバ１００は、アプリケーションサーバ２００から収集したログに基づいて、あるユーザによるソフトウェアの非効率な使用を検出し、ソフトウェアの効率的な使用を促すヘルプ情報を当該ユーザに対して送信する。
【００３１】
クライアント３００，３００−１，３００−２は、プロジェクトに参加するユーザが使用するクライアントコンピュータである。クライアント３００，３００−１，３００−２は、プロジェクトに属するタスクの情報をプロジェクト管理サーバ１００に登録する。また、クライアント３００，３００−１，３００−２は、プロジェクト管理サーバ１００から最新のタスクの情報を受信してディスプレイに表示させる。このようにして、クライアント３００，３００−１，３００−２はタスクの情報を共有する。また、クライアント３００，３００−１，３００−２は、ソフトウェアの効率的な使用方法を示すヘルプ情報をプロジェクト管理サーバ１００から受信してディスプレイに表示させる。
【００３２】
また、クライアント３００，３００−１，３００−２は、タスクを実行するためにアプリケーションサーバ２００を利用する。クライアント３００，３００−１，３００−２は、入力データを含むリクエストメッセージをアプリケーションサーバ２００に送信し、出力データを含むレスポンスメッセージをアプリケーションサーバ２００から受信する。
【００３３】
クライアント３００，３００−１，３００−２は、作成中のユーザプログラムを実行してもよい。また、クライアント３００，３００−１，３００−２は、プログラム作成支援ツールなどのソフトウェアを実行してもよい。その場合、クライアント３００，３００−１，３００−２は、ソフトウェアの実行履歴を示すログを記録し、プロジェクト管理サーバ１００に対してログを提供するようにしてもよい。
【００３４】
図３は、プロジェクト管理サーバのハードウェア例を示すブロック図である。
プロジェクト管理サーバ１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、画像信号処理部１０４、入力信号処理部１０５、媒体リーダ１０６および通信インタフェース１０７を有する。上記ユニットはバスに接続されている。
【００３５】
なお、ＣＰＵ１０１は、第１の実施の形態の処理部１２に対応する。ＲＡＭ１０２またはＨＤＤ１０３は、第１の実施の形態の記憶部１１に対応する。アプリケーションサーバ２００およびクライアント３００，３００−１，３００−２も、プロジェクト管理サーバ１００と同様のハードウェアを用いて実装することができる。
【００３６】
ＣＰＵ１０１は、プログラムの命令を実行するプロセッサである。ＣＰＵ１０１は、ＨＤＤ１０３に記憶されたプログラムやデータの少なくとも一部をＲＡＭ１０２にロードし、プログラムを実行する。なお、ＣＰＵ１０１は複数のプロセッサコアを備えてもよく、プロジェクト管理サーバ１００は複数のプロセッサを備えてもよい。複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
【００３７】
ＲＡＭ１０２は、ＣＰＵ１０１が実行するプログラムやＣＰＵ１０１が演算に使用するデータを一時的に記憶する揮発性の半導体メモリである。なお、プロジェクト管理サーバ１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
【００３８】
ＨＤＤ１０３は、ＯＳ（Operating System）やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、プロジェクト管理サーバ１００は、フラッシュメモリやＳＳＤ（Solid State Drive）など他の種類の記憶装置を備えてもよく、複数の記憶装置を備えてもよい。
【００３９】
画像信号処理部１０４は、ＣＰＵ１０１からの命令に従って、プロジェクト管理サーバ１００に接続されたディスプレイ１０４ａに画像を出力する。ディスプレイ１０４ａとしては、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、有機ＥＬ（ＯＥＬ：Organic Electro-Luminescence）ディスプレイなど、任意の種類のディスプレイを使用できる。
【００４０】
入力信号処理部１０５は、プロジェクト管理サーバ１００に接続された入力デバイス１０５ａから入力信号を受信する。入力デバイス１０５ａとして、マウス、タッチパネル、タッチパッド、キーボードなど、任意の種類の入力デバイスを使用できる。また、プロジェクト管理サーバ１００に複数の種類の入力デバイスが接続されてもよい。
【００４１】
媒体リーダ１０６は、記録媒体１０６ａに記録されたプログラムやデータを読み取る読み取り装置である。記録媒体１０６ａとして、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）、半導体メモリなどを使用できる。媒体リーダ１０６は、例えば、記録媒体１０６ａから読み取ったプログラムやデータをＲＡＭ１０２またはＨＤＤ１０３に格納する。
【００４２】
通信インタフェース１０７は、ネットワーク４０に接続され、ネットワーク４０を介してアプリケーションサーバ２００やクライアント３００，３００−１，３００−２と通信を行うインタフェースである。通信インタフェース１０７は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントに接続される無線通信インタフェースでもよい。
【００４３】
次に、プロジェクト管理サーバ１００によるプロジェクト管理について説明する。
図４は、チケットのデータ構造例を示す図である。
プロジェクト管理サーバ１００は、プロジェクトに属する１つのタスクの情報を１つのチケットとして保持する。チケットをｉｓｓｕｅや作業指示書などと言うこともある。プロジェクト管理サーバ１００は、クライアント３００，３００−１，３００−２からの要求に応じてチケットを作成し更新する。また、プロジェクト管理サーバ１００は、クライアント３００，３００−１，３００−２からの要求に応じてチケットを提供する。
【００４４】
チケットの一例であるチケット１２１は、チケットＩＤ、タイトル、担当者、説明文、予定工数、期限、開始日時、終了日時、ステータスおよびコメントの項目を含む。
チケットＩＤは、チケットを識別する識別子である。タイトルは、タスクを端的に表現した文字列である。担当者は、タスクを実行するユーザであり、ユーザを識別するユーザＩＤによって特定される。１つのチケットに対して２以上の担当者が割り当てられることもある。説明文は、タスクの具体的内容を説明した文字列である。タスクとして、例えば、開発中プログラムに新規機能を追加するものや、既存プログラムの不具合を修正するものが挙げられる。タスクの具体的内容として、例えば、アプリケーションサーバ２００が実行する特定のソフトウェアを利用して手書文字認識を行うことが挙げられる。
【００４５】
予定工数は、チケット１２１の作成時に見積もられるタスクの見積もり作業時間である。期限は、チケット１２１の作成時に設定されるタスクの予定終了日時である。開始日時は、タスクを実際に開始した日時である。終了日時は、タスクが実際に終了した日時である。ステータスは、現在のタスクの状態を示すフラグであり、例えば、係属中または完了済み（クローズド）を示す。タスクが完了したことをクローズと言うことがある。コメントは、タスクの実行途中で関係ユーザが議論した内容を示す文字列である。
【００４６】
ただし、チケット１２１は、予定工数、期限、開始日時および終了日時の全てを含んでいなくてもよい。例えば、チケット１２１は、開始日時および終了日時を含み、予定工数および期限を含まないこともある。また、チケット１２１は、予定工数を含み、期限、開始日時および終了日時を含まないこともある。また、チケット１２１は、開始日時および期限を含み、予定工数および終了日時を含まないこともある。チケット１２１からは、ユーザがタスクの実行に要した時間を概算できればよい。
【００４７】
図５は、ログテーブルのデータ構造例を示す図である。
アプリケーションサーバ２００は、ログテーブル１２２を生成する。プロジェクト管理サーバ１００は、アプリケーションサーバ２００からログテーブル１２２を受信する。クライアント３００，３００−１，３００−２がログテーブル１２２と同様のログテーブルを生成してプロジェクト管理サーバ１００に提供するようにしてもよい。
【００４８】
ログテーブル１２２は、日時、ユーザＩＤ、ＡＰＩ、入力および出力の項目を含む。日時は、ＡＰＩが呼び出された日時である。ユーザＩＤは、ＡＰＩを呼び出したユーザを識別する識別子である。ＡＰＩは、実行すべきソフトウェアの機能を識別するソフトウェアインタフェースである。ＡＰＩは、ソフトウェア名や関数名を含むことがある。ＡＰＩは、ＵＲＬ（Uniform Resource Locator）によって識別されてもよい。入力は、ＡＰＩの呼び出しの際にアプリケーションサーバ２００に入力された入力データである。出力は、ＡＰＩの呼び出しに対してアプリケーションサーバ２００から出力された出力データである。出力はｅｘｃｅｐｔｉｏｎなどのエラーメッセージであることもある。
【００４９】
図６は、ヘルプ情報テーブルのデータ構造例を示す図である。
プロジェクト管理サーバ１００は、ヘルプ情報テーブル１２３を保持する。ヘルプ情報テーブル１２３には、予め複数通りのヘルプ情報が登録されている。プロジェクト管理サーバ１００は、ログテーブル１２２に基づいてヘルプ情報テーブル１２３の中から適切なヘルプ情報を選択し、選択したヘルプ情報をユーザに通知する。
【００５０】
ヘルプ情報テーブル１２３は、ソフトウェア名、ヘルプＩＤ、検出パターンおよびヘルプ情報の項目を含む。ソフトウェア名は、アプリケーションサーバ２００にインストールされたソフトウェアの名称である。例えば、ソフトウェア名は、プログラム開発支援ツールのツール名やライブラリ名などである。ヘルプＩＤは、ヘルプ情報を識別する識別子である。検出パターンは、ログテーブル１２２の中から検出すべき実行履歴のパターンである。検出パターンは、ソフトウェアの非効率な使用を示している。
【００５１】
検出パターンの例として、特定の複数の関数を順に呼び出すパターンが挙げられる。同一の出力データを出力可能な単一の関数が用意されている場合、ユーザは当該単一の関数を知らないために迂遠な方法で当該ソフトウェアを使用している可能性がある。また、検出パターンの例として、特定のデータ構造の入力データを使用するパターンが挙げられる。入力データのデータ構造を変更すれば同一の出力データを効率的に出力可能な関数を利用できる場合、ユーザは当該関数を利用できる可能性に気付いていないため非効率な関数を使用している可能性がある。また、検出パターンの例として、関数呼び出しによって特定の種類のｅｘｃｅｐｔｉｏｎが発生したパターンが挙げられる。ユーザは、当該ｅｘｃｅｐｔｉｏｎを回避するための入力データの作成方法や、当該ｅｘｃｅｐｔｉｏｎに対処する適切なユーザプログラムの記述方法を知らない可能性がある。
【００５２】
ヘルプ情報は、検出パターンが示すソフトウェアの非効率な使用に対して、ユーザが当該ソフトウェアを効率的に使用できるように支援する情報である。ヘルプ情報は、付加情報や関連情報などと言うこともできる。ヘルプ情報は、ソフトウェアの機能を説明するテキストを含む。検出パターンに対応するヘルプ情報は、ユーザが知らない可能性のある機能を説明するものであることがある。例えば、ヘルプ情報は、ユーザが知らない可能性のある関数を説明するものである。また、例えば、ヘルプ情報は、入力データの好ましいデータ構造を説明するものである。また、例えば、ヘルプ情報は、発生したｅｘｃｅｐｔｉｏｎに対する適切な対処を説明するものである。
【００５３】
図７は、トピックテーブルのデータ構造例を示す図である。
プロジェクト管理サーバ１００は、同一のユーザに対して同時に複数のヘルプ情報を通知する場合、ユーザの理解が容易になるように複数のヘルプ情報をトピックに分類する。トピックは、ヘルプ情報の種類、グループ、クラスなどと言うこともできる。トピックは、チケットに含まれるテキストに基づいて判定される。
【００５４】
プロジェクト管理サーバ１００は、あるチケットのクローズを検出すると、クローズしたチケットに関連するログをログテーブル１２２から抽出する。クローズしたチケットに関連するログは、当該チケットが示すタスクの中で実行されたソフトウェアの実行履歴である。抽出すべきログは、チケットの担当者のユーザＩＤを含み、日時がタスクの開始から終了までの間に属するログである。プロジェクト管理サーバ１００は、抽出したログの中から、ヘルプ情報テーブル１２３に登録された検出パターンを検索する。何れかの検出パターンにマッチするログが存在する場合、プロジェクト管理サーバ１００は、マッチした検出パターンに対応するヘルプ情報を、通知すべきヘルプ情報として選択する。
【００５５】
プロジェクト管理サーバ１００は、通知すべきヘルプ情報のトピックを、クローズしたチケットのタイトルや説明文やコメントなどのテキストに基づいて判定する。テキストに含まれるキーワードから、ヘルプ情報のトピックが判定される。
【００５６】
プロジェクト管理サーバ１００は、トピックテーブル１２４を保持する。トピックテーブル１２４には、予め複数のトピックが登録されている。トピックテーブル１２４とクローズしたチケットに含まれるテキストから、ヘルプ情報のトピックを判定する。
【００５７】
トピックテーブル１２４は、トピックＩＤ、トピック名およびキーワードの項目を含む。トピックＩＤは、トピックを識別する識別子である。トピック名は、ユーザが理解容易でありトピックを端的に説明した文字列である。ユーザにヘルプ情報を通知する際にトピック名が使用される。キーワードは、チケットのタイトルや説明文やコメントなどのテキストに使用される単語である。１つのトピックに対して、当該トピックとの関連度が高い１以上のキーワードが対応付けられている。
【００５８】
プロジェクト管理サーバ１００は、クローズしたチケットからキーワードを検索し、トピックテーブル１２４に記載されたトピックの中から最もマッチするトピックを選択する。例えば、プロジェクト管理サーバ１００は、トピック毎にキーワードの出現数をカウントし、キーワードの出現数が最も多いトピックを選択する。プロジェクト管理サーバ１００は、当該チケットから生成されるヘルプ情報を、選択したトピックに分類する。
【００５９】
プロジェクト管理サーバ１００は、ヘルプ情報を、チケットに記載された担当者であるユーザに通知する。通知方法としては、当該ユーザの使用するクライアントがプロジェクト管理サーバ１００にアクセスしたときに、画面のポップアップとして表示されるようにヘルプ情報を当該クライアントに送信する方法が考えられる。また、他の通知方法としては、当該ユーザの電子メールアドレスを宛先アドレスとして含み、ヘルプ情報を本文として含む電子メールを送信する方法が考えられる。
【００６０】
ここで、プロジェクト管理サーバ１００は、ユーザにヘルプ情報を通知するタイミングを制御する。チケットがクローズする毎にヘルプ情報を通知するようにすると、ユーザは複数の小さなタスクを連続的に実行している場合に頻繁にヘルプ情報の通知を受け取ることになる。この場合、ユーザはヘルプ情報の通知を煩わしく感じるようになり、目の前のタスクを実行することを優先してヘルプ情報を無視し、ヘルプ情報に基づいてソフトウェアの効率的な使用方法を学習することを行わない可能性がある。一方、あるソフトウェアを使用してから時間が経過し過ぎると、ユーザは当該ソフトウェアの効率的な使用方法を学習するモチベーションが低下してしまう可能性がある。
【００６１】
そのため、ユーザが一定量の作業を行ってユーザの作業が一区切りついたタイミングでヘルプ情報を通知することが好ましい。これにより、ユーザがヘルプ情報を無視する可能性を低減し、ヘルプ情報の通知がソフトウェアの効率的な使用に貢献できるようになる。そこで、プロジェクト管理サーバ１００は、ユーザ毎に累積タスクサイズをカウントし、累積タスクサイズが閾値を超えたタイミングでヘルプ情報を通知する。
【００６２】
図８は、タスクサイズテーブルのデータ構造例を示す図である。
プロジェクト管理サーバ１００は、タスクサイズテーブル１２５を保持する。タスクサイズテーブル１２５は、ユーザＩＤ、累積タスクサイズおよび閾値の項目を含む。ユーザＩＤは、ユーザを識別する識別子である。累積タスクサイズは、未通知のヘルプ情報が蓄積されている期間におけるクローズしたタスクのサイズの合計である。閾値は、ユーザが設定した累積タスクサイズの閾値である。累積タスクサイズが閾値を超えたときに、プロジェクト管理サーバ１００は蓄積されたヘルプ情報をまとめてユーザに通知する。
【００６３】
タスクサイズはユーザの作業量を示す指標であり、クローズしたチケットから算出される。チケットに開始日時および終了日時が記載されている場合、タスクサイズとして、開始日時と終了日時の差である実際作業時間を用いることが好ましい。実際作業時間を算出できない場合、タスクサイズとして予定工数を用いてもよい。また、タスクサイズとして、開始日時と期限の差である猶予時間を用いてもよい。また、タスクサイズとして、作業時間に代えて、プログラムのコード量など成果物のデータサイズを用いることもできる。
【００６４】
プロジェクト管理サーバ１００は、あるチケットがクローズすると、当該チケットのタスクサイズを算出する。プロジェクト管理サーバ１００は、当該チケットに記載されたユーザの閾値とタスクサイズとを比較し、タスクサイズが閾値以下である場合、当該チケットから生成されたヘルプ情報の通知を保留する。プロジェクト管理サーバ１００は、ヘルプ情報の通知の保留を開始すると、当該ユーザの累積タスクサイズとして当該タスクサイズを記憶する。プロジェクト管理サーバ１００は、当該ユーザが記載されたチケットがクローズする毎に、クローズしたチケットのタスクサイズを累積タスクサイズに加算し、当該ユーザの累積タスクサイズが閾値を超えるのを待つ。プロジェクト管理サーバ１００は、累積タスクサイズが閾値を超えると、保留中のヘルプ情報をまとめてユーザに通知する。このとき、理解を容易にするためヘルプ情報はトピックに分類される。プロジェクト管理サーバ１００は、ヘルプ情報を通知すると累積タスクサイズを０にリセットする。
【００６５】
大きなタスクのチケットがクローズした場合、当該チケットから生成されたヘルプ情報が保留されずに即時にユーザに通知される。一方、小さなタスクのチケットがクローズした場合、当該チケットから生成されたヘルプ情報が保留されて即時にはユーザに通知されない。クローズしたチケットのタスクが一定量に達したときにヘルプ情報が通知される。
【００６６】
図９は、通知バッファのデータ構造例を示す図である。
プロジェクト管理サーバ１００は、通知バッファ１２６を保持する。通知バッファ１２６は、ユーザＩＤ、トピックおよびヘルプ情報の項目を含む。ユーザＩＤは、ユーザを識別する識別子である。トピックは、トピックテーブル１２４に記載された何れかのトピックであり、クローズしたチケットのテキストから判定される。ヘルプ情報は、保留中のヘルプ情報である。通知バッファ１２６には、保留中のヘルプ情報がユーザ毎かつトピック毎に分類されて登録される。なお、通知バッファ１２６には、トピックＩＤが登録されてもよいしトピック名が登録されてもよい。また、通知バッファ１２６には、ヘルプ情報そのものが登録されてもよいしヘルプＩＤが登録されてもよい。
【００６７】
図１０は、ヘルプ情報の通知タイミングの例を示す図である。
ここでは、同一ユーザがチケット１３１〜１３４のタスクを順に実行することを考える。ユーザは、チケット１３１のタスクが完了した後にチケット１３２のタスクに着手し、チケット１３２のタスクが完了した後にチケット１３３のタスクに着手し、チケット１３３のタスクが完了した後にチケット１３４のタスクに着手している。チケット１３１のタスクサイズは８日、チケット１３２のタスクサイズは２日、チケット１３３のタスクサイズは２日、チケット１３４のタスクサイズは５日であるとする。ユーザが設定した閾値は７日であるとする。チケット１３１からヘルプ情報１３５が生成され、チケット１３２からヘルプ情報１３６が生成され、チケット１３３からヘルプ情報１３７が生成されている。チケット１３４からはヘルプ情報は生成されていない。
【００６８】
チケット１３１がクローズすると、チケット１３１のタスクサイズが閾値を超えているため、ヘルプ情報１３５は保留されずに即時にユーザに通知される。一方、チケット１３２がクローズすると、チケット１３２のタスクサイズが閾値以下であるため、ヘルプ情報１３６は保留されてユーザに通知されない。次に、チケット１３３がクローズすると、チケット１３２，１３３の累積タスクサイズがまだ閾値以下であるため、ヘルプ情報１３６，１３７は保留されてユーザに通知されない。次に、チケット１３４がクローズすると、チケット１３２〜１３４の累積タスクサイズが閾値を超えているため、保留中のヘルプ情報１３６，１３７がまとめてユーザに通知される。
【００６９】
図１１は、プロジェクト管理画面の例を示す図である。
プロジェクト管理サーバ１００は、画面のポップアップとしてヘルプ情報をユーザに通知することができる。プロジェクト管理画面１４０は、プロジェクト管理サーバ１００からクライアント３００に送信された画面情報に基づいてクライアント３００に表示される画面の例である。プロジェクト管理画面１４０は、ポップアップ領域１４１を含む。
【００７０】
ポップアップ領域１４１には、トピック名とヘルプ情報のテキストが表示される。ポップアップ領域１４１では、複数のヘルプ情報がトピックに応じてソートされている。例えば、トピック名「ｓｏｆｔｗａｒｅ１機能」が記載され、その下にｓｏｆｔｗａｒｅ１の機能に関するヘルプ情報のテキストが記載され、トピック名「ｓｏｆｔｗａｒｅ２機能」が記載され、その下にｓｏｆｔｗａｒｅ２の機能に関するヘルプ情報のテキストが記載される。ポップアップ領域１４１の情報が電子メールとして送信されてもよい。
【００７１】
次に、プロジェクト管理サーバ１００の機能について説明する。
図１２は、プロジェクト管理サーバの機能例を示すブロック図である。
プロジェクト管理サーバ１００は、チケット記憶部１１１、ログ記憶部１１２、ヘルプ情報記憶部１１３、ユーザ設定記憶部１１４、メッセージ記憶部１１５、チケット編集部１１６、ログ収集部１１７、通知制御部１１８およびメッセージ通知部１１９を有する。チケット記憶部１１１、ログ記憶部１１２、ヘルプ情報記憶部１１３、ユーザ設定記憶部１１４およびメッセージ記憶部１１５は、ＲＡＭ１０２またはＨＤＤ１０３の記憶領域を用いて実装される。チケット編集部１１６、ログ収集部１１７、通知制御部１１８およびメッセージ通知部１１９は、ＣＰＵ１０１が実行するプログラムを用いて実装される。
【００７２】
チケット記憶部１１１は、複数のチケットを記憶する。ログ記憶部１１２は、ログテーブル１２２を記憶する。ヘルプ情報記憶部１１３は、ヘルプ情報テーブル１２３およびトピックテーブル１２４を記憶する。ユーザ設定記憶部１１４は、タスクサイズテーブル１２５を記憶する。メッセージ記憶部１１５は、通知バッファ１２６を保持する。
【００７３】
チケット編集部１１６は、クライアント３００，３００−１，３００−２からのアクセスに応じて、新規チケットを生成してチケット記憶部１１１に格納する。また、チケット編集部１１６は、クライアント３００，３００−１，３００−２からのアクセスに応じて、チケット記憶部１１１に記憶されたチケットを更新する。
【００７４】
ログ収集部１１７は、アプリケーションサーバ２００からログを収集し、ログテーブル１２２にログを記録する。例えば、ログ収集部１１７は、アプリケーションサーバ２００にログ要求を送信し、アプリケーションサーバ２００からログを受信する。ログ収集部１１７は、定期的にアプリケーションサーバ２００からログを収集してもよい。また、ログ収集部１１７は、チケットがクローズしたときに、クローズしたチケットに関連するログをアプリケーションサーバ２００から収集してもよい。また、ログ収集部１１７は、クライアント３００，３００−１，３００−２で実行されるソフトウェアに関して、クライアント３００，３００−１，３００−２からログを収集してもよい。
【００７５】
通知制御部１１８は、チケット記憶部１１１に記憶されたチケットを監視し、クローズしたチケットを検出する。すると、通知制御部１１８は、クローズしたチケットに関連するログをログテーブル１２２から検索し、ヘルプ情報テーブル１２３に記載された何れかの検出パターンがログに含まれているか判定する。クローズしたチケットに関連するログは、当該チケットの開始からクローズまでの間に当該チケットに記載されたユーザによって実行されたソフトウェアの実行履歴である。何れかの検出パターンがログに含まれている場合、通知制御部１１８は、当該検出パターンに対応するヘルプ情報を選択する。
【００７６】
ヘルプ情報が選択されると、通知制御部１１８は、トピックテーブル１２４に登録されたキーワードをチケットのテキストから検索し、キーワード数が最も多いトピックに当該ヘルプ情報を分類する。また、通知制御部１１８は、チケットからタスクサイズを算出し、チケットに記載されたユーザの累積タスクサイズと閾値とを比較する。累積タスクサイズが閾値を超える場合、通知制御部１１８は、当該ユーザ宛てのヘルプ情報を通知することを許容する。一方、累積タスクサイズが閾値以下である場合、通知制御部１１８は、当該ユーザ宛てのヘルプ情報の通知を保留する。
【００７７】
メッセージ通知部１１９は、通知制御部１１８によって許容されたヘルプ情報をユーザに通知する。例えば、メッセージ通知部１１９は、クライアント３００からアクセスを付け付けたときに、クライアント３００を使用するユーザ宛てのヘルプ情報を含む画面情報をクライアント３００に送信する。また、例えば、メッセージ通知部１１９は、ヘルプ情報を含む電子メールをユーザ宛てに送信する。複数のヘルプ情報をまとめて通知する場合、メッセージ通知部１１９は、ヘルプ情報をトピックに基づいてソートする。
【００７８】
図１３は、通知制御の手順例を示すフローチャートである。
（Ｓ１０）通知制御部１１８は、チケットのクローズを検出する。
（Ｓ１１）通知制御部１１８は、ステップＳ１０のチケットに関連するログをログテーブル１２２から抽出する。通知制御部１１８は、抽出したログとヘルプ情報テーブル１２３の検出パターンを比較し、何れかの検出パターンにマッチするヘルプ情報を検索する。
【００７９】
（Ｓ１２）通知制御部１１８は、ステップＳ１１で該当するヘルプ情報が検索されたか判断する。ステップＳ１１では、該当するヘルプ情報が存在しない場合もあるし、２以上のヘルプ情報が検索される場合もある。該当するヘルプ情報がある場合はステップＳ１３に進み、該当するヘルプ情報がない場合はステップＳ１５に進む。
【００８０】
（Ｓ１３）通知制御部１１８は、ステップＳ１０のチケットのテキストから、トピックテーブル１２４のキーワードを検索する。通知制御部１１８は、検索されたキーワードの個数に基づいて、トピックテーブル１２４から何れかのトピックを選択する。
【００８１】
（Ｓ１４）通知制御部１１８は、ステップＳ１０のチケットに記載されたユーザおよびステップＳ１３のトピックと対応付けて、ヘルプ情報を通知バッファ１２６に登録する。
（Ｓ１５）通知制御部１１８は、ステップＳ１０のチケットに記載されたユーザに対応するヘルプ情報が通知バッファ１２６に登録されているか判断する。登録されているヘルプ情報は、今回のチケットから選択されたヘルプ情報である場合もあるし、過去のチケットから選択されて保留されているヘルプ情報である場合もある。該当するヘルプ情報がある場合はステップＳ１６に進み、該当するヘルプ情報がない場合は通知制御を終了する。
【００８２】
（Ｓ１６）通知制御部１１８は、ステップＳ１０のチケットからタスクサイズを算出する。通知制御部１１８は、ステップＳ１０のチケットに記載されたユーザに対応するタスクサイズテーブル１２５の累積タスクサイズに、算出したタスクサイズを加算する。
【００８３】
（Ｓ１７）通知制御部１１８は、ステップＳ１０のチケットに記載されたユーザに対応するタスクサイズテーブル１２５の累積タスクサイズと閾値とを比較する。累積タスクサイズが閾値を超える場合はステップＳ１８に進み、累積タスクサイズが閾値以下である場合は今回のチケットに対する通知制御を終了する。
【００８４】
（Ｓ１８）通知制御部１１８は、通知バッファ１２６から、ステップＳ１０のチケットに記載されたユーザに対応する未通知のヘルプ情報を抽出する。メッセージ通知部１１９は、抽出したヘルプ情報をトピック毎に区分してユーザに通知する。例えば、メッセージ通知部１１９は、トピック名とヘルプ情報のテキストをポップアップ領域に表示させる。また、例えば、メッセージ通知部１１９は、トピック名とヘルプ情報のテキストを含む電子メールを、当該ユーザの電子メールアドレスを指定して送信する。
【００８５】
（Ｓ１９）通知制御部１１８は、ステップＳ１０のチケットに記載されたユーザに対応するタスクサイズテーブル１２５の累積タスクサイズを０にリセットする。
第２の実施の形態の情報処理システムによれば、チケットがクローズした際、ソフトウェアの実行履歴を示すログからユーザによる当該ソフトウェアの非効率な使用が検出される。そして、当該ユーザに対して当該ソフトウェアの機能や効率的な使用方法を説明したヘルプ情報が自動的に通知される。よって、ユーザの将来のタスク実行が効率化される。
【００８６】
また、ヘルプ情報は、累積タスクサイズが閾値を超えたタイミングで通知され、累積タスクサイズが閾値以下である間は通知が保留される。よって、頻繁にヘルプ情報が通知されることによってユーザが通知を煩わしく感じ、ヘルプ情報を無視してしまう可能性を低減できる。また、累積タスクサイズが閾値を超えたタイミングは、ユーザの作業が一区切りついたタイミングであることが多く、直前に使用していたソフトウェアの機能を学習するのに好適であるため、ユーザによる学習が促進される。また、複数のヘルプ情報をまとめて通知する場合、それらヘルプ情報が自動的にトピックに分類され、トピックに応じてソートされて表示される。よって、ユーザのヘルプ情報の理解が容易になる。
【符号の説明】
【００８７】
１０  情報処理装置
１１  記憶部
１２  処理部
１３  タスク管理情報
１３ａ  ステータス情報
１３ｂ  作業量情報
１４ａ，１４ｂ  タスク
１５ａ，１５ｂ  ヘルプ情報
１６  指標値
【図１】
2019219913.tif 000003
【図２】
2019219913.tif 000004
【図３】
2019219913.tif 000005
【図４】
2019219913.tif 000006
【図５】
2019219913.tif 000007
【図６】
2019219913.tif 000008
【図７】
2019219913.tif 000009
【図８】
2019219913.tif 000010
【図９】
2019219913.tif 000011
【図１０】
2019219913.tif 000012
【図１１】
2019219913.tif 000013
【図１２】
2019219913.tif 000014
【図１３】
2019219913.tif 000015