スケジュール管理に大切なこと


こんにちは、KFともうします。

段々と涼しくなってまいりましたが、いかがお過ごしでしょうか?
コロナに引き続きインフルエンザも流行してきているようですので、手洗いうがいなどを心掛け体調管理には気を付けたいところです。

 

 

はじめに

今回話をさせていただくのはスケジュール管理についてです。
プロジェクトを無理なく円滑に進めるために重要になるのがスケジュール管理です。
自分が体験した話を元に、スケジュール管理をするうえで気を付けるべき点について話をさせて頂きたいと思います。

 

ケース1(DB移行案件)

一つ目のケースは私が担当したDB移行の案件のケースです。DB移行は様々な制約から、プロジェクト開始時には移行の方法について定まっておらず、移行方法に調査が必要となるケースがあります。
このプロジェクトの概要は下記通りです。

  • システム移行に伴いDBを移行
  • 移行対象はデータとストアド一式

DB移行では型の制約やストアドの記述形式の違いなどがあるため、「効率よく移行するため、最初は少人数で移行方法の調査・検討」から作業が始まることがあります。その際に、少人数であるために、チームリーダー自身も含めて作業を割り振ってしまうことがあります。また作業内容が調査である場合、どこまで調査すればよいかなど具体的な目標(成果物)が定めづらいものです。このケースでは私自身が調査に着手してしまったために管理作業を十分に行えず、チーム全体の進捗の把握やどこまで調査を行うか等の具体的な作業内容の指示や管理について疎かになってしまいました。

また、システム移行プロジェクトとしてのエンドは決まっているものの、その中のDB移行のタイミングについては具体的な日付が決定していないこともあります。いつまでに終わらせる必要があるかが定まっていないためにDB移行の作業配分を上手く把握しきれず、作業がいつまでも調査段階から進まない状態が続いてしまいました。
その結果、DBの移行タイミングが決まる頃には時間が足りなくなってしまっており、スケジュールや人員の見直しに迫られてしまった…という状況に陥ってしまいました。

 

このケースでの問題点をまとめると下記のようになります。

  • リーダーが調査作業を多く請け負ってしまい管理に集中できなかったこと
  • 調査の具体的な目標(成果物)を決めていなかったこと
  • 全体のスケジュールと進捗状況を把握しきれていなかったこと

割り当てる作業の成果物を明確にすることや、全体スケジュールを把握したうえで、それぞれの作業スケジュールを割り振ることがとても重要なケースでした。

 

ケース2(ECサイト開発)

二つ目のケースは私が参画したECサイト開発のプロジェクトの話です。開発の規模が大きく海外を含む複数の会社からメンバーが参画しており、私も協力会社の一員として参加していました。また、参画人数が多いことから複数のチームを立てて進めることになっていました。
このプロジェクトの概要は下記通りです。

  • ECサイトを新たに作成し、既存のものから移行する
  • 規模が大きいため、工程ごとにチームを分けて開発を行う。
  • 細かく開発期間を区切り、その中で機能毎に分けて開発とリリースを行う

自分は開発工程の最後に当たる品質評価のチームとして参画していました。概要にあるように、エンドユーザーの意向で開発方式として(アジャイル開発のように)短期間に機能単位で開発とリリースを繰り返して完成に近づけていくような手法がとられました。各開発期間と実装するべき機能のスケジュールは細かく定められていて、自分の参画する品質評価のチームは開発工程の最後に、リリース直前の成果物の品質評価を行う役割でした。

プロジェクトスタート後、品質評価を行っていくと様々な問題が発見されるような状態でした。原因を調査したところ、時間が足りず各工程での確認やテストが十分に行えていないことがわかりました。また、複数のチームで構成されているためチーム間の連携が十分に取れていない状態となっていました。

当然品質評価で問題があると判断された場合は修正対象となり、修正している間に次に実装する機能の開発期間が足りなくなる悪循環に陥り、最終的にスケジュールやチームの体制から見直されることとなりました。

 

このケースでの問題点をまとめると下記のようになります。

  • エンドありきのスケジュールが引かれ、実際の工数と見合っていなかったこと
  • チーム間の連携が上手く取れておらず仕様などの認識に差があったこと

開発期間が十分ではなかったのは「実際にどれくらいかかるか」ではなく「いつまでに終わらせなければならないか」で組まれてしまったために非常にタイトなスケジュールになってしまったからであると考えられます。また、チーム間の連携に関してもスケジュールがタイト過ぎたためにチーム間でのコミニュケーションを十分にとる時間が確保できなかったことが原因でした。

 

まとめ

以上、紹介した二つのケースから得られた大切なことをまとめると以下のようになります。

  • 可能であればスケジュール管理を専任する人員を確保すること
  • 目標(成果物)を明確にすること
  • 目標を達成するために無理のない作業の期間を定めること

いずれもスケジュール管理の基本的な考え方でありますが、プロジェクトの規模が大きくなるほどに難しくなる項目でもあります。スケジュール管理に携わる場合は基礎的なことを忘れず無理のないスケジュールを組み立てられるようにしたいですね。