アジャイルの押し付け

2006年10月2日

アジャイルアライアンスの現理事会によると、アジャイル手法は「キャズムを超えた」とされており、これはより広く普及しつつあることを意味すると私は考えています。これには利点がありますが、同時に問題も引き起こします。 方法論や設計アプローチが流行すると、本質的な詳細よりも流行にばかり注目する多くの人がそれを利用したり、教えたりするようになります。このことが、アジャイルの名の下に行われたものの多くが、運動の創設者の原則とは正反対であるという報告につながる可能性があります。

ウェブをさまよっているうちに、アジャイル手法が上層部によって開発チームに押し付けられているというコメントをいくつか耳にしました。チームにプロセスを押し付けることは、アジャイルソフトウェアの原則に完全に反しており、その創設以来そうでした。

私にとって、アジャイル手法の重要な特徴の1つは、人中心であるということです。アジャイル手法は、人々と彼らがどのように協力するかがソフトウェア開発における主要な要因であり、プロセスは二次的な要因であることを認識しています。アジャイル宣言の最初の価値「プロセスやツールよりも個人と対話」に反映されており、マニフェストの2つの原則によって強化されています。

  • 意欲的な個人を中心にプロジェクトを構築する。彼らに必要な環境とサポートを与え、仕事を成し遂げると信頼する。
  • 最高のアーキテクチャ、要件、設計は、自己組織化チームから生まれます。

これらの価値と原則の重要な帰結として、チームは自分自身でプロセスを選択する必要があります。つまり、彼らが働く人々とコンテキストに適したプロセスです。外部からアジャイルプロセスを押し付けることは、アジャイル思考の中心にある自己決定権をチームから奪います。

この考え方は、マニフェストのもう1つの原則「定期的にチームは、より効果的になる方法を振り返り、その後、その行動を調整する」でさらに進みます。チームは自分自身でプロセスを選択するだけでなく、そのプロセスの進化を制御する必要があります。

チームに合わせて作られたプロセス(その逆ではない)という考え方は、アジャイル手法の必要条件ですが、明らかに十分ではありません。チームは完全にウォーターフォールで、アジャイルではないプロセスを選択する場合があります。その場合、明らかにそのプロセスは、リンゴがイチゴの味がするほどアジャイルではありません。しかし、アジャイル手法はあらゆる状況に最適ではなく、個人的には、私が好むアジャイルプラクティスを押し付けられるよりも、チームが自分たちで非アジャイルな方法で働くことを好みます。

したがって、アジャイル手法を押し付けることは非常に危険信号であることを明確にしたと思います。しかし、それについて聞いたとき、私はたいてい全体像を把握していません。外から見ると似ているように見える状況がありますが、実際には同じではありません。

1つのケースは学習です。アジャイル手法の導入には、多くの場合、一度に多くの新しいことを学ぶことが含まれ、その多くは直感に反します。これはエクストリームプログラミングにおいて特に当てはまります。この状況では、しばらく使用してみるまでプロセスを調整することは非常に困難です(私は数年前、XPに関してこれについて書きました)。この時点で、チームは修・破・離の「修」の段階にあり、そのため、どのように機能するかを理解するまで、プラクティスをかなり厳格に守る必要があります。この状況では、教条主義と柔軟性のなさが(一時的な)学習ツールとなります。

Thoughtworksで私たちが通常置かれているもう1つの状況は、クライアントチームとの共同ソースプロジェクトです。これらの状況のほとんどでは、ソフトウェアのデリバリーを担当していますが、良好な引き継ぎを提供し、クライアントの担当者が私たちの働き方を学ぶことができるようにするために、クライアントのスタッフと協力する必要があります。この状況では、私たちはできる限り効果的に働くために支払われていますので、私たちにとって有効なプロセスを使用します。これは、クライアントの環境に合わせてプロセスを調整しないという意味ではありません。それは常に必要ですが、賢明な調整と、私たちを成功させるプラクティスを放棄することの間には微妙な線があります。

そのような状況は、押し付けが聞こえるほど単純ではないことを示していますが、根本的な点は依然として残っています。アジャイル手法を押し付けることは、アジャイル手法の基盤となる価値と原則との矛盾を引き起こします。

この種の問題は避けられませんでした。オブジェクト指向が流行し、オブジェクトの名の下にあらゆる種類の奇妙なことが行われた時期を、私ははっきりと覚えています。それはすべて、通常の採用プロセスの1部分です。アジャイルという名前が非常に非アジャイルな行動に適用されるのを防ぐことができるものはありません。アジャイルを強制する厳格なアジャイル警察は存在しません。私たちができることは、気にかけている人々がアジャイルの本質を説明し続けようとすることです。そして、私は説得するよりも説明することを好みます。

(役立つ議論XPメーリングリストにあります。特にケントの回答を読む価値があります。それは会話の方向性を有益な方向に進めます。)