CM Crossroadsの最近の記事でSteve Ropa氏が、アジャイル主義者の矛盾を指摘した。氏は、他人に自分たちの作ったソフトウエアを使うように頼む一方で、自分たちはホワイトボードやインデックスカード、対面のコミュニケーションを置き換えるソフトウエアを使うことを拒否する態度を指摘している。
世紀の変わり目にアジャイル開発に移行した人たちは。まず自動化ツールの利用をやめました。プロジェクトマネジメントツールを排して対面のコミュニケーションを重視するためです。他人と連携を取る必要がない、自動化されたワークフロー管理の世界から移行してきたのですから、この反応は理にかなっています。私たち開発者は膨大な設計書を作成するのを辞め、儀式的な作業を排除しようとしました。インデックスカードとホワイトボードを使った手書きグラフだけを使おうとしていました。実務の邪魔になるツールは使いたくなかったのです。
この考え方は理解できますが、アジャイルの方法論がより大きな組織に導入されるに従って、この新しいラッダイト運動が本当に最良の価値があるのか評価する必要があります。ともかく、なぜ顧客には自分たちが開発したソフトウエアを信頼するようにお願いしながら、自分たちではそのソフトウエアを信頼しようとしないのでしょう。
我々はこの問題ついてSteve氏に話を聞いた。
InfoQ: ワークフローや人とのやり取りを増やすソフトウエアツールの導入に反対するアジャイル主義者もいますが、彼らは技術が溢れるとイノベーションが遅れる可能性があるという、アジャイル主義者でなくとも受け入れるべき重要な点を理解しているのでしょうか。
Steve: 理解していると思います。私たち皆が受け入れるべきはどのツールが自分たちの仕事に役立つか注意深く選ぶ必要があるということです。あるツールが使い物にならなくなったら、他のツールを選びます。私は、建具師のように道具を選ぶ、と喩えています。テーブルのこぎりが必要なときもあるでしょうし、手のこぎりで済む場合もあるでしょう。どの道具を使うかは何をしたいかによって決まります。なにより重要なのは道具に自分の仕事の仕方を決めさせないことです。これが重要です。使っているツールが仕事の仕方を決めるのは、手枷や足枷がはめられているのと同じような状態です。
InfoQ: あなたはアジャイルの拡張性はソフトウエアツールやコミュニケーションの仕組みが首尾よく導入できたかどうかに依存すると考えているようですね。しかし、この考えは他人とのやり取りを必要としない自動化されたワークフローの世界へ逆戻りしてしまう可能性があります。過去から学ぶことで逆戻りを防げるのでしょうか。
Steve: アジャイルをスケールアウトするためにはそれらのソフトウエアやコミュニケーションの仕組みが必要だと主張しているわけではありません。私が言いたいのはそれらのソフトウエアの中にはスケールアウトを簡単にしてくれるものもあるので、単にツールということだけで否定するべきではないということです。この前提で、私は自動ワークフローを使いたいと思いませんし、プロジェクトマネジメント関連のツールを見るときもそのツールがコミュニケーションを制限するのではなく、促進させるかどうかを注意深く見ます。
GearStreamのCEOであるBrad Murphy氏はアジャイル開発でのソフトウエアによる支援について次のように言う。
特に、Gear Streamでは完全に自動化されたエンドツーエンドのビルド/テスト/配置ツールチェーンをクラウドで実現するのにかなりの投資をしています。高度に自動化されたアジャイル開発のあるべき姿をサポートするツールです。私たちのモデルは柔軟で継続的に改善可能です。私たちは自動化が重要であると信じています。
またツールにこだわりすぎた結果、アジャイルはイノベーションに悪い影響を与えてしまったとも考えています。Gear Streamは自動化の価値を"すべてまとめて"提供しようとしてます。したがって、現在開発中の高度に自動化され完全に統合されたツールチェーンがなければ実現できない完全に管理されたサービスアウトソーシングモデルを確立しようとしているのです。
しかし、インデックスカードやホワイトボード、対面のコミュニケーションにこだわるアジャイル主義者は、これらの道具や方法の方がソフトウエアよりも優れていると主張する。Nigel Shaw氏は昨年、ソフトウエアよりも物理的な道具の方が利点があるという記事を書いている。この記事で強調されているのは、物理的なボードとソフトウエア的なボードの情報伝搬の微妙な違いだ。氏は下記の点を列挙している。
- どのカードが誰のものか一目で分かる。
- カードの編集履歴が一目でわかる。
- 手書きなので誰がどのどのような変更をしたのか分かる。
- 重要な点は太字や下線などで強調できる。
- 重要ではないことは小さく書ける。
- カードの使い込み具合を見ればどれくらい古いか分かる。
- 順位付けが簡単。
- ふたつのカードを同時に動かせる(位置の入れ替え)。
- ある程度の大きさがあるので二人以上の人で議論しやすい。3人から5人にちょうどフィットする。モニターではこうはいかない。
- ステッカーや星マークなどで“追記”できる。金属のボードならマグネット、コルク板なら画鋲を使ってノートを追記できる。
- 重ね合わせることで2つのストーリーを結合できる。
- カードをふたつに分割することでひとつのストーリーを分割できる。
- イテレーションの境界にストーリーを重ねることで、ストーリーに合意したということを示せる。
- 簡単に削除できる。
- 簡単に追加できる。
- 削除したカードを復活できる。
- カードの前に立てば、エネルギーが湧いてくる。
- カードの周辺の空いている部分に他のものを貼れる。
ツールやプロセスに対する開発者の態度についての議論はコミュニティで続く一方、アジャイルが浸透するに従って、アジャイルを計画するためのツールの普及していくだろう。