BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ アーティクル SOAガバナンスは必要不可欠のものか?それとも時間の無駄か?

SOAガバナンスは必要不可欠のものか?それとも時間の無駄か?

ブックマーク

「ガバナンス」という言葉は、ここ暫くの間、IT系の出版物やカンファレンスの中で普通に使われるようになってきました。しかし、技術的な輪の中において、そのような議論は良くてあくびを引き起こすものであることがしばしばです。この記事では、デベロッパーフレンドリーなSOAガバナンスのガイドを提供し、設計段階から次の段階の運用時のガバナンスに至るまでのITガバナンスの一般的な考え方から話を始めています。

SOA イニシアティブが進行中の組織を想像して下さい。皆がいきいきとし、イニシアティブによって豊富な予算も組まれ、新しいビジネスや技術を生み出す機会があります。変化しているような感覚はあるものの、皆がいくらかのプレッシャーを持っています。この状況下の中心に、「S. Governess夫人」がいます。彼女にはサービスに関する全てのことをスムーズに動かさなければならないという責任があります。さらに、SOAが目指す大きな目標や組織の利益にも注意を払わなければなりません。私たちのGoverness夫人は、日々のビジネスや技術の詳細には関与しないでしょう。しかし、戦略を準備し、責任を明確化し、定期的にイニシアティブを監視しています。彼女は、SOAの経費を最高のROIを達成するように使用し、ビジネスサービスがサービスの実装によって可能な限りベストなサービスをサポートしなければなりません。結局のところ、彼女が最高の管理レベルと会社の資本金を握っていることになります。それ故、彼女の意見が非常に説得力のあるものとなります。言い換えれば、S. Governess夫人が権限を行使し、少なくとも会社のSOAに関与しているということです。

しかし、待ってください。それは、経営陣の役目ではないのでしょうか? 経営陣はSOAの成功に関心を持つべきではないのでしょうか? 理屈では「Yes」となります。(ご存知のように大抵は理屈とは異なるのですが、)現実問題として、マネージャは大抵自身の検討課題(時には隠された課題さえもある)を持っていて、それらのほとんどが組織の長期目標に反するものです。例を挙げれば、プロジェクトマネージャが戦略的な目標よりも自身のプロジェクトのスケジュールに重きをおいたりします。それ故、S. Governess夫人は、組織自身のためだけに向けられたある種のスーパーマネジメントを行います。彼女の仕事は、コントロールしたり、規範を定めたり、命令したりといったことであり、丁寧や紳士的におこなうものではないということです。

彼女の仕事の説明は、新しい規範である「SOAガバナンス」の青写真として役に立ちます。それは、仕事中に楽しみを作ったり、開発者の手で最新技術を持つといった類のものではありません。むしろ、SOA予算の使用やそこから得られるものの関連といったものです。そういうわけで、ガバナンスは私たちソフトウエア開発者やアーキテクトといった人たちにとってあまり人気がありません。おそらく、(私もそうなのですが)ガバナンスプログラムが始まった後でささやかな楽しみを得ているのだと思います。しかし、安心して下さい。それにより組織や企業が適合し、将来的には健全な状態となるでしょう。それに関しては少し議論する価値があります。

SOAガバナンスの詳細に入る前に、S. Governess夫人の広大な知識の中のお気に入りの原理の1つを説明させて下さい。それは、「企業と組織は、2つの一見矛盾したものを必要とする」というものです。:

まず始めに、「命令とコントロール」が必要です。そして、規範、判断、治安維持、執行する人・・・といったものを必要とします。これらによりガバナンスが動き始めます。しかし、注意して下さい。ソフトウェア開発者やアーキテクトは、そういったものが好きではありません。しかし、絶対にやらなければならないものなのです。

次に、特に頭脳労働者のために、クリエイティブかつポジティブに作業できる環境を用意するといった、いわゆる自由を必要とします。「アジャイル」全体のムーブメントは、そういった作業の側面を改善するものの対象となります。

特にITの組織においては、命令とコントロールといった側面は、頭脳労働者の生産性を妨げるものと考えられることがしばしばです。私は、ここで全体主義者の話をしているのではありません。ガバナンスでは、(よく言われるが滅多に達成されることのない)ビジネスとITの調整を最適化しようとする考えのもと、適切な量のコントロールを行おうとします。よく、ITの人はビジネスに関心が無く、ビジネスの人はITの人に関心が無いと言われます。しかし、密接な協力によってのみ企業の成功を確かなものとすることができるのです。

