(57)【要約】【課題】特定の人に作業負荷が集中することのないプロジェクトのスケジュールを作成する。【解決手段】プロジェクト情報記憶部１２は、プロジェクト毎に、プロジェクトの工数と難易度とを含む属性情報を記憶する。要員情報記憶部１３は、要員毎に、要員の能力を含む属性情報を記憶する。工数換算テーブル１４は、所定能力を有する要員が所定難易度のプロジェクトを実行する際の工数を換算するためのテーブルである。作業スケジュール作成部１５は、プロジェクト情報記憶部１２と要員情報記憶部１３と工数換算テーブル１４とに記憶されている情報に基づいて、要員間で作業日数が均一になるような、各要員の作業スケジュールを作成する。【選択図】図１
2014052761.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクト毎に、該プロジェクトの工数と難易度とを含むプロジェクト情報を記憶するプロジェクト情報記憶手段と、
プロジェクト要員毎に、該プロジェクト要員の能力を含む要員情報を記憶する要員情報記憶手段と、
前記プロジェクト情報記憶手段と前記要員情報記憶手段とに記憶されている情報に基づいて、各プロジェクト要員の作業日数が均一になるように、各プロジェクト要員の作業スケジュールを作成する作業スケジュール作成手段と、
を備える、ことを特徴とするスケジュール作成装置。
【請求項２】
前記作業スケジュール作成手段は、
各プロジェクト要員に、自身の能力に最適な難易度のプロジェクトを割り当て、
割り当てた後、作業日数が最大のプロジェクト要員と該プロジェクト要員よりも能力の高いプロジェクト要員のなかで作業日数が最小のプロジェクト要員との間で作業日数を均一化する処理を各プロジェクト要員の作業日数が所定の基準を満たすまで繰り返すことで、各プロジェクト要員の作業日数を均一にする、
ことを特徴とする請求項１に記載のスケジュール作成装置。
【請求項３】
所定能力を有する要員が所定難易度のプロジェクトを実行する際に必要な工数を換算するための工数換算テーブルをさらに備え、
前記作業スケジュール作成手段は、前記工数換算テーブルを参照して、作業日数を均一にする、
ことを特徴とする請求項２に記載のスケジュール作成装置。
【請求項４】
前記作業スケジュール作成手段が作成したスケジュールを承認するか否かを示す認否情報を受け付け、該スケジュールと対応付けて記憶する承認手段をさらに備える、
ことを特徴とする請求項１乃至３の何れか１項に記載のスケジュール作成装置。
【請求項５】
プロジェクトの工数および難易度と、プロジェクト要員の能力とに基づいて、各プロジェクト要員の作業日数が均一になるようにプロジェクトの作業スケジュールを作成する、
ことを特徴とするスケジュール作成方法。
【請求項６】
コンピュータを、
プロジェクト毎に、該プロジェクトの工数と難易度とを含むプロジェクト情報を記憶するプロジェクト情報記憶手段、
プロジェクト要員毎に、該プロジェクト要員の能力を含む要員情報を記憶する要員情報記憶手段、
前記プロジェクト情報記憶手段と前記要員情報記憶手段とに記憶されている情報に基づいて、各プロジェクト要員の作業日数が均一になるようにプロジェクトの作業スケジュールを作成する作業スケジュール作成手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロジェクトのスケジュールを作成するスケジュール作成装置、スケジュール作成方法、及び、プログラムに関する。
【背景技術】
【０００２】
ソフトウェアやハードウェア等を開発するプロジェクトに適切に人員を割り当てること（スケジューリング）は、プロジェクトを成功に導くために重要である。
【０００３】
特許文献１には、ソフトウェアの開発工程の技術的な難易度と開発要員の能力とを数値化した情報に基づいて、ソフトウェア開発に適切な人員を割り当てる技術について記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−１９８４４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一般的に、プロジェクトのスケジューリングにおいては、能力の高い人程、プロジェクトの要員として長期間割り当てられる傾向が強い。従って、能力の高い人に作業負荷が集中してしまい、労働環境等の面から問題であった。また、特許文献１には各人の能力に最適な開発工程を割り当てる技術が開示されているにすぎず、依然として、能力の高い人に作業負荷が集中してしまうということを防ぐことはできなかった。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、特定の人に作業負荷が集中することのない作業スケジュールを作成することができるスケジュール作成装置、スケジュール作成方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明のスケジュール作成装置は、
プロジェクト毎に、該プロジェクトの工数と難易度とを含むプロジェクト情報を記憶するプロジェクト情報記憶手段と、
プロジェクト要員毎に、該プロジェクト要員の能力を含む要員情報を記憶する要員情報記憶手段と、
前記プロジェクト情報記憶手段と前記要員情報記憶手段とに記憶されている情報に基づいて、各プロジェクト要員の作業日数が均一になるように、各プロジェクト要員の作業スケジュールを作成する作業スケジュール作成手段と、
を備える、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、特定の人に作業負荷が集中することのない作業スケジュールを作成することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係るスケジュール作成装置の機能構成図である。
【図２】プロジェクト情報記憶部に記憶される情報の例を示す図である。
【図３】要員情報記憶部に記憶される情報の例を示す図である。
【図４】工数換算テーブルの例を示す図である。
【図５】設定処理の動作を説明するためのフローチャートである。
【図６】スケジュール作成処理の動作を説明するためのフローチャートである。
【図７】スケジュール作成処理の具体例を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の各実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。なお、以下の説明において、
【００１１】
本発明の実施形態に係るスケジュール作成装置１０について説明する。スケジュール作成装置１０は、プロジェクトにアサインされるプロジェクト要員（以下、単に要員）の作業スケジュールを作成する装置である。なお、本発明におけるプロジェクトは、典型的にはソフトウェアやハードウェアを開発するためのプロジェクトであるが、これに限定されず、必要な工数を設定できるものであれば、規模等に係わらず全て本発明のプロジェクトに該当するものとする。
【００１２】
スケジュール作成装置１０は、ＣＰＵ（Central Processing Unit）やＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ハードディスクドライブ、キーボード、マウス、および、ＬＣＤ（Liquid Crystal Displey）等を備えたコンピュータである。
【００１３】
スケジュール作成装置１０は、機能的には、図１に示すように、設定情報受付部１１と、プロジェクト情報記憶部１２と、要員情報記憶部１３と、工数換算テーブル１４と、作業スケジュール作成部１５と、承認部１６と、スケジュール記憶部１７とを備える。
【００１４】
設定情報受付部１１は、キーボードやマウス等の入力装置を備え、ユーザや他の装置等から入力された各種の設定情報を受け付ける。そして、設定情報受付部１１は、受け付けた設定情報に基づいて、プロジェクト情報記憶部１２と、要員情報記憶部１３と、工数換算テーブル１４とに記憶されている情報を設定する。
【００１５】
プロジェクト情報記憶部１２は、スケジュール作成の対象となる各プロジェクトに関するプロジェクト情報を記憶する。例えば、図２に示すように、プロジェクト情報記憶部１２には、プロジェクト毎に、プロジェクト名と難易度と工数（人・日）とを含むプロジェクト情報が記憶される。なお、本実施形態では、プロジェクトの難易度は、高い方からＡ〜Ｄの４段階で示される。また、以下の説明では、プロジェクト名「Ｐ１」のプロジェクトをプロジェクトＰ１と表記する。
【００１６】
要員情報記憶部１３は、プロジェクトに割り当てられる各要員の要員情報を記憶する。例えば、図３に示すように、要員情報記憶部１３には、要員毎に、要員名と能力とを含む要員情報が記憶される。なお、本実施形態では、要員の能力は、高い方からＡ〜Ｄの４段階で示される。また、以下の説明では、要員名「ｐ」の要員を要員ｐと表記する。
【００１７】
工数換算テーブル１４は、図４に示すような、所定能力を有する要員が所定難易度のプロジェクトを実行する際の工数を換算するために参照されるテーブルである。例えば、この図から、難易度「Ｂ」のプロジェクトを能力「Ａ」の要員が担当する場合、通常の工数の０．８倍の工数で実施できることがわかる。また、この図における「×」印は、要員がプロジェクトを担当できないことを示す。例えば、難易度「Ａ」のプロジェクトを能力「Ｂ」の要員が担当することはできない。
【００１８】
図１に戻り、作業スケジュール作成部１５は、要員情報記憶部１３に記憶されている各要員が、プロジェクト情報記憶部１２に記憶されている各プロジェクトを担当する際の、所定期間における作業スケジュールを作成する。また、この際、作業スケジュール作成部１５は、工数換算テーブル１４を参照して、要員間の作業日数がほぼ均一になるように作業スケジュールを作成する。なお、作業スケジュール作成部１５による処理の詳細については後述する。
【００１９】
承認部１６は、ユーザや外部の装置から作業スケジュール作成部１５が作成した作業スケジュールを承認するか否認するかを示す認否情報を受け付け、受け付けた認否情報とともにスケジュールをスケジュール記憶部１７に格納する。
【００２０】
（設定処理）
続いて、スケジュール作成装置１０の動作について説明する。始めに、スケジュールを作成する前に、各種の必要な情報を設定する設定処理について説明する。
【００２１】
ユーザからの設定処理を開始するための指示操作に応答して、スケジュール作成装置１０は、図５のフローチャートに示す設定処理を実行する。
【００２２】
まず、設定情報受付部１１は、ユーザから、スケジュール作成の対象となるプロジェクトのプロジェクト情報（プロジェクト名、難易度、工数）の入力を受け付け、プロジェクト情報記憶部１２に登録する（ステップＳ１１）。
【００２３】
なお、プロジェクトの難易度の代わりにプロジェクトの種類の入力を受け付け、受け付けた種類に応じてプロジェクトの難易度を設定してもよい。例えば、種類「特殊設計」のプロジェクトは難易度「Ａ」、種類「新規設計」のプロジェクトは難易度「Ｂ」、種類「標準設計」のプロジェクトは難易度「Ｃ」、種類「リピート設計」のプロジェクトは難易度「Ｄ」等と設定すればよい。
【００２４】
続いて、設定情報受付部１１は、ユーザから、プロジェクトに割り当てる要員の要員情報（要員名、能力）の入力を受け付け、要員情報記憶部１３に登録する（ステップＳ１２）。
【００２５】
続いて、設定情報受付部１１は、ユーザから、工数換算テーブル１４を定義するパラメータを受け付け、当該パラメータ用いて工数換算テーブル１４を設定する（ステップＳ１３）。以上で設定処理は終了する。
【００２６】
（スケジュール作成処理）
続いて、各要員の作業スケジュールを作成する処理（スケジュール作成処理）の動作について説明する。なお、予め設定処理により、プロジェクト情報記憶部１２と要員情報記憶部１３と工数換算テーブル１４とが適切に設定されているものとする。
【００２７】
ユーザからのスケジュール作成処理を開始するための指示操作に応答して、スケジュール作成装置１０は、図６のフローチャートに示すスケジュール作成処理を実行する。
【００２８】
まず、作業スケジュール作成部１５は、プロジェクト情報記憶部１２に記憶されている各プロジェクトに、要員情報記憶部１３に記憶されている要員のなかから最適な要員を割り当てることで、各要員の作業スケジュールを作成する（ステップＳ２０１）。本実施形態では、プロジェクトの難易度（Ａ〜Ｄ）に一致する能力（Ａ〜Ｄ）を有する要員を、このプロジェクトに最適な要員と定義する。即ち、難易度「Ａ」のプロジェクトには、能力「Ａ」を有する要員を割り付けるのが最適となる。なお、ステップＳ２０１の処理では、１つのプロジェクトを１人の要員のみに割り当てるものとする。
【００２９】
続いて、作業スケジュール作成部１５は、同じ能力を有する要員間で作業日数が平均化するように、ステップＳ２０１作成された作業スケジュールを修正する（ステップＳ２０２）。なお、この処理では、１つのプロジェクトを複数の要員に割り当ててもよい。
【００３０】
続いて、作業スケジュール作成部１５は、作成した作業スケジュールにおいて、作業日数が最も多い要員と最も少ない要員との作業日数の差が所定値以内（例えば、１日以内）であるか否かを判別する（ステップＳ２０３）。なお、ここでは、各要員の作業日数の標準偏差や分散が所定値以内であるか否かを判別してもよい。
【００３１】
作業日数の差が所定値を越えている場合（ステップＳ２０３；Ｎｏ）、特定の要員に作業が集中していることとなり、作業スケジュール作成部１５は、工数換算テーブル１４を参照して、最も作業日数の多い要員に割り当てられているプロジェクトの一部を、該要員よりも能力が高い要員のなかで最も作業日数の少ない要員に割り当てることで、作業日数を均一化した作業スケジュールに修正する（ステップＳ２０４）。
【００３２】
続いて、処理はステップＳ２０３に戻り、作業スケジュール作成部１５は、再度、修正した作業スケジュールにおいて、作業日数が最も多い要員と最も少ない要員との作業日数の差が所定値以内であるか否かを判別する。そして、所定値を越えている場合に（ステップＳ２０３；Ｎｏ）、作業日数を均一化したスケジュールに修正する処理（ステップＳ２０４）を繰り返す。
【００３３】
作業日数の差が所定値以内である場合（ステップＳ２０３；Ｙｅｓ）、各要員の作業日数は均一化されたこととなる。続いて、承認部１６は、作業スケジュール作成部１５によって作成された作業スケジュールを承認するか否かを示す認否情報をユーザから受け付ける（ステップＳ２０５）。そして、承認部１６は、受け付けた認否情報と対応付けて、作業スケジュール作成部１５によって作成された作業スケジュールをスケジュール記憶部１７に格納する（ステップＳ２０６）。以上でスケジュール作成処理は終了する。
【００３４】
（具体例を用いたスケジュール作成処理の例）
続いて、図２〜図４に示すようにプロジェクト情報記憶部１２と要員情報記憶部１３と工数換算テーブル１４とが設定されている場合を例に、スケジュール作成処理について具体的に説明する。
【００３５】
スケジュール作成処理が開始されると、まず、ステップＳ２０１の処理により、プロジェクト情報記憶部１２に記憶されているプロジェクトＰ１〜Ｐ１０に、要員情報記憶部１３に記憶されている要員ｓ〜ｕのなかから最適な要員（プロジェクトの難易度に一致する能力を有する要員）が割り当てられ、図７（Ａ）に示すような作業スケジュールが作成される。
【００３６】
即ち、難易度「Ａ」のプロジェクトＰ１は、能力「Ａ」の要員ｐに割り当てられる。また、難易度「Ｂ」のプロジェクトＰ２、Ｐ３は、能力「Ｂ」の要員ｒに割り当てられる。また、難易度「Ｃ」のプロジェクトＰ４、Ｐ５、Ｐ６は、能力「Ｃ」の要員ｓ、ｔに割り当てられる。また、難易度「Ｄ」のプロジェクトＰ７、Ｐ８、Ｐ９、Ｐ１０は、能力「Ｄ」の要員ｕに割り当てられる。
【００３７】
なお、図７に示す作業スケジュールは、１週間（７日間）に、各要員がどれだけプロジェクトの作業に従事するのかを示す作業スケジュールである。従って、図７（Ａ）に示す作業スケジュールから、要員ｓは、１週間のうち、プロジェクトＰ４の作業に３日間、プロジェクトＰ６の作業に２日間、それぞれ従事すればよいことがわかる。
【００３８】
続いて、ステップＳ２０２の処理により、同じ能力を有する要員間で作業日数が平均化され、作業スケジュールは図７（Ｂ）の状態に修正される。
【００３９】
即ち、図７（Ｂ）に示す作業スケジュールでは、同じ能力「Ａ」を有する要員ｐ、ｑ間、および、同じ能力「Ｃ」を有する要員ｓ、ｔ間で割り当てられるプロジェクトが変更され、作業日数が平均化されている。
【００４０】
ここで、図７（Ｂ）に示す作業スケジュールにおいて、作業日数が最大の要員ｕと、最少の要員ｐ、ｑとの作業日数の差は５日であり、所定値以内（本例では１日以内とする）にはないため、特定の要員に作業日数が集中していることとなり、ステップＳ２０３ではＮｏと判別される。
【００４１】
従って、ステップＳ２０４の処理により、作業日数が最大の要員ｕに割り当てられているプロジェクトの一部を、要員ｕよりも能力が高い要員のうちで最も作業日数の少ない要員ｐ、ｑに割り当てることで作業日数を均一化する。なお、図４に示す工数換算テーブル１４から、能力「Ａ」の要員が難易度「Ｄ」のプロジェクトを担当する場合、通常の０．５倍の工数で実施できることがわかる。従って平均化する際には、能力「Ｄ」の要員ｕに割り当てられている２日分の難易度「Ｄ」のプロジェクトを、能力「Ａ」の要員ｐ、ｑでは１日分として割り当てる。従って、ステップＳ２０４の処理により、図７（Ｂ）から図７（Ｃ）に示すように作業スケジュールは修正される。即ち、要員ｕに割り当てられていた２日分のプロジェクトＰ９の割り当てが解除され、要員ｐに新たに１日分のプロジェクトＰ９が割り当てられる。同様に、要員ｕに割り当てられていた２日分のプロジェクトＰ１０の割り当てが解除され、要員ｑに新たに１日分のプロジェクトＰ１０が割り当てられる。なお、要員ｕから、プロジェクトＰ９を要員ｑ、プロジェクトＰ１０を要員ｐに割り当ててもよく、要員ｕと要員ｐ、ｑとの間で作業日数を均一化できれば、要員ｕのどのプロジェクトを要員ｐ、ｑに割り当てるかは任意である。
【００４２】
図７（Ｃ）に示すスケジュールにおいて、作業日数が最大の要員ｒ、ｓ、ｔと最少の要員ｐ、ｑ、ｕとの作業日数の差は１日であり、所定値以内（本例では１日以内とする）であり、特定要員への作業日数の集中は無い。従って、ステップＳ２０３ではＹｅｓと判別される。
【００４３】
そして、ステップＳ２０５、ステップＳ２０６の処理により、作成された図７（Ｃ）に示すスケジュールは、ユーザから受け付けた認否情報とともにスケジュール記憶部１７に格納され、スケジュール作成処理は終了する。
【００４４】
このように、本実施形態によれば、要員間の作業日数が平均化するように、各プロジェクト要員の作業スケジュールを作成する。従って、特定の要員に作業が集中することがないスケジュールを作成することが可能となる。
【００４５】
また、本実施形態では、スケジュール作成処理において、最初に各要員に最適なプロジェクトを割り当ててから（ステップＳ２０１）、以降の作業日数を平均化する処理（ステップＳ２０２〜ステップＳ２０６）を行う。従って、要員間で作業日数を平均化できるだけでなく、なるべく最適なプロジェクトを各要員に割り当てることができる。
【００４６】
また、本実施形態では、作業日数の平均化する際に、工数換算テーブル１４を参照することで、能力に応じた作業日数の削減量も加味された作業スケジュールが作成される。従って、要員の能力を適切に反映した作業スケジュールを作成することが可能となる。
【００４７】
また、本実施形態では、作成された作業スケジュールを、ユーザからの承認か否認かを示す認否情報と対応付けて記憶する。従って、その後、ユーザが承認されていない作業スケジュールの内容を手動で再調整したり、設定処理で各記憶部内の情報を再設定してから再度スケジュール作成処理を実行する等して、所望のスケジュールを作成することが可能となる。
【００４８】
なお、本発明は、上記実施形態に限定されず、本発明の要旨を逸脱しない部分での種々の変更は勿論可能である。
【００４９】
例えば、上記実施形態では、日単位の作業スケジュールを作成したが、時間単位や月単位の作業スケジュールの作成にも本発明は適用可能である。
【００５０】
また、上記実施形態では、要員の能力とプロジェクトの難易度をＡ〜Ｄの４段階としたが、これに限らず、任意の数の段階の能力、難易度を設定可能である。
【００５１】
また、要員の能力とプロジェクトの難易度を数値で表してもよい。この場合、プロジェクトの難易度の値と要員の能力の値との差が所定値以内である場合に、この要員にとって最適なプロジェクトであると判別すればよい。
【００５２】
また、例えば、本発明の実施形態に係るスケジュール作成装置１０の動作を規定する動作プログラムを既存のパーソナルコンピュータや情報端末機器等に適用することで、当該パーソナルコンピュータ等を本発明の実施形態に係るスケジュール作成装置１０として機能させることも可能である。
【００５３】
また、このようなプログラムの配布方法は任意であり、例えば、ＣＤ−ＲＯＭ（Compact Disk Read-Only Memory）、ＤＶＤ（Digital Versatile Disk）、ＭＯ（Magneto Optical Disk）、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよいし、インターネットなどの通信ネットワークを介して配布してもよい。
【符号の説明】
【００５４】
１０ スケジュール作成装置
１１ 設定情報受付部
１２ プロジェクト情報記憶部
１３ 要員情報記憶部
１４ 工数換算テーブル
１５ 作業スケジュール作成部
１６ 承認部
１７ スケジュール記憶部
【図１】
2014052761.tif 000003
【図２】
2014052761.tif 000004
【図３】
2014052761.tif 000005
【図４】
2014052761.tif 000006
【図５】
2014052761.tif 000007
【図６】
2014052761.tif 000008
【図７】
2014052761.tif 000009