QsfromBooks
電子書籍名言・引用まとめ

ディシプリンド・アジャイル・デリバリー エンタープライズ・アジャイル実践ガイド

Scott W. Ambler
Mark Lines

Quotes List

現場の声 ── 複雑さはコンポーネントサブチームの動機になる 私の経験では、ソリューションにおけるコンポーネントの数が増えるほど、複数チームが並行して複数コンポーネントに触れるのはより難しくなり、大規模プロジェクトではコンポーネントチームになりがちである。比較的コンポーネントの少ないプロジェクトではフィーチャーチームは上手くいくが、私はより複雑な大規模プロジェクトにはコンポーネントチームのアプローチが向いていると思う。 David L. Brown, IBM Rationals Chief Architect for Systems

既存のプロジェクトマネージャーはDAD チームに合うだろうか? もちろんだ。小規模チームではしばしばアーキテクチャーオーナーがチームリーダーの役割を果たすが、大規模チームでは従来のプロジェクトマネージャーがチームリーダーとなる。しかしながら、これはプロジェクトマネージャーがコマンド& コントロール型からはっきりと距離をおいて自己組織化に取り組む場合にのみ上手くいく。DAD のチームリーダーは従来のプロジェクトマネージャーに比べてほとんど詳細な計画や報告をしないため、DAD プロジェクトにおいてプロジェクト管理はフルタイムの仕事ではない。チームリーダーとしてのプロジェクトマネージャーでさえも袖をまくって職能横断的に他の領域を手伝わねばならない。例えば、モデリングしたり、ユーザー受け入れテストのケースを書いたり、コードも書く。

それでもプロジェクトマネージャーは不要? プロジェクトマネージャーの役割はチーム組織化戦略のどこにも明白に含まれていない。しかしながら、大規模アジャイルチームにおけるプログラムマネージャーの役割はプロジェクトマネージャーの特化した形態である(そう呼ぶチームもあるだろう)。では小規模、中規模のDAD チームではプロジェクト管理をしないのだろうか? もちろんそうではなく、プロジェクト管理だけを行う人がいないという意味である。DADチームは多くの管理活動をチーム自身で協調して行うよう自己組織化されており、チームリーダーによってファシリテートされる。プロジェクト管理はDAD チームにおいても非常に重要であるため、一人の人間に任せきりにはしない。とはいえ、チームリーダーをプロジェクトマネージャーと呼ぶ組織はある。これは経験のある従来のプロジェクトマネージャーがアジャイルに移行しきれないリスクを生じる。なぜなら彼らはアジャイルでのプロジェクトマネージャーの形態の変化に気付かないからである。 この哲学は、従来のプロジェクト管理の考え方に強く影響を受けているプロジェクト管理オフィス(PMO)を持つ組織にとっては大きな違いだろう。実際に、2010年に行われたHow Agile Are You調査によると、半数近くのアジャイルチームが自己組織化されておらず、彼らの組織のプロジェクト管理チームとの文化的な不一致を強く示唆していたことが明らかになった。 既存のプロジェクトマネージャーはDAD チームに合うだろうか? もちろんだ。小規模チームではしばしばアーキテクチャーオーナーがチームリーダーの役割を果たすが、大規模チームで

我々の経験では、DADチームはアジャイルリリース計画と、プロジェクト期間中の何らかの適応的な計画を組み合わせることで、リスク低減の効果を得ることができる。我々は、チームが比較的アジャイルに慣れていなければ、アジャイルリリース計画(簡易に予測型)と適応的な計画型パターンの組み合わせを推奨する。一方、経験豊富なチームであれば、アジャイルリリース計画と簡易に適応的な計画型パターンを推奨する。

マネージャー主導型の計画には明らかな欠点があるにもかかわらず、いまだにIT 組織でよく行われており、アジャイルプロジェクトにおいても同様である。プロジェクトのコスト、納期に加え、スコープまでも、シニアマネージメントから指示されることが頻繁にある。アウトソーシングでは、これらが含まれることは一般的だ。契約条項を明確に定義することでプロジェクトリスクを削減することができるからだ。また、社内プロジェクトでも同様であり、プロジェクトリスクの削減、もしくはチームメンバーの生産性を高めようと間違った取り込みが行われている。結果として、大抵の場合プロジェクトリスクは削減されず、モチベーションは減少してしまう。

