ソフトウェアプロジェクト管理のフェーズとベストプラクティス

ソフトウェアプロジェクト管理のフェーズとベストプラクティス

  • ITOps・DevOps
6分で読めます 更新日 Apr 23, 2021

ポイント: ソフトウェアプロジェクト管理は、品質の高いソフトウェア製品を開発するために不可欠であり、発端、具体化、構築、移行という4つのフェーズに構成されています。各フェーズには、時間、品質、コストの制約内で成功したプロジェクトの配信を確保するための特定のタスクが含まれます。

  • 構造化されたアプローチは、製品の提供と継続的な改善を高めます。
  • フェーズは、プロジェクトのスコーピングからリリースおよび閉鎖までのプロセスをガイドします。

より多くの組織がソフトウェアファクトリーとなり、自社のソフトウェア製品を顧客に開発・リリースするようになるにつれて、ソフトウェアプロジェクト管理は不可欠な実践となります。本記事では、ソフトウェアプロジェクト管理の実践を見ていき、組織が高品質なソフトウェアをスケールしプロジェクトの範囲内で構築するための4フェーズアプローチを紹介します。

ソフトウェアプロジェクト管理とは?

プロジェクト管理は、プロジェクトのライフサイクルにおいてリソース制約を最適化しながらプロジェクト目標を定義し達成するための学問です。プロジェクト管理のサブセットとして、ソフトウェアプロジェクト管理は、以下のような変数の中でソフトウェア開発プロジェクトを計画し、提供する実践です:

  • 時間
  • 品質
  • コスト
  • 広範な範囲

ソフトウェアプロジェクトは、要件収集から開発、テスト、製品リリース、そして継続的なメンテナンスに至るまでの多くのステップを含むソフトウェア開発ライフサイクル(SDLC)に従います。(どのように<\/em>製品管理がIT組織を支援するかを見てみましょう。) それでは、4つのフェーズに移りましょう。

ソフトウェア-プロジェクト-管理

フェーズ1:発端

プロジェクトのスコーピングと正当化

ソフトウェアプロジェクト管理の最初のフェーズでは、IT組織が要件、製品機能、リスク、制約、および開発プロジェクトの範囲を特定します。チームは、予算を満たし、最終製品の技術的およびビジネスケースをサポートするための計画を策定します。この計画では、次のタスクを定義します:

  • ソフトウェアプロセスの定義。 高品質な製品の提供を支えるチームと個人の役割、SDLCモデル、およびフレームワークを定義します。
  • 要求工学。 開発および運用プロセスの詳細な仕様と要件を文書化します。必要な機能要件と非機能要件を満たすためのシステムモデルを開発します。
  • 計画と予算。 プロジェクトの範囲を使用して、予算、スケジュール、および必要なリソースを定義します。これらの目標を達成するためのマイルストーンを開発します。ただし、慎重に計画しても、実際の数字は元の見積もりからずれる可能性があることを覚悟してください。

フェーズ2:具体化

必要性の定義

ソフトウェアプロジェクト管理の第2フェーズでは、プロジェクト計画とアーキテクチャ設計を完成させ、検証します。その後、リスクを特定し、適切に管理します。すでにプロジェクトのビジョンと要件に合意しているため、プロジェクト目標を達成するために次のタスクを実行します:

  • リスク管理。 リスクを軽減および管理する方法を理解します。予測されるリスク領域とベストプラクティスの対応ガイドラインをカバーするプレイブックを開発します。
  • モデリングと設計。 技術スタック、製品アーキテクチャ、およびSDLCフレームワークのシステムおよび環境モデルを視覚化またはシミュレーションします。このモデルは、システムコンポーネント間のすべての相互作用と適切な外部要因を考慮します。人気のあるSDLCモデルには、DevOpsとAgileが含まれます。
  • プロジェクト計画の実行。 チーム、管理者、および従業員の役割と責任を割り当てます。必要なツールとサービスを特定し、体系的なガバナンスフレームワークを通じてそれらをプロビジョニングします。

