開発プロジェクト「統治」のピンポイント解説/パート1:原則と組織(後編)The Rational Edge(1/2 ページ)

前編では効率性の高いソフトウェア開発のガバナンス手法をまとめた。後編では、それらに共通する展開方法を解説する

» 2007年10月02日 12時00分 公開
[Scott W. Ambler, Per Kroll,IBM]

 後編では、a)実質的ガバナンス組織の目的と原則や段階プログラム配布、b)ビジネス主導のプロジェクトパイプラインおよびシナリオ主導開発と呼ばれる組織とミーティングについて説明していく。

 また、前編で紹介したベストプラクティスの中から、メリット、関連トレードオフ(今後の手法を維持するための組織内の必須要件)、アンチパターン(手法に反し、インプリメンテーションの脅威となったり、メリットを打ち消す行動)、そして推奨デフォルト(組織内で当該手法を確立するために取るべき最低限の手順)をカバーする。

目的と原則(実質的ガバナンス組織の目的と原則や段階プログラム配布)

 このカテゴリに含まれる手法は、適切な行動促進のための明確な方向性と基盤原則を提供する。これには次のような手法が含まれる。

  • 実質的ガバナンス組織
  • 段階プログラム配布

実質的ガバナンス組織

ALT 本記事は、IBM developerWorksからアットマーク・アイティが許諾を得て翻訳、転載したものです。

 ガバナンスプログラムは自動的に実行されるものではなく、「ガバナンス組織」と呼ばれる集団が実行する。ガバナンス組織の編成や実行は、ガバナンスプログラム全体の有効性を決定する重要な要因となる。実質ガバナンス組織は、次のようにして最初にIT専門家に権限を与え、次に彼らのコントロールと管理に重点を置く。

  • 効率的に作業ができる環境の作成
  • 状況に特化した戦略、手続き、および手法の推進
  • 利害関係者との迅速なやりとりなど、チームに必要なリソースの提供
  • 想定範囲を逸脱したチームに対する指導、サポート、および助言の提供

◎ メリット

 この手法には主に以下の2つのメリットがある。

  1. 効率的なガバナンスの浸透を推進する。ITチームにとって簡単かつ魅力的なガバナンスプログラムは彼らが準拠する可能性も大幅に高まる
  2. ガバナンスが機能するようになる。組織の目標達成を支援するために組織内で強化を行い、プロセスや治安を有効利用しないと、ガバナンスは活用されず無駄に終わってしまう

◎ トレードオフ

 この手法は複数のトレードオフを伴う。

  • 企業の支援が欠かせない。ガバナンスプログラムは企業のニーズを反映したものでなくてはならない。これを保証するため、ビジネス上の利害関係者はガバナンス組織に積極的に関与する必要がある。IT担当者だけで実質ガバナンス組織を構成することはできない
  • 継続的な投資が必要。ガバナンス組織は十分な人材をそろえる必要がある。また、一般的に長期的な作業になるため、ガバナンスには継続的な投資も必要となる
  • 権限は実施組織に譲る。実質ガバナンス組織はチームに権限を与えることに重点を置いているが、通常の範囲内で確実に作業が進むよう指示を出す責任もある。

◎ アンチパターン

 ガバナンス組織には次のようなアンチパターンがある。

  • ガバナンスのためのガバナンス。これは「抑えの利かない官僚主義」ともいわれ、開発チームが必ず適切なタイミングで適切なマニュアルを作成することを重視するガバナンス組織を指す。このアプローチによってビジネスの実践が改善されることはない
  • ガバナンス全体のコントロール。これは、開発チームに権限を与えず、これをコントロールし、指示することに重点を置くガバナンス組織を指す。ガバナンス組織がチームを準拠させる命令、手順、ポリシーの作成に時間をかけるとこれが発生するのはご存じのとおり

◎ 推奨デフォルト

 IT部門と適切な事業部の両方の命令系統とある程度つながりのある構造を持ち、ガバナンス適性センターと呼ばれる小規模の中心的チームを編成する。

段階プログラム配布

 平均的なITプロジェクトはますます規模が小さくなっている。平均で見ると、規模の小さいプロジェクトの方が結果として成功するケースが多いことは示されてきたし[注2]、生産性が高いことも証明されている。同時に、包括的なビジネスプロセスは、ますます複雑化するITシステムのサポートを必要とする。つまり、大きなビジネス上のメリットを達成するには、共通の目的を中心に据え、リソース、技術、アーキテクチャ、そしてタイムラインのコーディネートが頻繁に要求される一連のプロジェクトを連携させながら進めていく必要がある。これは、プログラムを管理することで実現される。


