アジャイルアンチパターンは、対処を怠ると組織やモラル、品質に影響する可能性がある。最初の重要なステップは、問題点の存在を認識することだ。根本原因の効果的な解析は、組織にアンチパターンが現れた原因の理解や、その原因に対処するために取ることのできるアクションの理解に寄与する。
スクラムマスタのPatric Martin氏はAgile Tour London 2020で、アジャイルのアンチパターンについて講演した。
アジャイルは、ソリューションをより迅速かつ安価に提供する方法論として、広く認知されている。最終的にはそれが可能だが、最初は必ずしもそうではないし、おそらく暫くの間は同じだろう、とMartin氏は言う。
アジャイルにはアンチパターンも広範にあるのだ。その解決には時間と労力を要するのみならず、組織が文化の変革に不寛容であったり、プロセスを始める準備ができていないことが原因で、解決できないものも中にはある。
技術能力に重きを置きすぎるあまり、潤滑剤として機能するソフトスキルを軽視する企業が非常に多い、とMartin氏は言う。そのようなスキルの例としては、他人と共同作業する能力、共感、話を聞くこと、判断を急がないこと、新たなアイデアを試す意欲と寛容さ、問題発生時の謙虚さと受容性、などが挙げられる。
組織のアジャイルアンチパターンへの対象について、Patrick Martin氏に聞いた。
InfoQ: アジャイルのアンチパターンとは何でしょう?
Patrick Martin: 次のようなことをストップ、阻害、スローダウン、妥協させるようなアクティビティや振る舞いがアンチパターンです。
- プロダクトの製造
- プロダクトの提供
- プロダクトの品質
簡単に言えば、品質の高いプロダクトを効率的に計画し、カスタマ/エンドユーザの手元に届けることの妨げになるものがアンチパターンなのです。
InfoQ: どのようなアンチパターンがあるのでしょうか?
Martin: もっと短い答のできる質問をした方がよくありませんか!:-) この記事を読むみなさんはアンチパターン一覧のようなものを期待しているかも知れませんが、アンチパターンはそのネガティブな効果を通じて見つかるものなのです。例を挙げるとすれば、
- バリューストリームに対する見通しの欠如
- ベロシティ低下の感覚
- POテスト中における、多数の受け入れテストの失敗
- 継続的改善の不足ないし欠如
- 不適切な部分でウォーターフォール的思想/実践が引き続き適用されている状況
- チームワーク不足
- アーティファクト作成時の学際的なコラボレーションの欠如
- チーム内におけるクロスファンクション性の欠如
- チームの自律性の欠如
- モラル不足
- ビジョンの欠如
- あいまいなスプリント目標
これらのどれかに思い当たるのならば、ひとつ以上のアンチパターンが存在するということなので、それが何なのか、正しく見分けるための作業を始めます。
ここで重要なのは、私の考えるアンチパターンとは、単なるセレモニのベストプラクティスからの逸脱ではない、という点です。チームとその行動における問題が、例えばスタンドアップミーティングが所定の15分を数分超過するというようなものならば、それはアンチパターンとは言いません。
InfoQ: アンチパターンはなぜ起こるのでしょうか?
Martin: アジャイル変革が不完全なためです。おそらくは変革の試みが完全には認められなかったか、あるいは効果的に実行されなかったことが原因でしょう。アジャイル変革はボトムアップな、開発チームのみに可能な事業である、と考える組織が多いのですが、
それはまったくの誤解です。アジャイル変革とは、頭からつま先まで、組織の文化を変えることなのです。組織全体の行動の方法や計画を形成する判断やポリシを決定するという意味で、財務や人事などの間接部門も含まれます。
他の理由として挙げられるのは、現実的ないし認知的な意味での報酬や立場や安心を失うことへの恐れです。こういった恐れは自然なものですし、共感する価値はありますが、それらが対処されていないということは、組織自体の中に効果的かつ信頼できる文化変革エージェントが存在していない、ということを示しています。
InfoQ: では、どう対処すればよいのでしょう?
Martin: 本来あるべき姿でないと思われるものに焦点を絞ることで、根本原因の効果的な分析を行うのです。根本原因が特定されれば、適切なアクションを実施する必要があります。たくさんの根本原因がありますし、あるいは同じ原因でもチームによっては、異なるアプローチや救済策が必要になります。それはダイナミクスや対象となる人々、環境が同じではないからです。
新しいチームには適切なコーチングをセットアップして、未熟なチームの管理を支援し、懸念が生じた場合には、それを見付けて対処する必要があります。
例として、残念ながら解決できなかったアンチパターンがあります。そこでは2つの相互依存した、しかし物理的には分離したチームが、フロントエンドとサーバレイヤをベースとして構成されていました。依存関係の状況は完全に解決可能で、かつ極めて大きな問題であったにも関わらず、その理由が政治的なもので、抗議するには私の立場よりはるかに上でなくてはならなかったのです。
私はこれまでに、個人間の対立、開発者の個人的な経歴から生じた動機への疑念、非難的文化、信頼の欠如、といった問題を経験しました。そうした中では、1対1の会話が非常に効果的でした。残念ながら、支援を受け入れなかった人たちもいました。彼らは結局、自分が成功を収める別の機会を探す決心をしたのですが、それはそれで悪くはありません。アジャイルはすべての人たちのものではないのです。すべての人が能力を発揮できる場所を見付けることは大切です。
アジャイルは、問題を明確に表面化する上で非常に有効なのですが、これによってすべての人たちが、何らかの方法で手を下さざるを得なくなります。ただし、すべての問題が解決可能な訳ではありません。問題から立ち去ることが解決策となる場合もあるのです。他の人たちはそこに留まり、何かを変えていこうとします。私はどちらの道も尊重します。
InfoQ: アンチパターンを避けるために、何ができるのでしょうか?
Martin: アジャイル変革に真剣に取り組んでいるのであれば、次のことを行う必要があります。
- オープンな考え方を持って、ITを単なるコストセンタではなく、ビジネス/利益のコアコンジット(conduit)として把握する。
- 組織のすべての層に関与するアジャイルコーチを決めて、施策がどのように機能しているか、機能していないかを調査する。
- ビジネスのバリューストリームを特定し、組織を再構築することで、各チームないし部署が、すべての人々が見通しを持つひとつのバリューストリームに沿って活動するようにする。
- 誰かを配置する場所を見付けるという理由だけで、プロダクトオーナやスクラムマスタの役割に人を当てはめないようにする。その役に相応しければよいが、そうでないならば、その役を与えてはならない。
- 対角線ライン管理(diagonal-line line management)を導入して、全員が業務外の問題について頼ることのできるチーム外のメンバを持つようにする。
- 組織のすべての層に対するメンタとしてアジャイルコーチを任命し、すべての関係者が定期的にミーティングを行って、支援やコーチング、メンタリング、トレーニング、"ガス抜き"を行うようにする。不満が溜まるのは当然なのです!
- チーム内および経営幹部に対して、定期的なアジャイル採用調査とフィードバックループを用意する。
企業に"ビッグ・バン"型アプローチは必要ない。リスクの低いバリューストリームをひとつ選び、それに合うようにチームを再編成して、何が起こるのかを観察しよう。このようなアプローチは最もリスクが低く、問題が発生しても(おそらく発生するだろう)実害はほとんど、あるいはまったくないのだ。