最近のブログ投稿(リンク)で、Martin Fowler氏(リンク)は「AgileではなくLeanソフトウェア開発を使用すべきか?」という質問が誤った前提に基づいていることを説明している。Agile(参考記事リンク)とlean(参考記事リンク)は、非常に深く織り込んでいるので、agileをおこなっているときは、leanをおこなっているし、その逆も同様のことが言える。こうした検 討されているプロセスの変更は、興味を起こさせ、啓発的な相関の解説を見出す。
Fowler氏(リンク)はlean(参考記事リンク)の歴史を解説することで始めているが、ルーツはlean製造(リンク)および1950年代に開発されたToyota Production System(リンク)にさかのぼる。このシステムとその背後にある概念は、日本の製造業、特にトヨタで広く評価され、その優位性を確立した。
Lean(参考記事リンク)は、leanの製造およびToyota Production System(リンク)に基づき機能するすべてのアプローチで、包括的用語として使用されるようになってきた。これにはlean構造(リンク)、leanラボ(リンク)の他にleanソフトウェア開発(リンク)が含まれる。
Agile(参考記事リンク)は、Scrum(参考記事リンク)やXP(参考記事リンク)を含むソフトウェア開発方法論のファミリーの包括的用語である。そのすべては中核となる原理を共有している。agileソ フトウェア開発をしているとは、おそらくこうした方法論の1つやいくつか混ぜ合わせたものを採用しているとか、単に中心的なagile原理(リンク)を具体化する方 法で、作業をしているだけな場合がある。
現在ある一連のagile方法論を開発した多くの人びとは、lean製造(リンク)やその背景にある考えに強い影響を受けた。lean(参考記事リンク)とagile(参考記事リンク)間には以下のように多くの共通点が見られる。
- 人中心のアプローチ
- 力をつけたチーム
- 適応計画
- 継続的な改善
MaryおよびTom Poppendieck氏(リンク)、Alan Shalloway氏(リンク)などによる作業に基づいて、leanソフトウェア開発コミュニティが誕生した。このコミュニティは、Scrum(参考記事リンク)、XP(参考記事リンク)、DSDM(リンク)や FDD(リンク)などの他のコミュニティとは異なる。しかしながら、こうしたコミュニティはagileの保護の下に存在している。Agileは、lean製造の元の 考えに多大な影響を受けている。
「lean ソフトウェア開発」がagileだということは、事実である。また「agileソフトウェア開発」がleanだということも、事実である。従って、 「agileソフトウェア開発もしくはleanソフトウェア開発を採用すべきか?」と尋ねることは「Scrumもしくはagileを採用すべきか?」と尋 ねるのと同じく意味がないことである。
原文はこちらです: