スキル

スケジュール遅延の原因と対策 – プロジェクト管理術とテクニック

はじめに

システム開発に限りませんが、プロジェクトの困りごととして挙げられるのは「スケジュール遅延」だと思います。
プロジェクトには必ず期限が設定されており、それまでに求められている成果を出す必要があります。
ただ闇雲にプロジェクト遂行しているだけでは、期日に間に合うときもあるでしょうが、場合によっては間に合わない可能性もあります。

そのような運任せでは困るので、プロジェクトの成功率を高めるためにもスケジュール遅延が発生しないための取り組みが求められます。

そこで、スケジュール遅延が発生しないためのプロジェクト管理方法について解説していきます。

スケジュール遅延の発生要因と対策

スケジュール遅延を防ぐには、その発生する要因について知る必要があります。
スケジュール遅延につながる要因は幅広く多岐に渡りますが、その中でも発生頻度の高い遅延理由について原因と対策を見ていきましょう。

プロジェクト計画が不十分

プロジェクト計画が検討不足である場合、想定外の事象が発生したり、計画漏れといったスケジュール全体に影響が出るトラブルが発生する可能性が高いです。
計画を十分に行っていないということは、プロジェクトが正常に進んでいるか判断するための基準値がないということです。
場当たり的に作業をしていると、気づいたら作業日数や人手が足りなくなる、ということもあります。

もしプロジェクト計画書がなかったり、検討が不十分である場合は、計画の見直しを行うところから始めます。
見直しでは、次のポイントが妥当なのか確認してください。

 ・マスタスケジュールの期間、マイルストーン
 ・体制図
 ・スコープベースライン

プロジェクト運営ルールの準備不足

進捗管理や課題管理といったプロジェクト運営ルールが整備されていないとプロジェクトをコントロールすることができません。
その結果、プロジェクトが上手く進まず、遅延につながることがあります。

そうならないようにルールを策定して文書化し、関係するステークホルダー全体で認識を合わせます。
もしルール違反を発見したらすぐに指摘、是正するように指導することで、ルールの形骸化を抑止します。

特に次の運営ルールは、どのプロジェクトでも必要になるので、足りないものがあれば整備してください。

 ・進捗管理、進捗報告
 ・課題管理
 ・QA管理
 ・リスク管理
 ・仕様変更管理

要件定義の検討不足

プロジェクトが失敗する理由の多くは、要件定義の検討不足に起因しています。
仕様検討やシステムテストなどの後工程で要件検討の不備を発見すると大幅な戻り作業となることが多いです。

そのような事態とならないように要件定義は十分に行います。
検討が間に合わず未決定のまま次工程に入らいないように対処することが大切ですが、もしそうなってしまった場合は、「どのようにリカバリするのか」「次工程の作業に影響でないよう作業の進め方を調整する」といった工夫が必要になります。

もし要件定義の検討不足が原因で遅延した場合、影響ある部分のタスクを止めて要件検討に立ち戻ります。
ただし、問題となっている点にポイントを絞って検討するように注意しましょう。
焦点を絞らずに立ち戻ると、再検討の範囲が広がってしまい収拾がつかなくなる可能性があります。

要件の見直しを行ったら、影響範囲の作業量を見積もりスケジュールに反映します。
その結果、当初スケジュールに収まらない場合は、要員調達、作業のトレードオフ、スケジュール期限の見直しなど対策を検討します。

スコープ定義不足

プロジェクトを開始する前にスコープベースラインを作成します。
スコープベースラインでは作成する成果物や作業範囲、役割分担を定義するのですが、この定義が不明確の場合に想定外の作業やタスクが発生する可能性があります。
「気づいたら少しづつタスクが増えていた」という場合、スコープベースラインが定義されていなかったり、スコープを意識しないまま作業調整していることが原因になります。

そのような場合はスコープについて整理するところから始めます。
整理するのは、以下の観点で行います。

・成果物の対象は妥当か(過不足ないこと)
・クライアントと成果物対象の認識があっているか
・作業範囲、役割分担が明確になっているか
・スコープ対象に含まれていない作業の取り扱いルール

変更管理が不十分

仕様変更が多発するとスケジュール遅延になる可能性が大きいです。

仕様変更が発生した場合、追加作業の費用調整やスケジュール調整を行う必要があります。
この仕様変更の管理が不十分だと変更作業を抑止したり、作業の実施タイミングを調整することができなくなります。

そのような事態になった場合、次の点について不足している点があれば補完します。

 ・何を変更したら仕様変更となるのかルールを明確にする
  ※要件定義の変更、仕様締結した設計書を修正する 等
 ・仕様変更の承認者、調整者を設定する
 ・変更管理台帳を作成する
 ・仕様変更の対応方針を調整する会議体ルールを定義する

すでに発生した変更要求については、変更情報を一覧化して整理します。
一覧化したら、それぞれのタスクに優先度、対応期日、対応時のコスト、影響範囲を設定し、クライアントなどの関係者と対応方針や時期、費用調整を行います。

リスク管理不足

プロジェクトとは不確定要素が含まれています。
想定外のトラブルが発生した結果、プロジェクトが遅延することは珍しくありません。

そのような事態を避けるには、あらかじめ想定できるリスクを整理し、回避策やリスク顕在化したときの対処方法を準備することが有効です。

既にリスク顕在化してトラブル発生した場合は粛々と対処するしかありません。
他タスクとリスク対策の優先度を設定し、作業順序を調整したり、人の増員など対策をとることになります。
そして、発生したトラブルを整理、原因分析することで、他にトラブルが発生しないよう対策をとります。

コミュニケーション不足

プロジェクトではチームメンバやクライアントなど様々なステークホルダーが存在します。
プロジェクトを成功させるためには、それらステークホルダーが円滑にコミュニケーションできる環境が不可欠です。

そのコミュニケーションが機能していないと、調整が進まなかったり、認識齟齬による戻り作業が発生といったトラブルにつながり、結果としてスケジュール遅延につながる可能性があります。

そのような事態にならないように、適切な会議設定をしたり、積極的にメンバ間で情報共有できるような仕組みや雰囲気作りをすることが大切です。

もしコミュニケーション不足が発生していると感じている場合、なぜコミュニケーションが上手くとることができないか、メンバなどにヒヤリングしながら状況確認します。
無暗に会議を開いても時間が取られるだけなので、どうすれば効果的なのか周りと相談しながら調整するとよいでしょう。

作業量の見積もり誤り

詳細スケジュールを作成するときにタスクごとの作業量を見積もりますが、実際に作業したら想定より多く時間がかかる場合があります。
そのような場合、次の観点で状況を確認します。

①作業の進め方に問題ないか
メンバの実施している作業に問題ないか確認します。
もし問題あれば進め方を指導したり、必要あればサポートを付けたりします。
作業の進め方に問題はなくても、除去すべき問題・課題がないか確認し、必要あれば対処します。

②工数の見積もり誤り
見積誤りの場合、適正な作業見積を算出することになりますが、その影響範囲も確認します。
1つのタスクだけの話であればよいですが、同じようなタスクが大量にある場合、他タスクの工数も膨れ上がるためスケジュールへの影響が大きくなります。
その場合、スケジュール調整できればよいですが、難しい場合は次の観点で対処できないか検討します。

 ・費用交渉できるのであれば調整して増員する
 ・他タスクとトレードオフする
 ・リスク費を消費して増員する
 ・作業効率化により工数増を抑える

メンバのスキル不足

タスクに割り当てられたメンバのスキルが足りず、想定工数より時間がかかる場合があります。
特に、初めて仕事するメンバであれば力量がわからないため、タスク割り当てが上手くいかないことがあります。

メンバスキルに見合うようにスケジュールの担当を見直すことができればよいのですが、プロジェクトメンバも限られているため適材適所にできないケースも多いです。
そのような場合は、次の方法をとることになります。

 ・メンバを教育、指導する
 ・有識者にフォローしてもらう
 ・作業手順書を作成する
 ・そのメンバのタスク期間を全体的に長くする

課題対応に追われる

プロジェクトでは様々な課題が発生し、それらを対処するための工数を使用します。
この課題対応はスケジュールに含まれないタスクであるため、課題が大量発生すると課題対応に追われ、スケジュールで予定していた作業に着手できない場合があります。

通常、課題対応などの作業工数はスケジュール調整で確保した工数や期間などのバッファを使用しますが、課題対応の多発により対処しきれなくなることもあります。
そのような場合、以下の手順で対処します。

①課題が多発する原因の確認と対処
課題の原因を解消しないと、いつまでも課題対応に追われることになります。
もし、必要以上に調査や作業を依頼する人(上司やクライアント)がいる場合、その依頼を減らすための工夫や調整をします。
根本原因を解消するのは容易でないケースが多いので、関係者を巻き込んで対処するとよいでしょう。

②タスクをスケジュール化する
発生した課題を解消するために作業タスクが発生するのであれば、それをスケジュールのタスクに組み込みます。
そうすることで他タスクとの作業調整を行えるようになり、実質的なスケジュールを把握することができます。

不具合対応が終わらない

