Agile и Lean похожи, но все-таки разные
В конце прошлого года мне посчастливилось послушать выступление Дэна Джонса (Dan Jones) на XP Day 2008. Дэн, в качестве одного из отцов-основателей Lean, является одним из авторов The Machine that Changed the World. Или, по крайней мере, отцом понятия Lean, потому что я уверен в том что Дэн будет настаивать на том что его (и соавторов) заслуги заключаются не в изобретении Lean, а в популяризации этой технологии.
Дэн начал свою речь с рассказа о различиях между Agile и Lean. По его видению разницы нет. Возможно кто-то, кто был там поможет мне с более точными цитатами, а пока я приведу то как я запомнил его высказывания:
- Когда Дэн, Джим Вомак (Jim Womack) и Дэниел Роос (Daniel Roos) писали об исследовании, результаты которого приведены в «The Machine that Changed the World», они задумались над термином описывающим их открытие. Toyota Production System было слишком специфичным для Toyota. В конечном итоге они пришли к термину «Lean». В ходе этого процесса они рассматривали термин Agile, но отклонили его с язвительным замечанием: — «потому что это не будет продаваться».
- Позже (кто-то чье имя называлось но я его не запомнил) решил что это должна быть «Американская версия Lean» и решил использовать термин Agile. Как утверждает Дэн этот материал был взят за основу отцами-основателями Agile (подозреваю что это те самые люди, которые написали Agile manifesto).
- Поскольку Дэн — заинтересованное лицо, то он не беспокоится о том какой термин мы используем — они идентичны.
- (И он рад видеть интерес у IT-шников, потому что традиционно движение Бережливого производства находит IT-сферу препятствующей внедрению Lean-методик).
Я рад тому, что услышал как Дэн сказал это, поскольку мое понимание Agile давно находилось под влиянием Lean — даже да превосходной книги Тома и Мэари Поппендик «Lean Software Development». Сейчас я как никогда чувствую что могу говорить об обоих методиках как об одном целом.
При это я думаю что есть тонкое различие, которое, как это ни странно, может быть полезным в некоторых обстоятельствах. Эта тонкость помогает понять почему Agile не XP в то время XP является Agile-подходом и почему это больше Agile чем Scrum.
Это поможет взглянуть на диаграмму. Если вы видели ее раньше то должны заметить мои недавние дополнения.

Вверху специфичные для Agile методы, такие как XP, Scrum, Crystal и т.д. В этом пути больше перспективности чем в остальных. Каждый из методов является частью Agile, но никто из них не образует полноценный Agile-подход.
Agile — это набор инструментальных средств, а эти методы — элементы этого набора. Agile является более общим понятием, Agile — это скорее система ценностей, философия.
По своей сути Agile — это Lean, но более перспективный чем Lean. Например, некоторые Agile-команды не практикуют разработку через тестирование (Test Driven Development). Поэтому Agile более общее понятие чем XP или Scrum, и менее общее чем Lean.
Lean по своей сути более философский и подразумевает меньше конкретных методик. Вы должны применять Lean-философию в собственном контексте. Lean — это маршрут.
Ниже мы видим Организационное Обучение (Organizational Learning). Все эти методы основаны на непрерывном обучении — системный подход должен быть включен в систему именно здесь. Но организационное обучение имеет главную важность, философия и академические исследования почти лишены четких инструкций. (Я мог бы вступить в обсуждение управления знаниями, но не сегодня).
Недавно я добавил RUP и Kanban в эту диаграмму.
RUP разделяет много общих с Agile методов, но в очень разных местах. Это идет от традиционной разработки ПО, от унификации ООП и от комерциализации мира. RUP может (это я утверждаю) выглядеть и восприниматься как Agile, но это не меняет того откуда он взялся.
Дальше идет Kanban. Kanban — это потомок Agile блока, но вытекает он непосредственно от Lean-идеологии. Так что для меня он не занимает вершину пирамиды, он опирается на Agile и Lean. И это то место где точка Дэна Джонса очень подходящая: не важно, на этом уровне Agile и Lean сливаются. Так что если вы хотите утверждать что он должен быть уровнем выше, с XP и Scrum, то я не буду возражать.
Оригинал статьи: Allan Kelly — Agile and Lean — the same but different