なサイズや粒度、リード/ライトのパターンなどの、永続性の要求に応えるための永続化メカニズムに必要なアーキテクチャー上の判断である。その選択を正しく行うための十分な情報が得られるまで、このメカニズムを実装する方法に対する実際の選択は遅らせるべきだった。それが何人かのチームメンバーの履歴書を飾りたいためであればなおさらである。「永続化のためにオブジェクト指向データベースを割り当てるのは時期尚早であり、代わりに何が必要なのかを理解するまで待つことで多額の開発費を節約できただろう。経験したことのない新しいデータベースシステムについて、サポートと保守のメンバーを教育する必要はまったく必要なかったはずだ。」とJimは考えている。

現場の声── アーキテクチャーは先に、詳細は後から IBM Rationalのテクニカル・ソリューション・アーキテクトであるJim Densmoreは、たとえ小さなプロジェクトであっても、初期のアーキテクチャーモデリングに価値があることに気付いた。「90年代後半、我々は電話通信に関する政府の規制環境の急速かつ混沌とした変化に対応するために、大手通信会社の通話ルーティングシステムのプロトタイプに取り組んでいた。私のチームは、通話ルーティングプラットフォームから自動車に向けての呼び出しを合法的に行う方法を、法律の専門家に確認してもらうためのGUI を構築した。重要なアーキテクチャー上の問題はオブジェクトのデータを永続化させる方法であった。チームメンバーの一人がプロジェクトの初期から新技術のすべてについて経験できるよう、商用のオブジェクト指向データベースの採用を提案した。唯一の問題はその新技術だった。今では成熟して非常に便利に利用できるが、当時はまだ草創期であったこともあり、それがきちんと動作するようになるまでに大幅な遅延と費用を負担することになった。構築していく中で、我々はデータストアに関連する実際の要求について多くのことを学んでいった。また、それらの情報の多くがプロジェクト開始時点で合理的に把握していた要求であることに気付いた。時すでに遅しだが、我々が学んだことは、標準的なリレーショナルデータベース、あるいはファイルベースのストレージメカニズムは、永続化のための良い選択だったのだろう、という明白な事実だった。」 このチームのやるべきことは、アクセス速度や書き込み速度、リード/ライトの典型

我々からのアドバイスは、初期のアーキテクチャーモデリングに割く労力をできるだけ少なくし、そして可能な限り選択肢を残した状態を維持することだ。例えば、IBM WebSphereのアプリケーションサーバーファーム、と決めてしまうのではなく、特定の性能特性を持つWebSphereベースのアプローチを使用する、としておこう。単一の大規模なサーバー上で実行するのか、もしくは組織が運用している社内クラウドのサーバーファームなのか、あるいは外部のプロバイダーによって運用されているクラウド上で実行するのか、ということまで後から決めることができる。「この方法しかない」と確信できる最終的な瞬間まで、その判断を引き延ばす(リーン戦略)ことだ。

大規模なチームの場合、求められる詳細度は、チームの文化、組織の文化、あるいは外部からの規制の適用の有無、そして組織戦略に依存する。ほとんどのチームはハイレベルの図やスケッチで必要十分であるのに対し、詳細なアーキテクチャー仕様を求める文化を持っているチームもある。アジャイル戦略が大きな支持を獲得し、コラボレーションの向上に適したより小さなアーキテクチャー仕様へ向かっているように見えるが、やはりいくつかの組織では詳細な仕様を選択する。高い安全性が求められるシステムや生命にかかわるシステムである場合は特に、その業界の規制がプロジェクトの初期段階で詳細な仕様を作成する動機となる。また第5 章で見てきたように、大規模なDADチームが小さなコンポーネントサブチームに編成された場合は、それらのコンポーネントが何であるかの定義とともに、それらのコンポーネントの一つ一つのインターフェースについて詳細に定義するはずだ。