故に、ガバナンスはとても必要なものです。適切にガバナンスを行うことで、企業が成功へと導かれるのです。ハーバードの教授であるWeill氏とRoss氏は、[Weill-Ross]の中で、成功したITガバナンスがより大きな収益をもたらすことを立証しています。ガバナンスの欠如は、長期の失敗のリスクを高い確率でもたらします。

ガバナンスの分類

より深い詳細に立ち入る前に、ガバナンスの仲間全体を見てみましょう(図「ガバナンスの階層」を参照)。S. Governess夫人は、より大きな家族の中で生活しています。彼女にはコーポレートガバナンスと呼ばれるお姉さんがいて、「コンプライアンス夫人」というニックネームがつけられています。彼女のゴールが世界平和の中で少しだけ達成されます。つまり、企業内で起こる全てのことが収益へと向かうようにします。要するに、彼女は企業の価値と資産を行っている人なのです。

図1:ガバナンスの階層

次に、妹のIT Governessの登場です。彼女の仕事は、ITとビジネスの関係に注力することです。沢山のオンラインや紙の出版物に、彼女の仕事(ITガバナンス) がとても細かく記載されます。例えば、[ITGovBB] の「IT ガバナンス研究所」(ITGI)や、Peter Weill氏とJeanne Ross氏[WeillRoss]による優れた書籍「ITガバナンス」があります。彼女の責務とタスクは、彼女の妹(我々が先ほど会ったS. Governess夫人)のガバナンスを決定することです。

下図は、[ITGovBB]から抜粋した「ITガバナンスの分野に注力する」です。ITガバナンスの作業の結果です。非常にハイレベルだと思いませんか?

図2:ITガバナンスの分野に注力する

ITガバナンス

IT ガバナンスは、SOAガバナンスの基礎を作ります。つまり、SOAの組織において共に手を携えなければなりません。ITガバナンスによって、全てのIT関連の活動が長い期間満足の得られるような組織の目標に向けられます。ITガバナンスの第一人者であるPeter Weill氏とJeanne Ross氏が、「ITにおける価値のある行動をとるための正しい判断と責任ある体制」を鮮やかに定義しています([WeillRoss]より)。もう一度言います。ガバナンスにより価値のある行動を促進します。ガバナンスは、適切な「命令とコントロール」の骨組を提供します。それは、ビジネスが繁栄するために必要となる十分な自由を残し、アナーキーで混沌とした状態を避けるために、個人とプロセスをコントロールするのに必要なレベルを適用するのです。

私がガバナンスを始めたとき、実践するための理論を要約するのが本当に難しいということがわかりました。故に、価値のある行動に関する実際の例を見てみることにしましょう。以下は、[Ashar+07]からの抜粋です。:

「何故多くのハイブリッド車が、カリフォルニア州においてこの12ヵ月で登録されたのでしょうか? それは、ハイブリッド車の所有者に与えられる連邦税額控除が1500ドル以上だからでしょうか、あるいは、通勤時間の間、相乗り専用レーンを一人乗車で運転する贅沢を味わうためでしょうか? あるいは、カリフォルニアの人たちの環境への意識の高まりからでしょうか? 本当の理由がどうであれ、現実には政策によって価値のある行動(即ち、低燃料車の購入)が促されるようになったということです。これがガバナンスの一例です。政策によって価値のある結果がもたらされたのです。」

簡単ですよね? しかし、あなたはまさにこのような質問をするのではないでしょうか? 「ITガバナンスによってどのようにしてゴールを達成することができるのでしょうか?」、「ITにおいて、"価値のある行動"を成し遂げるにはどうしたらよいのか?」

その答えは、ITGovernesse夫人が答えるべき4つの問題に潜んでいます。:

  1. IT関連の決定のどれを採用するのか?
  2. どの役割、あるいは人々が、それらの決定を行うのか?
  3. これらの決定はどのようにして行われるのか?
  4. その結果はどのようにしてチェックされるのか?

あまりにたくさんの作業のようには聞こえませんね? 図「鍵となるガバナンスの問題」で、それらの鍵となるガバナンスの問題をまとめます。:

図3:鍵となるガバナンスの問題

ITガバナンスのメリット

