”アジャイルパートナとして活動するためには,ガバナンスにおけるアーキテクチャの役割を根本的に変えることが必要だ”,とJan van Santbrink氏は言う。アムステルダムで行われたAgile Governanceカンファレンスで氏は,アジャイルの考え方と共存する上で,アーキテクチャがガバナンスにおいて担うべき重要な役割についてプレゼンテーションを行った。
アジャイルとアーキテクチャが連携しなければならない理由は何か,アジャイルの意思決定(decision taking)に対してアーキテクチャはどのような支援を行い得るのか,アーキテクチャを実践する開発のメリットは何か。InfoQは氏にインタビューして,これらを確かめることにした。
InfoQ: アーキテクチャとは何なのか,考えをお聞かせください。設計との違いはどこにあるのでしょうか?
Jan: アーキテクチャはコンポーネントのレベルであって,そのコンポーネントのあり方や実現方法を定義するのが設計です。アーキテクチャは複数のアプリケーションに及びますが,設計はひとつのアプリケーションを対象としている点も違います。
InfoQ: アジャイルとアーキテクチャの連携が重要なのはなぜでしょう? それがない場合はどうなるのですか?
Jan: 重要なのは,アーキテクチャとアジャイルが常に両立するように,互いに協力することです。どちらにも不必要な作業を避けるためには,連携が必要だと考えています。もし連携しなければ,チームソリューションが企業レベルの構想に合わないものになり,開発コストや維持コストの上昇につながるでしょう。
InfoQ: 先日のプレゼンテーションでは,SAFe(Scaled Agile Framework)にアーキテクチャが組み込まれている状況を説明されていましたね。それについて,詳しく説明して頂けますか?
Jan: SAFeではアーキテクチャを出発点として重視した上で,アーキテクチャの機能を定義しています。これらの機能はバックログに積まれて,ビジネスオーナによって優先度を付けられます。何らかの機能を開発して多数のビジネス機能をサポートすることが必要ならば,ジャスト・イン・タイムの別々のスプリントへ向かうランウェイに加えられるのです。
InfoQ: 意思決定におけるアーキテクチャの役割にも触れていましたね。トップマネージャが望む意思決定とはどのようなもので,アーキテクチャはそれをどのようにサポートするのでしょう?
Jan: トップマネジメントの任務はビジネス上の問題を解決することです。アーキテクトは,問題に対するソリューションの提案やメリット,デメリット,リスクの定義を行って,適切なソリューションへの同意を得ることでそれをサポートします。これは高レベルのソリューションですので,設計や開発を行う前には詳細化が必要です。
InfoQ: アジャイルを採用する企業でも,これらの決定は必要なのでしょうか? やはりトップマネージャがその任を担うのでしょうか,あるいはチームレベルまで降りることになるのですか?
Jan: アジャイルが自動的に問題を解決する訳ではありませんから,意思決定はいつでも必要です。意思決定は組織のすべてのレベルで発生しますが,戦略的な決定が運用レベルで行われることはないはずです。もし行われているのなら,それは組織に問題があります。
InfoQ: アーキテクチャとアジャイルは,両立することの難しい,異質なものと理解されることもあります。この2つが組み合わされて,お互いをサポートするような例はありますか?
Jan: エンタープライズアーキテクチャ(EA)が常にトップダウン的な性質を持つのに対して,アジャイル設計はボトムアップ的な性質を持っていると思います。チームがソリューションとプロジェクトアーキテクチャを備えれば,この2つを両立することは可能なはずです。EAが提供する,既知の依存関係に基づいた適切な作業パッケージに対して,アジャイルチームの方では,実際に運用されているガイドラインに基づいたフィードバックを提供するのです。
InfoQ: アジャイルのコンテキストで,エンタープライズアーキテクチャとしてTOGAF(The Open Group Architecture Framework)を使用した例はありますか?
Jan: 私の意見としては,TOGAFはエンタープライズアーキテクチャにのみ関連するものですから,組織に対して安定性を求めます。アジャイルEAの導入によるアジリティは,アジャイル開発チームとはまったく違うものになるでしょう。
InfoQ: アーキテクチャの導入は,開発に対してどのようなメリットがあるのでしょう? どの程度の投資が必要なのでしょうか?
Jan: メリットとしては,
a. バリューチェーンが,ステークホルダの発見を支援する
b. 構成要素と依存関係が,適切な作業パッケージとチームの編成を支援する
c. トップマネジメントの承認の下で,不必要な変更を排除する
d. 標準とガイドライン投資金額は組織によって大きく違いますから,一概には言えません。