現場の声── システムインターフェースをいち早く見つけてスタブ化せよ Andy Pittawayは、英国IBM Global Services のエグゼクティブプロジェクトマネージャーであり、何年にもわたってスケール可能なアジャイル手法の適用を進めている。「主なリスクは、我々が他のシステムのために作成しているソリューションの統合部分で見つかる。また、他のシステムやインターフェースが我々のプロジェクトと並行して変更される場合、特に大きなリスクとなる。我々は、システム全体の統合によって直面するであろう潜在的リスクを理解するため、初期のアーキテクチャーモデリングの時点でそれらのシステムを識別する。具体的には、初期のイテレーションのどこかでテストスタブを依頼(または開発)し、次にプロジェクト後半のできるだけ早い時期に、それを改善されたスタブもしくは最終システムのいずれかに交換する。ほとんどのスタブは最終的なソリューションを完全には表していないため多くの注意が必要とされるように、いろいろと新しいリスクをもたらすことは事実だ。重要なのは、インターフェース、およびソリューションを構成する他のコンポーネント(内部および外部)の両方が、プロジェクトの初期段階で対処しておきたいリスクの主要な発生源であるということだ。

非機能要求の戦略を選ぶ 利害関係者は、機能要求と同様に、非機能要求(NFR)についても説明してくれるだろう。非機能要求には、セキュリティーアクセス権、可用性要求、パフォーマンス上の問題の他、図8-5 に見られるように他の多くの問題を記述することができる(この図はwww.agilemodeling.comから許可を得て使用している)

ワークアイテムプール:ワークアイテムを管理するためのリーンアプローチを図8-4に示している。この戦略では、ワークアイテムを明確に優先順位付けするための別の方法があることを認識してほしい。利害関係者の価値に基づく標準的な方法、それは、決められた納品日、時々発生する急いで対応しなければならない緊急や最優先のワークアイテム、そして個人的な要望から識別されたチームを健全に保つための無形のワークアイテムを反映する、言うなれば時間に依存した戦略だ。このような行動にはプロダクトオーナー(もし存在するなら)が注目することが多いが、誰もがワークアイテムを識別し、プールにそれらを置くことができる。プロダクトオーナーを含むチーム全体に、適切にワークアイテム・プールから仕事を引き出すための責任がある。引き出すワークアイテムは、チームのプロセスに新しいワークアイテムを取り込むだけの余裕が生まれた時点で決定される。

ワークアイテムスタック:これは、ワークアイテム(要求、欠陥、技術的な項目、チームコラボレーションの要求、および個人的な要望)のすべてのタイプを含むように、スクラムのプロダクトバックログを拡張したものである。ワークアイテムは、利害関係者の価値(すべての利害関係者の懸念に対処するために、ビジネス価値に関連するものだけでなくビジネス以外のものについても)とチームの健全度の両方を含むさまざまな考慮事項に基づいて優先順位付けされる。DADチームでは、プロジェクトの技術的なリスクを軽減するため、複数のハイリスクな要求を満たす、動作するシステムの骨格を作る。それにより、彼らのアーキテクチャー上の戦略が正しいことを証明する。リスクと価値は密接な関係があることが多いが、完全に連動するわけではない。最終的にプロダクトオーナーは、ビジネス価値がそれほど高くはないはずのいくつかの要求をスタックの最上位に置くこともある。これについては第13 章と第14 章でより詳しく説明する。図8-3 に、ワークアイテムスタック戦略を示す。

IBMグローバルビジネスサービス部門のSteven Cragoはアジャイルプロジェクトに参加していた。そこでは、クライアントがeMoneyモバイルソリューションに望むものを明らかにし文書化するために、最初の3週間を過ごした。彼らはハイレベルのビジネスロジックだけでなく、非機能要求にも対処し、いくつかのハイレベルの処理フローが含まれるストーリーボードを作成した。同じ期間に、彼らは技術的な観点からのフローの実現可能性を評価した(並行したアーキテクチャー構想。第9章「初期の技術戦略を識別する」で解説する)。当初クライアントは、詳細な要求仕様書、ユースケース、およびプログラミング仕様(設計)の文書を望んでいた。コストと工数を議論した後、Stevenのチームは、ストーリーボードのフローの一つと、彼らが作成したアーキテクチャーモデルを使った2週間のPoC(proof-of-concept)実施を許可してもらえるよう、クライアントを説得した。クライアントの2人の利害関係者と開発チームの8人によってアーキテクチャーの方針を証明し、最初のストーリーボードのフローが完全に動作するソリューションを提供した。クライアントはそれに納得し、それから9 ヶ月間、新規もしくは更新されたフローがイテレーション毎に提供された。チームは、バージョン管理、要求の作成と追跡、作業割り当て、および欠陥の追跡のために、IBM Rational Team Concert(RTC)を使用した。

Twitter 3 48 Rss 3 48 follow us in feedly
スポンサード リンク