テスト工程において、不具合の大量発生によりテストが消化されず、テストが終わりが見えない状態になることがあります。
特に、テストと不具合対応を同時に行うような進め方をしている場合、テスト作業がいつ終わるのか計画を立てることが困難になります。

そのような時は、不具合を検知しても台帳管理だけして修正対応は行わず、テスト項目の消化に専念します。
不具合修正しないとテストできない箇所は後回しにします。
そのようにテストを全て消化すると、対処すべき不具合が一覧化された状況になるので、その不具合を修正するための作業をスケジュール化します。
全体の不具合件数がわかれば、1日の不具合修正件数を設定することで、完了目途を立てることができます。

不具合修正の目途が立ったら、あとはスケジュールと予算を見ながら増員を検討したり、スケジュールの見直しをするなど調整します。

プロジェクト外の割り込み作業が入る

会社の事務的な作業や他プロジェクトの支援作業など、プロジェクト外の割り込み作業が発生する場合があります。
それらの作業は断ることができないケースが多いのですが、スケジュールに影響が出る可能性も考えられます。

そのため、割り込み作業についてはプロジェクト外から担当者に直接依頼を出すのではなく、リーダやプロジェクトマネージャといった管理者を通すようにルールを徹底します。
管理者は対応できるか、他に手立てがないか検討、調整をします。
少なくとも、知らないところでメンバに作業が割り当てられ、調整する間もなくプロジェクトが遅延するような状況にならないようにします。

メンバ不在

プロジェクトメンバが体調不良や家庭の事情など、メンバが突発的に不在となる可能性は日頃から考慮すべきです。
そのような事態になっても困らないよう、スケジュールにバッファを持たせることも大切ですが、作業が属人化することでプロジェクト全体が止まるような事態にならないよう注意が必要です。

もし長期間メンバが不在になる場合、次のような対策をとります。

①影響確認と対策
不在メンバのタスクが止まることで、プロジェクトにどのような影響が出るか確認します。
もし他作業が進めなくなるといった問題が起きる場合、作業の優先度を確認しながら他メンバをアサインするなど、影響を小さくするための対処をします。

②スケジュール調整
不在期間だけ、作業進捗は遅れてしまいます。
メンバが復帰したとき、その人の頑張りだけでリカバリするのは無理なので、スケジュールのバッファ使用、後続タスクの調整、要員調整など調整します。

作業環境が不十分

作業者の使用しているPCスペックが低かったり、開発環境が整備されておらず作業効率が低いため、生産性は上がらずスケジュール遅延につながる場合があります。
またプロジェクト運営ルールに生産性を低下させる原因があるかもしれません。

対策としては、当然ですが生産性が上がるように環境を整備します。
例えばPCのメモリが少ないのであればメモリを追加します。
コスト増のように思えますが、作業者が1~2時間程度の作業効率を上げるだけで元が取れます。
プロジェクト運営ルールに問題があるのであれば、それらを改善していきます。

プロジェクトマネジメントは、メンバが円滑に作業するための環境を作ることが使命です。
メンバの生産性を向上するための取り組みは必要です。

メンバのモチベーション低下

要因は様々ですが、プロジェクトメンバのモチベーションが低下することで生産性が低下し、それがスケジュール遅延につながることもあります。

メンバのモチベーションをマネジメント側がコントロールすることはできないのですが、仕事の取り組み方により対処できるところはあります。
そのポイントをいくつか挙げます。

明確な目標設定
作業の目的が不明確だったり、何をすればよいかわからない状況だとメンバの仕事に対するモチベーションは低下します。
そのためメンバが何を達成すべきか、なぜそれが重要なのかを理解できるようにします。

適切なフィードバック
定期的にポジティブなフィードバックを提供したり、建設的な改善点を伝えることは有効です。

達成感の提供
小さな目標を設定し、達成した際には評価していることを伝えるとよいです。

適度な裁量権の譲渡
自身の作業に裁量がなく、自由にできないとモチベーションは低下します。
作業の丸投げなど極端な裁量を渡すのは良くありませんが、メンバの能力と役割を見ながら適切な裁量を設定します。

適切なリソースとサポート
メンバの作業で必要なリソース(PCなどの環境や予算など)を提供したり、必要なサポートを行うことは、メンバのモチベーション維持に必要なものです。

チームの結束力
プロジェクトチームがバラバラな状態では、メンバのモチベーションが上がらないのは当然です。
チームが結束できるよう、プロジェクトコントロールすることは大切です。

上記のようにモチベーション低下を予防する取り組みはありますが、一番重要なのは日頃からメンバとコミュニケーションをとることです。
メンバが困った状況になったとき、相談してもらえるような関係を構築することを心がけましょう。