リソースのスケジューリング

プロジェクトのタスクを識別し、その概要を定義したら、焦点はそれぞれのタスクをどのように実装するかに移ります。これには、それぞれのタスクを完了するのに必要なリソースを識別し、適切なリソースを配置することが要求されます。プロジェクトリソースは、プロジェクトのタスクを遂行するために必要な資材あるいは人材として定義されます。プロジェクトタスクにリソースを割り当てるには、次の2つのステップを踏まなければなりません。

  • 必要なリソースのタイプ(質)を判断する

  • 決められた期間内にタスクを完了させるのに必要なリソースの量を決定する

リソースの定義

Sciformaでは、人的リソースと物的リソースを次のように区別しています。

  • リソースは人的リソースで、汎用リソースと名前付きリソースの2つの分類があります。

  • 費目は人的リソース以外の、材料や機械などです。

汎用リソースには、部門(任意)、職種(任意)、スキル(任意)と名前の属性があります。

名前付きリソースには、部門(必須)、職種(任意)とスキル(任意)、名、姓、ID、カレンダー、利用可能工数、デフォルトレートの属性があります。

費目には、部門(必須)、分類(任意)とユニット(任意)の属性があります。

プロジェクトを計画する際、プロジェクトマネージャは2段階でリソースを配置することができます。

  1. ソフト割り当ての作成:プロジェクトマネージャは、プロジェクトの実行に必要な職種やスキルを設定し、リソースの割り当てをリソースマネージャに任せます。プロジェクトマネージャは、プロジェクトのすべてのタスクの工数を計画し、リソースマネージャはチームの優先度を決めます。

  2. ハード割り当ての作成:リソースの選択が調整できたら、プロジェクトマネージャはソフト割り当てに名前付きリソースを割り当てることができます。

リソースをスケジュールする利点

リソースをスケジュールすることでリソースの利用可能時間を明確にし、タスクの失敗を避けることができます。プロジェクトの完了に必要なリソースの数が分かります。

リソース計画を作成することでコストを管理することもできます。プロジェクトの各フェーズの予算が限られている場合、全体のリソース計画を作成することでコストをカットできる箇所がないかを見極めやすくなります。コストをカットすることが目的でない場合でも、フェーズ間でタスクを移動することで、経費を調整することができます。

リソーススケジュールのキーコンセプト

ほとんどのタスクでは、タスク期間(経過時間)とリソース割り当ては相互依存の関係にあります。プロジェクトマネージャは、タスクとそれを実行するリソースに対する知識と経験をもとにタスクの期間を予測します。この知識には最低でも、リソースのスキルレベル、利用可能工数、タスクの完了に必要な工数、タスクのリソース感度が含まれます。

総工数と経過時間

理想的な環境では、8工数を必要とするタスクはリソース1名が1日(8時間)作業すれば完了します。一方、期間を見積もる場合は経過時間と工数を切り離して考える傾向があります。経過時間とは、タスクが開始してから終了するまでの期間です。工数とはリソースがタスクを完了するのに実際に費やす時間数の合計です。外部の要因などから、8工数を要するタスクは実際には開始後1.5日の経過時間で終了することもあります。経過時間と工数の関係は、タスクの性質、使用できるリソースの数、パフォーマンスに影響を及ぼすような外部要因によっても変わります。工数を見積もる場合は、タスクの複雑さ、リソースの熟練度なども考慮します。またリソースは絶えず100%の効率で働けるわけではなく、1日8時間の作業に専任できるかどうかも分からないということを認識しておくべきです。経過時間を見積もる場合は、タスクに割り当てられたリソースの工数の合計だけでなく、それぞれのリソースがそのタスクに費やすであろう1日当たりの稼働時間も考慮する必要があります。

Effort_vs_Duration.png

総工数とは、リソースがタスクを実行するのに費やす時間の合計で、通常は時間数で表します。タスクの総工数は、タスクに割り当てられたリソースの数に関係なく、工数の合計値となります。

経過時間とは、タスクの終了までの時間で、通常は日数で表します。

工数ベースのタスクと期間ベースのタスク

期間とリソースの関係の重要なポイントは、次の通りです。

  • 時間制限:できるだけ少ないリソースで期間内にプロジェクトを終了しなければならない。クリティカルなのは、期間であってリソースの使い方ではない。

  • リソース制限:特定のリソース使用レベルあるいは汎用リソース制約を超えずに、プロジェクトをできるだけ早く終了しなければならない。

リソース配置の問題は、すべての変数(期間、コスト、スコープ)が固定されると、システムは過剰決定(制約が過剰で解決策がないこと)になるということです。この場合、プロジェクトマネージャはプロジェクトの完了に必要な妥協点を見つけるだけの柔軟性を失っています。

工数ベースタスクには、開始日が定義されています。終了日は、タスクに割りてられるリソースの人数と配置されたレートをもとに設定されます。つまり、割り当てるリソースを増やせば増やすほど、(各リソースがコミットする工数の総量に従って)タスクの完了は早くなります。

工数ベースのスケジューリングの最初のステップは、それぞれのタスクが実際に工数依存かどうかを確認することです。プロジェクト内には、工数依存ではないタスクも存在します。例えば、搬送のための梱包は工数依存ですが、トラックでの搬送は工数依存ではありません。どれだけの人数が運転に関わったとしても、トラックの移動時間が多少早くなるだけです。

タスクが工数依存かどうかを見極めるには、1人の人間がこのタスクをx日で終了できるとしたら、2人ではx/2日でできるか、3人ならx/3日でできるかを考えることです。部屋の塗装を1人でやる場合に12時間かかるとすると、2人なら6時間、3人なら4時間で終わるかもしれません。これは工数依存タスクの一例です。

