大規模システム開発の特徴とマネジメントの難しさ
本記事では、大規模システム開発の特徴とマネジメントの難しさに関する、自身の取り組みをお伝えします。
目次
1.はじめに
2.大規模システム開発の計画段階で押さえるべきリスクと体制構築のポイント
3.プロジェクト運営時の注意点とポイント
4.プロジェクト終盤の山場である移行・切り替え成功のポイント
5.おわりに
1.はじめに
プロジェクトマネジメントは、プロジェクトの規模が大きくなるほど、より重要で欠かせないものになります。大規模プロジェクトでは、対象となる業務領域が広く、関係者も多岐にわたるため、合意形成や優先順位の調整には多くの時間と労力が必要です。また、大規模システム開発は、開発期間が年単位の長期に及ぶことが多く、途中で体制変更や人員の入れ替えが発生することも珍しくありません。こうした変化に柔軟に対応しながら、プロジェクト全体を統制していくには、高度なマネジメント力が求められます。
複数の組織や部門が関与することによって体制が複雑化し、役割や責任範囲の明確化が求められることに加えて、プロジェクト計画の精緻化と進捗管理の徹底が不十分だと、スケジュール遅延やコスト超過が起こりやすくなります。さらに、リスクの早期抽出と各工程でのコントロールや、関係者間の情報共有や意思決定を支えるコミュニケーションの仕組みも、プロジェクトの安定運営には欠かせません。
特に、長期にわたる開発では、当初の要件が陳腐化したり、チーム間や外部インターフェース先との認識にズレが生じたりすることもあり、こうした変化に対応する合意形成のマネジメントも非常に重要です。
私は、これまで通信系、インターネット系、医療系、公共系と様々な分野で四半世紀以上にわたり多くの大規模プロジェクトに従事し、現場で数多くの課題に直面してきました。それらの経験から状況把握力と、状況変化に応じた柔軟な対応力が不可欠であると考えます。
その中で得た知見をもとに、本稿では、大規模システム開発における重要要素であるプロジェクト計画、リスク管理、体制、品質管理、運営、移行...など、どこに成功の鍵があるのかを俯瞰的に紹介します。次回以降の記事では、今回紹介する「2.大規模システム開発の計画段階で押さえるべきリスクと体制構築のポイント」から「4.プロジェクト終盤の山場である移行・切り替え成功のポイント」について、具体的な事例を交えながら、より詳しく掘り下げて紹介していきます。
2.大規模システム開発の計画段階で押さえるべきリスクと体制構築のポイント
プロジェクトの成否は、計画段階でほぼ決まると言っても過言ではありません。特に大規模システム開発では、初期の計画が不十分だと、後工程での修正が困難になり、手戻りや追加コストが膨大になります。
通常の開発プロセスに基づく計画だけでなく、大きな手戻りや問題となるリスクの抽出とリスク回避を優先したスケジュール策定、必要なタスク、マイルストーン設定が計画段階では非常に重要となります。出来るだけさまざまな観点でのリスク抽出が求められます。
例えば、新しいサービスを導入する際の要件定義が曖昧なまま進行すると、お客様と設計者の認識にズレが生じ、開発後半でその齟齬が発覚した場合、大きな手戻りとなります。こうした事態を防ぐためには、計画段階でどのレベルまで意識を合わせるか、誰とコミットしておくかを明確にすることが重要です。また、システムリソースの導入や非機能要件の保証についての計画が不十分である場合は、テスト工程の後半や本番運用開始後に処理性能不足によるレスポンス遅延、バッチ処理遅延等が発生し、システムの運用に大きな影響を及ぼすことになります。
さらに、新しい製品や他社でもまだ導入実績のない製品、その製品組み合わせを採用する場合は、動作保証が不十分であるリスクが潜在的に存在します。こうしたケースでは、製品ベンダーに対して動作状況や制約条件の確認を事前に行うことが不可欠です。可能であれば検証環境を準備し事前の動作確認や、PoCを通じたリスク評価を行うことで、後工程での手戻りや故障の発生を未然に防ぐことができます。
プロジェクトを安定的に運営するためには、必要な体制の確保と役割分担の明確化も欠かせません。特に、複数組織や部門が関与する大規模システム開発では、ステークホルダーとの関係構築が初期段階から重要になります。キックオフミーティングでは、関係者の顔合わせだけでなく、プロジェクトの目的や進め方、役割分担を共有することで、信頼関係の構築と意思疎通の基盤を作ります。加えて、会議体の設計も重要です。意思決定の迅速化や情報共有の円滑化を図るために、定例会議・課題共有会・技術検討会などを目的別に設けることで、関係者間の連携を強化し、円滑なプロジェクト運営を実現できます。
3.プロジェクト運営時の注意点とポイント
プロジェクト計画が整ったとしても、プロジェクト運営中には多くの課題が待ち受けています。特に大規模システム開発では、進捗管理や関係者との調整、品質管理など多方面にわたるマネジメント力が求められます。
例えば、進捗管理については、単に「進捗通り」「遅延」といった工程ベースの表現では不十分です。仮に順調であったとしても具体的な成果物の品質といった本質的な状態が見えないため、WBSやスケジュールに加えて、各機能やシステム領域の出来栄えを俯瞰的に整理しどの領域が完成に近いか、どこに課題が残っているかを一目で把握できるようにするなど、視覚的にわかりやすく伝える工夫が必要です。また、各ステークホルダーへの情報共有は、工程完了時などの節目で定期的に行うことで、認識のズレを防ぎます。外部インターフェース先との調整も、仕様変更やテストのタイミングなど、細かな調整が必要となり、調整力が問われます。
品質保証体制については、各工程で明確に定義し、テストの粒度やカバレッジを確保することが重要です。特に他システムとの連携があるプロジェクトでは、インターフェース仕様の整合性確認が必要です。相手先のシステムが既に運用中であるケースは、テスト調整が難しく、限られたテスト期間内でいかに品質を担保するかが課題となります。
4.プロジェクト終盤の山場である移行・切り替え成功のポイント
プロジェクト終盤の山場となるのが、データ移行、業務切り替え、システム切り替えです。ここでの失敗は、サービス開始の延伸、業務停止やデータ不整合といった、直接的な業務影響につながるため、極めて慎重な対応が求められます。
移行計画は、本番移行期間の単なるスケジュールではなく、リハーサル設計や検証項目の明確化が重要です。特に、現行ドキュメントが無い、もしくは不十分である、データ量が膨大である、バリエーションが多いといったケースでは、事前の検証と準備が成否を分けます。
大規模システムの移行タイミングとしては、データ量が膨大であることや移行後の確認、検証などにも時間が掛かることに加えて、多くのシステムが24時間365日稼働していることから、限られた時間で移行する必要があり、その多くが年末年始やGWなどの長期休暇期間を活用するケースが多いです。限られた時間内での切り替え作業となるため、事前のリハーサルでの作業品質や所要時間を保証しておくことが不可欠です。
本番移行時には、移行データが正しく反映されているか、件数やデータの内容の妥当性を厳密に確認することになりますが、このチェックが甘いと業務開始後に重大な不具合が発覚し、業務停止や顧客対応に追われる事態となります。
5.おわりに
本稿では、大規模システム開発におけるマネジメントの重要性と、その難しさを俯瞰的に紹介しました。多くの関係者が関わり、長期にわたるプロジェクトを成功に導くためには、計画段階からの綿密な準備とプロジェクト状況の確実な把握、状況変化に柔軟に対応することが重要です。
次回は、「大規模システム開発の計画段階で押さえるべきリスクと体制構築のポイント」をテーマに、具体的なプロジェクト計画の不備がトラブルの原因となる事例やリスク顕在化時の影響の大きさ、リスク管理の徹底、体制確保について経験談を交えながら詳しく紹介していきます。


