Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Fowler: Agile Vs. Lean Misses the Point

Fowler: Agile Vs. Lean Misses the Point

This item in japanese

In a recent blog post, Martin Fowler explains how the question "Should I use Lean software development instead of Agile?" is based on a false premise. Agile and lean are so deeply interwoven that if you are doing agile you are doing lean, and vice-versa. Those considering process change will likely find the description of the interrelatedness interesting and enlightening.

Fowler starts off explaining a bit of the history of lean, which traces its roots to lean manufacturing and the Toyota Production System developed in the 1950's. This system, and the thinking behind it, is widely credited with giving Japanese manufacturing, and Toyota in particular, a significant edge.

Lean has come to be used as an umbrella term for any approach to work based on lean manufacturing and the Toyota Production System. This includes lean construction, lean laboratory, as well as lean software development.

Agile is the umbrella term for a family of software development methodologies, including Scrum and XP, all of which share some core principals. When someone says they are doing agile software development, they might mean that they are using any one of these methodologies, a hybrid of several, or simply working in a way that embodies the core agile principals.

Many of the people who developed the current crop of agile methodologies were strongly influenced by lean manufacturing and the ideas behind it. This can be seen in the many commonalities between lean and agile, including:

  • People centric approach
  • Empowered teams
  • Adaptive planning
  • Continuous improvement

Based on the work of Mary and Tom Poppendieck, Alan Shalloway, and others, a lean software development community has come into existence. This community is distinct from other communities, such as Scrum, XP, DSDM, and FDD. Yet all of these communities exist under the umbrella of agile. Agile, in turn, is highly influenced by the original lean manufacturing ideas.

It is true that 'lean software development' is agile. It is also true that 'agile software development' is lean. Thus, it makes no more sense to ask "Should I adopt agile software development or lean software development?" than it does to ask "Should I adopt Scrum or agile?"

Rate this Article