アジャイル vs.リーン

2008年6月26日

アジャイルソフトウェア開発を使おうと考えていますが、代わりにリーンソフトウェア開発を使うべきでしょうか?

この質問は最近何度か出会いました。リーンとアジャイルの関係性に関する誤った前提に基づいているため、すぐに答えられる質問ではありません。そのため、まずその関係性を説明するために、少し歴史を振り返る必要があります。

「リーン」は、基本的に製造業におけるアプローチで、1950年代にトヨタによって開発されました。当時、日本の産業は第二次世界大戦の爪痕から復興しつつありました。このアプローチは、トヨタ生産システムと呼ばれることが多く、大野耐一に大きく貢献されていますが、彼は特にデミングなど様々な西洋の思想家に影響を受けていました。トヨタ生産システムは、西洋人が日本の企業が多くの産業で米国を凌駕している理由を説明する書籍を書き始めた1990年代に、世界的に知られるようになりました。西洋の著者はこのアプローチをリーン製造と呼びました。それ以降、日本の産業全般は難しい時期を迎えていますが、トヨタは依然として多くの西洋の自動車会社を上回っています。

アジャイルソフトウェア開発は、1990年代に開発されたいくつかのソフトウェア開発手法(エクストリームプログラミングやスクラムなど)を包括する用語です。これらの手法は、アジャイルソフトウェア開発宣言で価値と原則として記述された共通の哲学を共有しています。(私のエッセイ「新しい方法論」では、この点について詳しく説明しています。)

当初から、リーン製造とアジャイルソフトウェアの間に繋がりがありました。なぜなら、様々なアジャイル手法の開発者の多くがリーン製造の考え方に影響を受けていたからです。この繋がりは、メアリーとトム・ポッペンディックによってより明確にされました。メアリーはリーン製造を採用した製造工場で働いた経験があり、夫のトムは経験豊富なソフトウェア開発者です。彼らは、ソフトウェアの世界におけるリーンの考え方の応用に関する書籍をいくつか執筆しています。人々がリーンソフトウェアについて話すとき、通常はこれらの書籍の考え方を指していますが、同様の関連付けをしている人もいます。

リーン製造とアジャイルソフトウェア手法は、非常に似た哲学を持っています。どちらも適応的な計画と人材重視のアプローチを重視しています。その結果、リーンの考え方はアジャイルソフトウェアのストーリーに非常にうまく適合します。メアリーとトムは、アジャイルコミュニティで非常に活発に活動してきました。実際、私はアジャイルアライアンスの形成においてメアリーが重要な役割を果たしたと考えています。(私と同様に、彼女はアジャイルアライアンスの創設メンバーでしたが、私よりもはるかに効果的に活動していました。)

リーン製造が当初からアジャイリストに影響を与えていたことは既に述べましたが、ここ数年で、明確なリーン製造の遺産を持つアイデアがアジャイルの世界に登場しています。これらは、バリューストリームマップのような具体的な手法から、設計決定の最終責任時点のような既存のアジャイル概念の表現まで多岐に渡ります。分析と設計ドキュメントを在庫と考えるという考え方は、ポッペンディック夫妻から来ています。私の知っているいくつかのアジャイリストは、サイクルタイムの短縮の重要性を強調しています。これは、リーンの影響を強く受けているもう一つの考え方です。同僚のリチャード・ダーナルは、リーンの知識をアジャイル思考とどのように融合させるかについての優れた要約を提供しています。

リーンの考え方の多くの人々にとって特に魅力的な点は、特にIT内部や顧客の上層部の人々にアジャイルソフトウェア開発を説明する方法を提供することです。この説明は、トヨタを模倣するという粗雑な訴えから、リーン製造のメリットがアジャイルソフトウェア開発のアイデアにどのように変換されるかについての詳細な議論まで及びます。

このように、リーンとアジャイルはソフトウェアの世界で深く結びついています。それらを代替物として語ることはできません。アジャイルを実践しているなら、リーンも実践しており、その逆もまた然りです。アジャイルは常に非常に広範な概念、つまり表面的に異なるプロセスが共有する価値と原則のコアセットとして意図されていました。アジャイルかリーンのどちらかを行うのではなく、アジャイルとリーンの両方を行うのです。唯一の疑問は、リーン製造から直接引き出されたアイデアをどの程度明確に使用するかです。

ポッペンディック夫妻は、リーンを別個のアイデアとして導入したわけでも、スクラムやXPのような公開されたプロセスとして導入したわけでもありません。むしろ、彼らはリーンを、あらゆるアジャイルアプローチに容易に融合できる思考ツールとして導入しました。私はリーンを、豊かな絨毯の中の模様のように、アジャイルコミュニティ内の思考の流れと考えています。

リーンソフトウェアコミュニティ、つまり自分自身をリーンと呼び、自分自身をリーン思考者と呼ぶ人々のメーリングリストが存在します。しかし、これは、強力なXP、スクラム、その他のコミュニティが存在するという事実とは変わりません。これらのコミュニティのほとんどの人は、広範なアジャイル運動の一部と考えており、多くの人がこれらのアジャイルコミュニティの複数に積極的に参加しています。「アジャイル」という言葉を作り出した本来の目的は、私たちがコアとなる価値と原則を共有していることを認識することであり、この共通のコアは、私たちが共有しているものが違いよりも大きいということを意味しています。