[注2] The Standish GroupのChaos Report v 3(2003)が、プロジェクトの規模に応じて障害発生率が高まることを立証している。


 効果的なプログラム管理は、プログラム内の全プロジェクトのサブセットが事業目標のコアセットと合致するようプログラムのステージング/スケジューリング方法をうまく処理することでビジネスに徐々に価値を提供していく。一般的に、それには大きな目標を小さく分割し、これらの小さい目標の達成に向けてプロジェクトを割り当てる必要がある。このプログラムは次に、関連する事業目標や小目標をできる限り早急に実現すべく、リソースの割り当てと関連する一連のプロジェクトの管理を推進することになる。これが、

ALT 図2 段階プログラム配布とは、プロジェクトの各グループができるだけ早く差分の価値を提供できるようプログラム内のプロジェクトがグループ分けされていることを意味する。本図はKurt BittnerおよびIan Spence両氏の共著による「Managing Iterative Software Development Projects」(2006年、Addison-Wesley Professional刊)からの転載 (クリックすると拡大

 プログラムのステージを定義したら、そのステージ中のプロジェクトは、図3に示される通常のRUPプロジェクトと同じフェーズでコントロールプロジェクトを通じて管理されるようになる。

 コントロールプロジェクトは統合の管理を行い、リスクと変動の削減に重点を置く管理マイルストーンを提供する。コントロールプロジェクトは、すべてのプロジェクトについて集約評価を行うことで評価される。しかし、プログラム全体のリスクプロファイル評価は、各プロジェクトのリスクプロファイルを集約するだけではできない。プロジェクトを超えての統合に関連したリスクへの対処も保証する必要がある。コントロールプロジェクトを採用することで、プロジェクト内の個々のプロジェクトを柔軟に実行すると同時に、プログラムの協調実行も可能になる。繰り返しは、安定した基準点を提供し、プログラム内のプロジェクトがプロジェクトを超えた有意義な統合を推進および実証可能にするなど、ここでは重要な役割を担っている。

ALT 図3 コントロールプロジェクト経由でプログラムのステージを管理することにより、リスクの削減と価値の創造を効果的に管理することができる。本図はKurt BittnerおよびIan Spence両氏の共著による「Managing Iterative Software Development Projects」(2006年、Addison-Wesley Professional刊)からの転載(クリックすると拡大

◎ メリット

 段階プログラム配布は、特にコントロールプロジェクトを利用している場合に多くのメリットを提供する。

 事業目的重視の効果的な実践。事業目的別にプロジェクトをグループ化し、これらを1つのプログラムとして管理することで主要事業目的をより効果的に達成することができる。

 多くの関連部品の協調リリース。コントロールプロジェクトを採用すれば、リスクと変動の削減や価値の創出を重視した一連のマイルストーンを通じ、そのプログラム向けの明確な統治マイルストーンが提供される。

 段階的な価値の提供。潜在的にかなり大きいプログラムを分割すると、業務上の小目標に関連した価値が段階的に提供される。反復開発テクニックでプログラム内のプロジェクトを管理すると、進化する機能を必要に応じて導入することができる。

 効率の改善。プロジェクトを半分独立した形で実行すると、可能な限りの柔軟性が提供されるため、さまざまなプロジェクトの中で効率的な開発が可能になり、生産性も高まる。しかし、個々のプロジェクトやプログラム全体のパフォーマンス評価も可能にするために、実際は目に見える基準点も必要になる。これらのプロジェクトが反復開発で行われているとの仮定なら、個々のプロジェクトのパフォーマンスは、ファクトベースの評価を使って各反復の最後で評価できる。

◎ トレードオフ

 効率的な段階プログラム配布には2つの重要なトレードオフがある。

 コーディネーションの増大。プログラムの実行にはコーディネーションが必要で、それにはリソースと知識が必要となる。

 遅延のリスク。うまく管理されていないと、最も動きの遅いプロジェクトによってプログラムのリリースが決まる可能性がある。最悪の場合、「肉を切らせて骨を切る」ためにプロジェクトチームの大部分が立ち往生してしまうこともあるが、現実には肉の切られ損になる場合が多い。うまく管理を行い、所定のプロジェクトが継続できない場合は、たとえ一部であっても事業価値を早く提供できるようプログラムの範囲を見直すことが秘訣だ。

◎ アンチパターン

 事業価値別にプロジェクトパイプラインを管理する場合は、次のようなアンチパターンがある。

 最も遅いものに合ってしまう。全体の作業はプログラム内の最も遅いプロジェクトが決める。効率的なプログラムは列車に例えられる。列車は、プロジェクトが時間どおりに進んでいようといまいと決まった時刻に発車する。

◎ 推奨デフォルト

 コントロールプロジェクトで管理される小さいプログラムは、RUPの反復型アプローチに沿った疎結合のプロジェクトと一緒に、RUPの4つのフェーズに従って実行する形を推奨する。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