こんにちは、すのくろです。
スケジュール管理は、プロジェクトの成否を左右する重要なステップです。しかし、多くの人がスケジュールの作成や管理でつまずくことがあります。その理由は、正しいアプローチやツールの不足、そして目的と実際の作業の間にズレが生じることです。
自分も新人の時には、実現可能性の高い具体的なスケジュールを作成することができずに結局ただ納期をずらしたり、やることを諦めて減らして対応するような後手の仕事を行っていた時期があります。
こんな働き方では自分にも周りにもよくないと思い、スケジュール管理について基礎から学びました。
ここでは、「失敗を避け、効果的なスケジュール管理を行うための方法」について学び、自分なりにまとめた内容を整理して解説します!
今回、勉強に使用したUdemyの参考教材は下記になります
1. スケジュールの構造: 目的を逆算して計画を立てる
タスクとスケジュールの関係
スケジュール管理の鍵は、目的達成のための計画を逆算することにあります。
はじめに言葉の定義をおさらいします。
- タスク:やること単体。最小単位の行動
- スケジュール:タスクが集まったもの
目的達成のためにタスクを集める。それを順番に当てはめていつまでにやるか落とし込んだものがスケジュールです。
正しいスケジュールの作成手順
正しいスケジュールの作成手順は下記の流れです。
- 最初に達成したい目標を明確にする。
- そのために必要な具体的な作業(タスク)を洗い出す。
- その後、これらのタスクを期間に当てはめてスケジュールを作成する。
これによって成し遂げたい目的を達成可能なプロジェクト進行が可能となります。
一方で現実では、逆の流れでスケジュールを作成してしまう場合も珍しくありません。
- 期間を先に決定する。
- それに合わせて現実的なタスクを割り当てる
- そのタスクで達成可能な目標を定める
この手順の何がまずいかというと、次の見出しでも解説しますが、プロジェクト運営においてほぼ必ず不測の事態が起こります。
そのため、タスクの進捗が滞ることによって納期に追われることが考えられます。
また、この「期間→タスク洗い出し→目標設定」の考えで行うと、実現できるレベルでしか目標を立てていないことから、目標が小さなものになっているので、本当に進める価値があるのか、意味があるのかわからない仕事のための仕事になってしまうことがあります。
なので、まず第一にスケジュールを作成する際には、
- 目標を掲げる
- 具体的なやるべきタスクを洗い出す
- 期間に当てはめる
- 期間やリソーセス(人員、作業時間)の調整を行う
の手順で意味のあるスケジュール作成を行う必要があります。
2. スケジュール管理の難しさ: リスクの見積もりとバッファの難しさ
スケジュール管理が難しい理由はいくつかありますが代表的なものは会の3つです。
リスクの見積もりやバッファの設定が難しい
プロジェクトではさまざまなリスクが存在します。
これらのリスクを正確に見積もり、それを考慮したバッファを設定することが非常に難しいです。
リスクの発生確率や影響度を適切に評価し、プロジェクトスケジュールに適切な余裕を持たせる必要があります。
しかし、リスクの未知の要素や変動性を完全に予測することは難しく、これに対処する方法を見つけることが求められます。
余裕があってもバッファを食い潰してしまう
プロジェクトスケジュールにはバッファが含まれていても、予期せぬ問題や遅延が発生すると、そのバッファを消耗してしまうことがよくあります。
これは、不測の事態や新たに発生したリスクに対応するための柔軟性を持たせる必要がある一方で、バッファの管理や適切な利用が求められます。
ほぼ必ず、不測の事態が起きる
プロジェクトが進行中には、予期せぬ問題や障害、変更要求など、計画外の出来事がほぼ必ず発生します。これらの不測の事態に対処するために、プロジェクトマネージャーは迅速かつ効果的に対処策を見つけ、スケジュールを調整する必要があります。その際、プロジェクト全体の進行状況や依存関係を的確に把握し、リソースを最適化する能力が求められます。
これらのリスクを見積もることは難しく、さらに、余裕(バッファ)を持っていても、予期せぬ問題がそれを食い潰してしまうことがあります。
したがって、リスクを的確に見積もり、余裕を持ったスケジュールを作成することが求められます。
これらの課題に対処するためには、経験と知識を活かし、適切なプロジェクト管理手法やツールを使用して、リスクを最小限に抑えつつ、スケジュールを効果的に管理する能力が求められます。
なので、次にWBSを用いた効果的なスケジュール作成方法について解説します。
失敗しないスケジュール管理の方法(WBS)
WBS(Work Breakdown Structure)とは
WBS(Work Breakdown Structure)はプロジェクトマネジメントの手法の一つで、プロジェクトをより具体的なタスクに分解し、管理可能なレベルまで細分化する方法です。
ガントチャートと似ていると考える方もいるかもしれませんが、WBSとガントチャートは違います。
WBS(Work Breakdown Structure)
- 構造の分解と階層化: WBSはプロジェクトを階層的に分解し、プロジェクト全体を複数の具体的なタスクや作業パッケージに分割します。これにより、プロジェクトの全体像を把握しやすくなります。
- 依存関係の理解: WBSはタスク間の依存関係を明確に示しません。主にプロジェクトの構造を可視化するためのツールであり、タスクの進捗管理やスケジュール調整のための情報は提供しません。
ガントチャート(Gantt Chart)
- 時間軸上でのタスクの可視化: ガントチャートは時間軸上にタスクや活動を可視化するツールです。各タスクの開始日、終了日、進捗状況を時系列に沿って表示します。
- 依存関係の表示: ガントチャートはタスク間の依存関係を視覚的に示します。タスクAが完了するまでタスクBは開始できない、といった依存関係を明確に示すことができます。
- 進捗管理とスケジュール調整: ガントチャートはプロジェクトの進捗状況を追跡し、スケジュールの調整やリソースの割り当てなど、プロジェクトの実行に関する情報を提供します。
要するに、WBSはプロジェクトの構造を理解しやすくするための分解ツールであり、ガントチャートはプロジェクトのスケジュールと進捗を管理するための計画ツールと言えます。
このように、本来はWBSは、タスク管理や成果物をWHATツリーで構造化したツリーそのものをさしますが、実際にはガントチャートなどを付与したスケジュール表そのものをWBSと呼称することが多いです。
なので、このブログ内でもガントチャートまで含めたものをWBSとします。
WBSの現場での活用例
プロジェクトマネージャーは、WBSを作成することで下記のように活用します。
・プロジェクトの全体像を明確にする
・ガントチャートを使用してスケジュールを具体的に計画する
・進捗を追跡する
・プロジェクト全体を階層的に分解することで、プロジェクトの構造を把握しやすくする
・タスクの依存関係や進捗を管理しやすくする
WBSの作成手順
それでは具体的なWBSの作成手順を見ていきましょう!
具体例には、自分の本当の業務だと生々しいので、このブログ執筆のプロジェクトで考えてみました。
[必要なもの]
タスクを書いて、後にそのタスクを自由に動かせるもの
・紙(付箋)とペン
または
・PCでメモできるもの。 Googleスプレッドシート or Excel
手順1. ゴールを明確にする
はじめに行うことはゴールを具体的に決めて明確化することです。
・このプロジェクトは何のために行うのか?
・このプロジェクトでは何ができる状態になればいいのか?
・やりたいことは何なのか?
・成果物は何なのか?
目標をはっきりさせることが大事です。
仕事は「あるべき姿」に向けて進めていくものなので、ここで最終ゴールをはっきりさせないと仕事の方向性や意義が曖昧なものになってしまいます。
ゴールを考える際に、もし「あれ、ゴールって何だっけ?」となってしまった場合は注意が必要です。
ゴールがわかなかったら、方向性も決まらないです。
新人時代はほとんどの場面でよくあることですが、わからないことさえわからないなら今すぐ手を止めてそのこと自体について上司や関係者と話し合うことが必要です。
自分も業務で、
「これってどういう状態になればいいんだ?」
と疑問に思うことがあったときは上司に
「念の為確認ですが、これはOOのためにXXできれば良いってことですよね?」
と確認するようにしています。
そうすると、もし違った場合はすぐに方向修正できますし、あっている場合もちょっとしたアドバイスももらえるのでよりゴールが明確になります。
【具体例】
紙やPCに自分のプロジェクトの目標や具体的な状態を書いて定めます。
自分は「ブログ運営でガジェットテーマを拡大させる」という目的のプロジェクトで下記のように考えていきました。
目標 | 運営するブログに、ガジェット関連の記事を書き、ガジェットテーマの領域を拡大させる |
状態 | ガジェット記事とこれまでのPython関連の記事とうまく調和している状態 |
定量的には | 現在のPythonのプログラミング関連の記事40に対し、ガジェット記事が3つ程度なので少なくとも10は記事を書く |
成果物 | ガジェット記事10個 |
手順2. タスクの細分化
次にタスクの細分化です。
手順2-1. 何も考えず、思いつくものから挙げていく
初めは思いつくものから順番に上げていきます。連想ゲーム
ゴールから考えると楽です。何が必要か、誰の許可がいるか、何が決まっていないといけないかなどの観点で、必要なタスクを書き出していきます。
ここでは、まだ期間のことや時系列などは考えなくてOKです。
後の手順で、タスクを整理していくので、ここでは一気に関係があるそうなタスクをイモずる式で出していくことに集中します。
【具体例】
自分の例でいくと、
「ブログ運営でガジェットテーマを拡大させる」という目的
に対して必要なタスクをgoogleスプレッドシートに書き出していきました。
こんな感じで、必要になるタスクを書き出していきます。
さらにそのタスクの中で前後関係や類似関係になるものがないかなどの観点で必要タスクが他にもないか洗い出してみました。
手順2-2. 洗い出したタスク(行動)の階層を揃える
タスクを一通り出したところで、そのタスクを整理していきます。
具体的にはタスクの粒度を揃えることです。(粒度=大きさ)
例えば、「ブログ記事を作成する」の中には、
・記事のテーマを決める
・記事の構成を考える
・記事を執筆する
・記事を投稿する
という大きな粒度の項目があります。
この中にさらに小さい粒度のタスクが入っていると思うので、分解して粒度を揃えて整理します。
タスクが大きいと計画に入れた際に、調整が聞き辛くなりますし、タスク完了までに時間を要し達成感も減ります。
なのでタスクはできるだけ小さい状態まで分解したほうが良いです。
分解のポイントは、
「1つのタスクの期間=遅延に気づいて遅れをリカバリできるレベル」
です。
例えば、自分の「1つのブログを書く」という大きな項目をタスクの粒度を分けて分解すると下記のようになります。
粒度 | 大 | 中 | 小 |
① | 記事のテーマを決める | 自分の生活を振り返る | デスクで使っているガジェットをリスト化する |
1日の行動でガジェットを使用タイミングを振り返る | |||
流行りのガジェットを調査する | ガジェット雑誌を調査する | ||
SNSで調査する | |||
② | 記事の構成を考える | 競合のブログを調査する | 他のガジェットブログを調査する |
見出し構成を収集する | |||
ガジェットのメリデメを表にまとめる | |||
見出し構成をまとめる | ー | ||
③ | 記事を執筆する | 見出しを書く | ー |
本文を書く | テキストを入力する | ||
画像を貼る | |||
見栄えを整える | テキストの装飾をする | ||
ボックスなどで囲む | |||
④ | 記事を投稿する | アイキャッチをつける | アイキャッチを作成する |
アイキャッチを貼る | |||
記事を送信する | プレビューで最終確認を行う | ||
記事を投稿する |
これは例なので、完全な正解があるというわけではありませんが、具体的なアクションまで分解できると、計画の見積もりや実行がしやすくなります。
手順3. クリティカルパスを見つける
プロジェクトの中でやらなければならないタスクが決まったところで「クリティカルパス」を見つけます。
クリティカルパスとは、「これが終わらないと次の作業ができないというもの」です。
自分の例でいくと、
「①記事のテーマを決める」が完了しないと、次の「②記事の構成を考える」に進めないような事例です。
このようにスケジュールにクリティカルパスを表示して全体を俯瞰します。
クリティカルパスをWBSの日付に最短距離で描きます。
その例が↓のとおりです。
手順4. 日程調整を行う
ここでクリティカルパスを意識して、細分化したタスクを当てはめてスケジュールが完成です。
まずは先ほど、クリティカルパスを記載したWBSに細分化した残りのタスクを行う期間を配置していきます。
この時、「④記事を投稿する」の「アイキャッチを貼る」については③クリティカルパスよりも早く始まっていますが、これはアイキャッチ作成は先回りして作成することができるからです。
このように、クリティカルパスを定めることで、
・何ができないと次ができないか?
・影響なく並行して進められれるものは何か?
が分かり最適なスケジュールができていくようになります。
以上が一連のWBS(+ガントチャート)を使用したスケジュール立案の方法です!
日程がうまくはまらない場合の対処法
ここまでで、プロジェクトの目標に対して必要なタスクを洗い出し、タスクを細分化し、クリティカルパスを意識しながらタスクを当てはめる一連の流れを紹介しました。
ここで、締切が定まっているときにどうしても必要なタスクが当てはまらない場合があると思います。
そんな時にどうやって対処していけば良いかの解説をしていきます。
対処法1. 潔く納期を伸ばしてもらう
まずは納期(締切)を潔く伸ばしてもらうことです。
それを言っては元も子もないだろと突っ込みたい気持ちもわかりますが、意外と調整がきくものでもあります。
顧客へ報告など対外的なものでどうしてもずらせないものがあるとしても、これまでの計画立案で行った必要タスクを示して、
「目標の達成のためにはどうしてもこれくらい期間が必要なんです!」
と論理的に説明すれば納得してもらえる場合もあります。
また、意外と根拠のない納期を決めているものも多いので、多少のスケジュール変更もできる場合もあります。
まずは締切が後ろに伸ばすことができないか?と考えてみることが重要です。
対処法2. リソーセス(人員・残業)を投入する
次の対処法は、他の人や残業時間などでタスクをこなす物量を増やすことです。
WBSでスケジュールを視覚化でき、並行して作業を行うことができるものに関しては、上司にうまくWBSを示しながら説明して他者の助けを借りることができないか考えます。
また、これだけ時間がかかるので、残業時間をいただけないかなどと交渉することもリソーセス面での対処法となります。
上記はサラリーマンの例で組織で働いている場合の話ですが、もしフリーランスであれば、タスクのうちで自分以外でできる部分に関してクラウドソーシンジで外注化するなどがこの対処法に当てはまります。
すなわち期限までにできなければ、何か物量を増やすことを考えるというのがひとつの対処法です。
対処法3. 成果物の質を下げて作業期間を短くする
最後に3つ目は「成果物の質を下げて作業期間を短くする」ことです。
質を下げるというと悪いイメージがあるかもしれません。
しかし、最終目標を達成するために実はそんなに突き詰めなければならないタスクが含まれている場合があると思います。
例えば、自分の今回のブログ執筆の例でいくと、
・SNSで流行りのガジェットを調査する
などはそんな何時間も突き詰めてやるものではないかと思います。
ネットで調査する系のタスクはやろうと思えばいくらでも時間をかけることができます。
しかし、目標に対して重要な情報を集めるのには実はそんなに時間がかからないかもしれません。
あとはよく割るのは、パワポなどの報告資料やブログの装飾などで、細かいところまで作り込んでしまうこともあると思います。
こういうものは実は相手が気にしていない部分であり、どうでも良いこともあるのでエッセンス部分さえできれば残りはいい意味で適当に手を抜いて早く終わらせるということが重要です。
こうすることで、1タスクにかける時間を短縮して、目標を達成することができないか考えます。
まとめ
本記事では、スケジュール管理の基本からWBSを使った具体的なスケジュール作成までを網羅しました。
プロジェクトを成功に導くためには、スケジュール管理の重要性を理解し、正確な計画と効果的な管理が不可欠です。以下に、本記事の要点をまとめます:
- スケジュールの構造を理解する: 目的を逆算して計画を立て、必要なタスクを洗い出すことで、現実的かつ達成可能なスケジュールを作成します。
- スケジュール管理の難しさを克服する: リスクの見積もりとバッファの適切な設定により、予期せぬ問題にも対応できるスケジュールを作成します。
- WBS (Work Breakedown Structure) の活用: WBSを作成することで、必要なタスクを洗い出し、進捗管理や状況共有をスムーズに行います。
- 日程がうまくはまらない場合の対処法: 潔く納期を伸ばしてもらう、リソーセスを投入する、成果物の質を下げ作業期間を短くする
スケジュール管理は、新人からマネージャーレベルまで全員に必要な能力と言えます。
また、自分の目標(ありたい姿)に向けて行うプロジェクトの成功に直結する要素です。
いきなりうまくスケジュールを立案して管理することはできないと思います。自分もまだまだです。
ただ成り行きで仕事をするより、常にプロジェクトを与えられた場合には、時間を作って今回のようなスクジュール立案を行なっていこうと思います。
繰り返し立案してみることで、目標までの道筋を意識しやすくなり仕事を進める力が成長できると思います!
一緒に精進していきましょう!
本ブログでは、ビジネスに役立つ考え方やプログラミングなどの効率化スキルについて発信しています。
参考になれば幸いです。
以上、ここまでお読みいただきありがとうございました!
コメント