しかし、あなたは「何故そんなに騒ぐのか?」と尋ねるかもしれません。ITガバナンスから得られるメリットは何でしょうか? 私は、非常に印象的なメリットの一覧をお見せします。(ためらうことなく、あなたのマネージャーにフォワードして下さい)

  • より高い利益: 独自の研究により、効果的なITガバナンスで組織の利益がより高くなることを立証しました。ハーバード大学大学院経営学研究科では、20パーセントの超過がもたらされると数値で示しています。
  • 設備投資の制御: IT投資は、大きな設備投資となります。多くの企業は、一年の投資額の約50パーセントをITに費やします。
  • ROIと価値の達成: 現在の組織はITに投資しますが、それらの投資によって生み出された価値の確認を十分に行いません。ガバナンスにより、ROI測定を促進するためのメカニズムを監視することができます。
  • 効果的な意思決定: IT関連の決定に関わる多くの人たちによって、効果的な意思決定プロセスを行うための正当な理由がもたらされます。例えば、ビジネスラインの管理者でさえ、今日ではITの出費に影響を及ぼします。
  • バランスのとれた問題解決: 費用対効果と柔軟性という矛盾するビジネスゴールは組織全体でバランスをとることが求められます。ITガバナンスにより、それが適切に行われます。

あなたの組織または会社が、未だITガバナンスを適切に行えていない場合に備えて:SOAイニシアチブによって、今日、ITガバナンスとSOAガバナンスを始めるための十分な理由が与えられます...

SOAガバナンス

では、ITガバナンスの簡単な概要を説明します。「SOAガバナンス」が本当に意味するところは何でしょうか? あなたが一般的なサービス指向アーキテクチャ(SOA)に精通していると仮定します。SOAを採用して運用している組織は、サービスのライフサイクルにある多くの問題について注意を払う必要があります。いくつか挙げてみましょう。:

  • ビジネスプロセスの設計: サービス指向の手法によりビジネスプロセスを作成し、機能要件と非機能要件を分析します。
  • 既存の投資を活用するためのサービスの再利用し、既存のサービス全体の価値を高めます。
  • 他の組織や顧客のために(サービスレベルアグリーメントを決め)サービスを提供します
  • 機能要件、非機能要件両方に関連するものに対し、サービスの品質を保証し、テストします
  • アーティファクト、設計、技術サービス基盤の実装によって、変換、暗号化、圧縮、認証、認可といった基本的なサービスの再利用を可能にします。
  • サービスコンシューマとプロバイダのためのサービスに関するビジネス面、技術面両方に適したドキュメント
  • 運用時のサービスの振る舞いのモニタリング: 特定のサービスがどのくらいの頻度で呼ばれているのか? どのような種類のパラメータか?  どういったコンシューマか?  彼らはプレミアム(有料の)バージョンを利用したのか? あるいは、無料で利用できるバージョンにこだわっているのか?

これらの問題全てに多くの人が関係しているでしょう。サービス実装のためのビジネス要求からサービスが提供されて運用されるまでの長い期間にわたり、文字通り、多くのドキュメント、モデル、ログファイル、その他のアーティファクトといったものが作られています。

本稿の始めに、私はコントロールの必要性について述べました。ここで、その言葉をふり返ります。SOAでは、ドキュメントとアーティファクトに関して厳しいコントロールが必要になります。いつでも利用できるサービスを取得・維持するために必要となる全てのものは統治される必要があります。それは単に、自社開発主義症候群を避け、最大限再利用することです。(アジャイルの)ソフトウェア開発者のように、あなたはそれが好きではないかもしれません。私は、冒頭でそれを予測していました... しかし、もしあなたの組織が長い目で見たときにSOAを成功させたいと考えているのならば、あなたはそのコントロールを必要とするのです!あなたが私の言うことを信用していない場合に備えて:ガートナーグループの技術に友好的な人々でさえ、SOAイニシアチブのほとんどが技術的な理由よりもガバナンスの欠如により失敗している可能性が高いと予測しています。(参考[Gartner])

すぐに、必要な行動にとりかかりましょう:あなたがSOA(もしくは、一般的なIT)をコントロールする必要があるとき、2つのはっきりと区別できるフェーズがあります(Lori MacVittie氏は、彼女の素晴らしい記事[MacVittie06]の中でそれらを「timers」と表現しています)。第一に設計段階あるいは開発段階です。第二に運用あるいは実行段階です。どちらも共通した重要な側面(つまり、メタデータです!)を持っていて、互いに影響を及ぼし合っているので、両方に注意を払う必要があります。それらを順を追って議論しましょう。