フェーズ3:構築

リソース提供の管理

ソフトウェアプロジェクト管理の第3フェーズは、開発プロセスに直接関与します。定義された要件とユーザーの期待に対して、開発プロセスの進捗を監視します。タイムラインと期待に沿って進んでいることを確認します。また、プロジェクトを支援する従業員に必要なトレーニング、教育、サポートを提供することもあります。このフェーズで実行される重要なタスクには以下が含まれます:

  • 詳細設計。 ドキュメントとアーキテクチャ設計がソフトウェア製品コンポーネント、ビルド、および機能の開発をどのように導くかを説明します。設計パターンを説明し、それらを体系的に追跡します。
  • 品質管理。 ソフトウェアの品質に関する活動および定性的および定量的な指標を特定します。高品質を達成するために、ソフトウェアテストプロセスを通じて分析できる指標を理解します。

(一般的なソフトウェア品質指標を探る)

一般的なソフトウェア品質指標

フェーズ4:移行

製品のリリース

ソフトウェアプロジェクト管理の最終フェーズでは、すべての技術的およびビジネス要件に対して最終製品ビルドを検証します。必要なアーティファクトを完了し、開発チームはソフトウェア開発サイクルの次のイテレーションの準備をする必要があります。最初のイテレーションから得た教訓を適用し、継続的改善をサポートします。使用しているSDLCメソッド論に応じて、特定の機能更新、コンポーネント、または完全な製品をエンドユーザーにリリースすることがあります。移行フェーズの主なタスクには以下が含まれます:

  • 進化。 ソフトウェア開発チームがプロジェクトの次のイテレーションに移行する方法を説明します。イテレーションは、選択したSDLCフレームワークに応じて、ソフトウェアビルドまたは機能コンポーネントを生成する場合があります。
  • フィードバックの収集。 前のイテレーション中に経験した機会と課題を特定し、次のイテレーションでの教訓を適用します。DevOpsフィードバックループはこれに最適です。AgileおよびDevOps SDLCフレームワークに従う組織の場合、フィードバックプロセスはSDLCプロセスの不可欠な要素です。開発プロセスの次のイテレーションでは、制約があるが継続的な改善や要件の変更がある場合があります。このような変更のための準備は、ソフトウェアプロジェクト管理モデルの最初の3つのフェーズで既に含まれている必要があります。
  • プロジェクトの閉鎖。 成功はプロジェクト完了後に測定されます。プロジェクトマネージャーはプロジェクトのパフォーマンスを特定し、合意された範囲と制約(時間、コスト、品質、その他)の中でプロジェクト目標が達成されたかどうかを判断する必要があります。そして、プロジェクトの完了を文書化し、実施後レビューを行います。未使用のリソースを将来のプロジェクト実施のために計上、再配分、または回収します。最後に、関連チームにプロジェクトのパフォーマンスと進化について説明します。

(ソフトウェアのデプロイメントとリリースを比較する)

ソフトウェアプロジェクト管理は成功をサポートする

構造化されたソフトウェアプロジェクト管理の実践の目標は、作業を追加することではありません。むしろ、それは制約の中で製品の提供をサポートする一連のステップとタスクを通じて作業をガイドすることです。どのフレームワークも、時間通りに予算内で質の高いプロジェクトを提供する能力を支援するものでなければなりません。そうでない場合は、ソフトウェアプロジェクトのどのフェーズが不足しているかを確認し、そこから改善してください。

関連する読み物

これらの投稿は私自身のものであり、必ずしもBMCの立場、戦略、または意見を表すものではありません。

ITOps・DevOpsの関連記事

The Briefを購読する

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ありがとう

あなたはThe Briefに登録されました
The Briefはメインフレームとエンタープライズオーケストレーション—BMC AMIとControl-M—および、両者に関するアナリストの研究、顧客の展開、イベントをカバーしています。