システム開発プロジェクトを成功に導くためには、コツを押さえたうえで運営していくことが大変重要です。プロジェクトマネージャーのスキルはもちろんのこと、プロジェクト全体で守るべきコツを重視しなければなりません。
この記事では、プロジェクトの成功の秘訣となる7つのコツ、プロジェクトを進めるためのタスク、プロジェクトマネジメントを効率的に行うツールを紹介します。プロジェクトマネージャーとして、あるいはプロジェクトメンバーとしてシステム開発を進める際には、ぜひこの記事を参考にしてみてください。
プロジェクトマネジメントを成功に導くためには
プロジェクトマネジメントで重視すべきポイントは大きく以下の5つに集約されます。
- 目的の明確化
- タスク管理
- スケジュール管理
- 品質管理
- コミュニケーション
プロジェクトマネージャーのスキル、プロジェクト全体の計画と準備、プロジェクトメンバーのスキルはプロジェクトを大きく左右します。
しかし、プロジェクトとしての基本が守れていれば、ほとんどのプロジェクトは成功するといっても過言ではありません。プロジェクトのコツを押さえたうえで無理のない計画で進めていくことがプロジェクト成功の秘訣ともいえるのです。
プロジェクトマネジメントを成功に導くコツ7選
プロジェクトマネジメントを成功に導くためのコツは数多く紹介されています。その中でも、先ほど紹介した5つのポイントをさらに細分化したコツは以下の7つです。本章ではプロジェクトを成功させるためのコツを解説します。
- 優先順位をつける
- タスクを分解する
- スケジュールを意識する
- 細かなコミュニケーションを図る
- 目標を明確にする
- 進捗状況を把握する
- 品質を意識する
優先順位をつける
プロジェクトには優先して対応すべきことと、必ずしもそうでないものがあります。
たとえば、要件であれば「入力から出力までの待ち時間は3秒以内」、開発期間であれば「コアモジュールの仕様は共通インターフェースの関係から3ヶ月以内に開発を完了」といった具合です。要件の優先順位づけはプロジェクトの手戻りをなくし、開発期間の定義は全体スケジュールのクリティカルパスを決めるうえで大変重要です。
優先順位をつけずにプロジェクトを進めると何をすればよいかが不明確になり、タスクがあふれたり、手戻りが発生したりするため大変危険ともいえます。タスクに優先順位をつけるよう意識しましょう。
タスクを分解する
作業を効率よく進めるためには優先順位づけとともにタスクの分解も重要です。
タスクの分解を行うことで実際の作業が明確になり、作業の効率化だけではなく品質も担保できるためです。何をしなければならないか明確でなければ、その場で考えることが多くなり、その時々の判断で異なる成果物が作成されるおそれがあります。タスク分解ができれば所要時間も算出しやすくなるため、時間と工数の管理がしやすくなるメリットもあります。
スケジュールを意識する
プロジェクトで重要な点のひとつがスケジュールです。各タスクをスケジュールする際は、無理のないスケジュールを作成することが重要です。無理のないスケジュールを作成するためには、タスク量、所要時間、かかる工数、人員リソースを算出し、スケジュールに落とし込む必要があります。スケジュールありきで制約を課すと無理が生じることが多いため、注意が必要です。
そのうえで、スケジュール上のクリティカルポイント、マイルストーンを決め、スケジュール通りに作業が進んでいるか進捗を管理することがポイントです。
細かなコミュニケーションを図る
プロジェクトを円滑に進めるうえで、コミュニケーションは重要なポイントのひとつです。
風通しがよく明るい雰囲気のプロジェクトは、メンバーのモチベーションが上がりやすく、問題が発生した場合も助け合う環境が醸成されます。プロジェクトマネージャーやチームリーダーは細かなコミュニケーションをとりましょう。タスクの目的を明確に伝えるとともにメンバーの異変にいち早く気づき、迅速に対応することがプロジェクトにおいて非常に重要です。
目標を明確にする
プロジェクトを成功に導くために目標を明確にすることも重要です。目標や目的を理解しないまま進めても、何が成果であるのかわからなくなるためです。目標や目的はわかりやすい言葉でメンバーに伝えましょう。難しい数値や理論ではなく、理解しやすくシンプルな言葉で伝えることがポイントです。
進捗状況を把握する
プロジェクト進行で最も気をつけるべき点のひとつが進捗管理です。進捗管理は定期的に行い、進捗に遅れが生じている場合はスケジュールの組み直し、リソース増強、スコープ見直しなど判断しなければなりません。
進捗管理を正確に行ううえで、進捗状況を正直に報告できる環境を整えることも重要です。
進捗に遅れが生じると正確な状況を報告しづらくなりがちです。スケジュール通りと報告せざるをえない雰囲気を作り出してしまうと、かえってプロジェクトに重大な影響を与えかねない事態に陥ります。そうしたことがないように、先ほど解説したコミュニケーションに気を配るよう意識することが重要です。
品質を意識する
いくらプロジェクトが円滑に進んでも、成果物の品質が悪ければ意味がありません。品質を担保するために、要件定義書、設計書は正確なものを作成し、プロジェクトメンバーがいつでも参照できるように共有しましょう。開発時の規約も定義書として作成する必要があります。成果物はレビューを行い、バージョン管理を行うことも重要です。
品質に対する高い意識づけはもちろん重要ですが、プロジェクトメンバー間で偏りが出ないようにシステム化することが品質管理の鍵を握ります。
プロジェクトを進めるためのタスク
プロジェクトマネジメントの視点でみた場合、プロジェクトを進めるために必要なタスクは以下の7つです。
- プロジェクト計画の作成
- 人員リソースの確保
- プロジェクトの実行
- 進捗管理
- 課題管理
- システムのカットオーバー
- 振り返りの実施
本章ではプロジェクトを進めるためのタスクを解説します。
1.プロジェクト計画の作成
まず、事業内容やIT推進計画にもとづきプロジェクトを立ち上げます。その際、プロジェクトリーダーとコアメンバーがプロジェクト計画を作成します。作成したプロジェクト計画はプロジェクトオーナーの承認を得なければなりません。プロジェクト計画に盛り込むべき内容は以下のとおりです。
- プロジェクトの目的
- プロジェクトで得られる効果
- プロジェクトのスコープ
- プロジェクト期間
- プロジェクトの予算
- プロジェクトの体制
2.人員リソースの確保
プロジェクト計画にもとづき人員リソースの確保を行います。この際、まずチームリーダーをアサインしなければなりません。プロジェクト計画の体制にもとづき、以下のチームに対して各リーダーをアサインします。
- 業務チーム
- 開発チーム
- 移行チーム
- インフラチーム
上記のリーダーを選出し、各チームに必要なメンバーをアサインします。この際、開発チームやインフラチームは役割ごとに細分化されることもあるため、その場合はサブチームに細分化したうえでリーダーをアサインし、さらにメンバーをアサインします。
3.プロジェクトの実行
体制ができたところでキックオフミーティングを実施します。全体会議としてメンバーが召集されることもあれば、各チームでキックオフをする場合もあります。
プロジェクト期間中は各チームの役割にもとづきタスクを実行しますが、チームを横断するようなタスクに関しては協業しながら進めることが一般的です。たとえば、性能に関する問題では業務チームのほかに、開発チームやインフラチームのリーダーが合同で打ち合わせに参加し、解決方法を協議するといった例があります。
4.進捗管理
プロジェクトの開始後、進捗管理を行います。チームごとに朝会、夕会を開いて進捗状況を確認したり、週次で進捗報告会を行ったりするケースもあります。スピード感が求められる場合、短期間に都度進捗確認をするケースが一般的です。
なお、プロジェクト期間によってチーム編成やメンバーが変わることもあり、引継ぎやキャッチアップを漏れなく行うことが非常に重要です。
5.課題管理
プロジェクト期間中に発生した課題について、課題管理を行い進捗会議内で共有します。必要に応じて別途討議の場を設け、関係チームを招集して解決することもあります。その場で判断が下せないものはエスカレーションを行い、プロジェクトマネージャーやプロジェクトオーダーに判断してもらうことも重要です。
6.システムのカットオーバー
システム開発、テストを行ったのち受入テストを行い、移行期間を経てシステムはカットオーバーします。移行方法とカットオーバーは開発手法によって変わるため、カットオーバーの日付が明確に決まっていない場合もあります。
カットオーバー後は障害発生時の対応として特別な期間を設けることが一般的です。特にシステム稼働直後は問題が発生しやすく、特別な体制をとり迅速に対応しなければなりません。システムが安定稼働したことを見届けてから、通常の運用フェーズに移行します。
7.振り返りの実施
システムが安定稼働し、プロジェクトが正式に終了する際にはプロジェクト全体の振り返りをします。
プロジェクト全体をとおしての総括、評価できる点、反省すべき点を明確にして、次のプロジェクトに活かすよう記録を残します。重要な点は、総括だけではなく次回につなげるために引継ぎやナレッジトランスファーを行うことです。ナレッジを残すために、システム部門やプロジェクト推進部門に記録を残し、ケーススタディとして定期的に勉強会を開催します。
質の高いプロジェクトとシステム開発のためにも振り返りの実施とナレッジの共有が非常に重要です。
プロジェクトマネジメントを補完するツール
プロジェクトマネジメントを成功に結びつけるためには、効率的な管理とコミュニケーションが大きな鍵を握ります。本章ではプロジェクトマネジメントを効率的に行うためのツールを4つ紹介します。
スケジュール管理ツール
プロジェクトに限らず、仕事をするうえでスケジュール管理は重要です。
特にプロジェクトの場合は、タスクと開始日時、終了日時、依存関係がわかるツールが使用されます。一般的によく使用されるのがWBSやガントチャートです。それぞれ特徴がありますが、いずれもタスクごとに開始日時、終了日時、依存関係が視覚的に把握できます。
従来はエクセルで作成したものがテンプレートとして使用されてきましたが、最近ではツールとして提供されているものもあります。汎用性の面からも、こうしたツールを導入した方がよいでしょう。
課題管理ツール
課題管理ツールは、プロジェクト内で発生した課題を登録し、ステータス管理するツールです。課題の解決方法や、解決に向けた進捗状況を確認できます。インシデント管理ツールとリリースツールが連携したものもあり、課題の解決と成果物を結びつけやすい点がメリットです。Backlogといったツールが使用されています。
バージョン管理ツール
バージョン管理ツールとして一般的に使用されているのがGitHubです。バージョン管理ツールを使用することでソースコードが混在して最新バージョンがわからなくなるといった問題が起こりません。GitLabを使用すればCI/CDパイプライン、セキュリティチェックといった機能が統合されており、バージョン管理からリリースまで一連の作業を実行できます。
コミュニケーションツール
従来、コミュニケーションツールといえばメールが一般的でした。しかし、現在ではリアルタイムコミュニケーションを図れるものが数多く導入されています。一般的に知られるのが、ChatworkやSlackです。プロジェクトにスピード感が求められるようになり、今後、リアルタイムでコミュニケーションできるチャットツールはますます増えていくことでしょう。
まとめ
今回はプロジェクトマネジメントを成功させるためのコツを解説しました。
プロジェクトを成功させるためには、目的の明確化、スケジュール管理、進捗管理、品質管理、タスクの細分化と優先度づけといった基本的なことを守ることが重要です。もちろんプロジェクトマネージャーやプロジェクトメンバーのスキルも重要ですが、それ以上にプロジェクトを規律正しく運営していくことが求められます。
プロジェクトを効率よく進めるうえで、さまざまなツールを導入することもコツのひとつです。その際にはスケジュール管理、コミュニケーション、インシデント管理といったツールを駆使して、プロジェクトの品質を上げるように努めるとよいでしょう。
プロジェクトの運営、あるいはプロジェクトに参画する際には、ぜひこの記事の内容を思い出し実践してみてください。