設計段階のガバナンス

設計段階のガバナンスでは、ソフトウェア開発サイクル全てのフェーズと活動をコントロールします。それは、要求管理の早い段階から始まり、アーキテクチャ、実装、テスト、品質保証、ドキュメント化からサービスが利用できるまでに至ります。ビジネスあるいは要求を想像して下さい。アナリストが次世代のビジネスサービスに関する要求機能を書き留めています。設計段階のガバナンスによって、アナリストが既に利用可能であるものに関する情報の全てを見つけられるようにしなければなりません。そうすることで、彼の仕事に必要な時間を削減することができます。暫くの後、ソフトウェアアーキテクトかサービスアーキテクトが適切なソリューションアーキテクチャの設計を開始します。再度言います。ガバナンスによって既存のアーティファクト、ドキュメント、(UML)モデル、さらにはサービス契約までもがすぐに利用できるようになっていなければなりません。(検索がより早くなると同時に再利用性も促進されます)

設計段階のガバナンスの形式は価値のあることです。つまり、開発サイクル全体で作成・利用された全ての資産(ドキュメント、モデル、プレゼンテーション、バグレポート、評価、コンセプト、特に、サービス記述やサービスインターフェースといったものなど)をコントロールします。多くの開発者は、こういったことをサポートではなく、阻害の類のものであると見なすでしょう。しかし、組織は、長期展望で考え、行動しなければなりません。よって、開発者をしかるべく教育し、このコントロールによるインパクトが最小になるべく、適切なツール(下記参照)を与えて下さい。

最後に、サービス実装が完了したときには、サービスレベルアグリーメントが取り決められ、全てが適切に文書化されテストされます...  これで、あなたのサービスが実行される準備ができました!では、次のフェーズのSOAガバナンスの話を始めます。

運用段階のガバナンス

運用段階のガバナンスは、サービスの実行と動作に関する全てをカバーします。あなたは、どのサービスが、誰によって、どういった種類のパラメータで呼ばれているのかを認識する必要があります。実行環境では、潜在的なパフォーマンスのボトルネックが起こる前に発見されなければなりません。プロバイダとコンシューマの両方に対し同意したサービスサービスレベルに注意を払い、ログファイルや例外の監視をおこなわなければなりません。要するに、サービスの実行に関する全ての側面を継続的に監視しなければならないのです。それとは対照的に、設計段階のガバナンスでは多くの人を巻き込まずにそういったことを行うでしょう。そういった人々、特にS. Governess夫人は、結果を要約したレポートを評価しなければなりません。彼らは、次のサービス設計やイテレーションによる実装(あなたの作業はイテレーションですよね?)に対する多くのフィードバックを受け取るでしょう。

ガバナンスツール

ソフトウェア業界では、SOAガバナンスのサポートを求めるためのツールとして2つの異なるカテゴリで回答しています。それは、レジストリとリポジトリです。共に、サービスメタデータ(サービスに関する全てとも言えます)を格納するのに利用されるべきものです。この用語については気にしないで下さい。設計段階と運用段階のガバナンスに対する適切なツールを必要とするでしょう。私の(ベンダー中立の)立場から見て、あなた自身のSOAプロセスをより小さなプロジェクトやプロトタイプで最初に確立し、その後でSOAガバナンスのツールを購入を検討し始めることは意味のあることです。しかし、ガバナンスに対する適切なサポートを無視しないで下さい。特定のSOAライフサイクルへスムーズに統合するよう努めて下さい。さもなければ、あなたのステークホルダーはそれを受け入れてくれないでしょう。その場合には、Governess夫人でさえ助けてくれないでしょう。.

SOA ガバナンスのツール群はどのような機能を提供するのでしょうか? その答えのために、前のパラグラフを再読して下さい。あなたは設計と運用のサポート両方を必要とするでしょう。あなた固有の機能リストのために、あなた固有のSOAライフサイクルを見て下さい(もちろん、それはあなた固有のものとなるでしょう)。全ての役割と活動が適切なサポートを受けなければなりません。書くのは簡単ですが、達成するのは困難です!それでも、私はS. Governess夫人をサポートするためのツールを評価することを強く提案します。さもなければ、あなたのSOAはエントロピーが最大化し、ROIがゼロの混乱したサービスへとなってしまうでしょう。