重要なのは、タスクをこのようにスケジュールする際、そのタスクを実際に実行する個人の作業効率が他のリソースより良いか悪いかは考慮していないということです。AはBより作業効率が悪いので、調整が必要だ、という風にリソース割り当てを考慮してタスクをスケジュールする必要があるかもしれません。

期間ベースのタスクとは、開始日と終了日の両方が固定されたタスクです。つまり、タスクに割り当てる人数やその工数の合計に関係なく、期間は変わりがないということです。工数は、タスクに割り当てる人数と彼らがタスクの実行に費やす時間によって決まります。

タスクの終了日を期間から計算するとは、そのタスクに投入する人数に関係なく、タスクの終了が最初に設定する予定を越えてはならないということです。

例えば1時間の会議では、参加する人数に関係なく、1時間という時間が固定されています。参加する人数によって作業量は変わります。

Sciformaの配分タイプ

配分タイプによってリソースの割り当て方法とタスクの期間が変わります。期間、総工数、稼働時間(レート)の3つの要素の関係は次の通りです。

期間 x 稼働時間 = 総工数

注記

式には3つの変数があります。Sciformaでこの式を使うには、3つの変数(期間、稼働時間、工数)のどれかを設定する必要があります。

この式は、次の場合に有効です。

  • 作業を複数のリソースに振り分けられる。

  • リソース間に依存性はない。

  • すべてのリソースの生産性は同じとみなしてよい。

稼働時間固定、工数固定、期間固定

これら3つの配分タイプでは、式の3つの変数に次のような優先順位が付けられます。

Priority.png

稼働時間固定配分タイプでは、タスクの期間を変動した場合でも、(1日当たりの)稼働時間を変更しません。タスクの期間を変更した場合、稼働時間を維持し、工数を調整します。割り当ての稼働時間を手動で変更した場合、期間を維持し、総工数を調整します。

工数固定配分タイプでは、タスクの期間を変動した場合でも総工数を変更しません。期間を変更すると、稼働時間が調整されます。タスクの期間が延びれば稼働時間は下がります。タスクの期間が縮まれば稼働時間は上がります。どちらの場合も、総工数は変わりません

工数固定タイプのタスク割り当ての総工数を変更すると、Sciformaは期間を維持し、稼働時間を変更します。

期間固定配分タイプでは、タスクの稼働時間を変動した場合でも期間を変更しません。稼働時間を変更しても、期間は変更されません。総工数は、タスクの稼働時間と期間を掛けたものです。期間を長くすると総工数が増えます。期間を短くすると総工数が減ります。

次の表は、それぞれの配分タイプ(列)で各パラメーター(行)の値を変更した場合に、どの値が変わるかを示したものです。

稼働時間固定

工数固定

期間固定

稼働時間(レート)

工数 *

期間

工数

工数

期間

稼働時間 *

稼働時間

期間

工数

稼働時間

工数 *

アスタリスクのあるセルは、期間 x 稼働時間 = 総工数の式で使われる優先順位に従ってSciformaが計算する変数です。これらのセルは、固定した変数を変動した結果になります。

稼働時間工数固定、工数稼働時間固定、期間工数固定

期間が最上位の優先順位ではない場合、さらに稼働時間工数固定、工数稼働時間固定、期間工数固定の3つの配分タイプが用意されています。

これらの3つの配分タイプでも同じ式を使いますが、変数の優先順位は付けません。

No_priority.png

優先順位は、次の表で定義されます。

優先順位高

中優先度

優先順位低

期間工数固定

期間

工数

稼働時間

稼働時間工数固定

稼働時間

工数

期間

工数稼働時間固定

工数

稼働時間

期間

期間工数固定配分タイプは、稼働時間を変更した場合は、期間固定と同じ結果となります。まず期間を維持し、次に総工数を維持します。このオプションでは、期間が変更された場合は総工数を維持できるように稼働時間を変化させます。(期間固定では、期間が変動した時には稼働時間を維持し、総工数を変化します。)

稼働時間工数固定配分タイプは、期間を変更した場合は、稼働時間固定と同じ結果となります。まず稼働時間を維持し、次に総工数を維持します。このオプションでは、稼働時間が変更された場合は総工数を維持できるように期間を変化させます。(稼働時間固定では、稼働時間が変動した時には期間を維持し、総工数を変化します。)

工数稼働時間固定配分タイプは、期間を変更した場合は、工数固定と同じ結果となります。期間が変更されると、まず総工数を維持し、次に稼働時間を維持します。このオプションでは、総工数が変更された場合は稼働時間を維持できるように期間を変化させます。(工数固定では、総工数が変動した時には期間を維持し、稼働時間を変化します。)

次の表は、それぞれの配分タイプ(列)で各パラメーター(行)の値を変更した場合に、どの値が変わるかを示したものです。

稼働時間工数固定

工数稼働時間固定

期間工数固定

稼働時間

期間

期間

工数

工数

期間

期間

稼働時間

期間

工数

稼働時間

稼働時間

助言

  • 常にプロジェクトタイプごとに配分タイプを決めることをおすすめします。(ただし、ハンモックタスクは除きます。)

  • ハンモックタスクの配分タイプは、固定期間としてください。

  • スケジュール立案フェーズでは、リソース割り当てを均一配分タイプとしてください。不均一割り当ての配分は不要です。時間の無駄になります。

警告

スケジュールが均一配分でも、トラッキングが均一なわけではありません。