要約

ところで、あなたは次のように考えるかもしれません。「SOAガバナンスは簡単。ちょっとしたクールなツールを取得して、ガバナンスを始めれば良いのだから。」それは誤りです。全くの誤りです。もう一度、S. Governesse夫人の言うことを最後まで聞いて下さい。彼女は、効果的なSOAガバナンスのためのステップとして次のことを提案しています。:

  1. あなたの組織特有のSOAプロセスを稼動する。いくつかのサービスを設計・開発して、サービスの利用・提供の経験を積んで下さい。役割を確立し、SOAの活動のための責務を与えて下さい。
  2. どの種類のアーティファクト(文書タイプ)があなたのSOAプロセスに役立つのかを評価する。それらをSOAガバナンスで利用して下さい。つまり、それら(アーティファクト)をコントロールするのです。
  3. サービス運用時にどの種類の情報をモニターする必要があるのかを評価する。あなたは、SLAを追跡する必要がありますか? サービス呼び出しのログファイルを調査したいか、する必要がありますか? 再度言います。あなたが指定した要求は、重要な意味を持つのです。
  4. ITガバナンスとSOAガバナンスを連携する。ほぼ間違いなく、ITガバナンスがSOAガバナンスプログラムにより利益を享受するでしょう(その逆もしかりです)。相乗効果を起こして下さい。確実に、あって得のするものなのですから。

これらのいくつかのステップで、あなたは非常に効果的なSOAとITガバナンスプログラムを始めることができます。もしかしたら、S. Governesse夫人が、そちらに伺うかもしれません:)

参考文献、リンク

  • コーポレートガバナンスと、ITガバナンス
  • [ITGovBB] ITガバナンスに関する概略説明。 オンラインで利用可能です: http://www.itgi.org (英語)
  • コーポレートガバナンス(サイト・英語)
  • ITGI: ITガバナンス協会(サイト・英語)
  • [Weill-Ross]: Peter Weill, Jeanne W. Ross: ITガバナンス: 一流の人たちは素晴らしい結果を残すために、どのようにしてITの決定を管理するのか。ハーバード大学大学院経営学研究科出版、2004年。IT ガバナンスにおいて影響力のある本です。もしガバナンスに関する部分を読みたければ、私はこのWeill & Rossの本を強く勧めます。彼らが書く内容は、明確で具体的、理解しやすい内容でその分野のエキスパートだからです。さらに、彼らは書く技術も十分マスターしています。
SOAガバナンス
  • [MacVittie06]Lori MacVittie: SOAガバナンスを理解する。 オンライン: www.intelligententerprise.com (英語)
  • [Afshar+07]: Mohamad Afshar & Benjamin Moreland: SOAガバナンス成功の鍵(2007年8月)。 オンライン: http://www.ebizq.net/topics/soa/features/7680.html?page=2&pp=1 (英語)
  • [Gartner]: "SOAプロジェクトにおけるガバナンスの仕組みの欠如が、プロジェクト失敗の最も一般的な理由となるだろう(8割の確率で) (Jess Thompson, Gartner)"
  • [Forrester-Jun06]: 2006年6月12日フォレスター・リサーチ: 「SOAガバナンスの影響範囲と焦点」 Randy Heffner、Larry Fulton、Christine E. Atwood著

著者について

Gernot Starke氏は、ソフトウェアアーキテクチャとアジャイル開発の実践において独立したコンサルタントとコーチを行っています。様々な産業(金融、ロジスティクス、通信、製造、行政)の顧客をかかえ、ソフトウェアアーキテクチャの開発、マネジメントにおける20年以上にわたる実践経験によって支えられています。彼は、ソフトウェアアーキテクトのためにarc42 ポータル(サイト・英語)を共同で設立し、主にソフトウェアアーキテクチャに関する多くの記事と本を執筆しました。彼は、(ドイツ語の)書籍「SOA Expertenwissen」(サイト・英語)の著者の一人です。彼は、素晴らしい妻Cheffe Uliと2人の子供たちと共にドイツのケルンに住み、ヨガをやったり、たまに(テノール)サックスをたしなみます。より詳しいことは、http://www.gernotstarke.de(英語)にて。

原文はこちらです:http://www.infoq.com/articles/governance-gernot-starke

この記事に星をつける

おすすめ度
スタイル

BT