(2011-04-20) Lean Agile Production Vs Theory Building

Jorge Aranda notes A critique from Alistair Cockburn on how the Agile Software Development movement is under attack from Taylorism led me to an essay by Dave West on the philosophical incompatibilities between Lean Development and agile techniques, and this in turn led me to finally give a read to Peter Naur’s 1985 text, “Programming as Theory Building.”.. Naur’s programmer’s theories are essentially Mental Models in the sense I (and many others before me) present them, and both he and I claim that the overarching goal of a software development organization is to build those models (or theories) during the life of the project. I could actually restate my thesis contributions as extensions to Naur’s sketch in two ways: first, I explore what I think is the main challenge that software team members find today: to build consistent mental models (or in the terms of the thesis, to develop a shared understanding (Shared Language)) of the world, among potentially large groups of people, in the face of abundant, shifting, and tacit information, and unclear or exploratory goals. Second, I outline some attributes of team interaction (Team Work) that make such a challenge easier to overcome.

Dave West's essay is titled: Lean and Agile: Marriage Made in Heaven or Oxymoron?: Lean and Agile are grounded in fundamentally different World View-s and therefore will inevitably find themselves in opposition on critical points... Production and process vocabulary and metaphors are pervasive throughout the entire (Lean Development) book. Although there is a clear rejection of 19th century ideas about production (e.g. Taylorism) there is an equally clear adoption of enlightened production models (e.g. the Toyota production model)... The observable activities associated with Theory Building include telling a lot of stories, exploring ideas, trying things to see if they work, testing your understanding, populating your physical space with evocative reminders of your understanding, and doing these things iteratively in increasingly comprehensive increments. Looks a lot like an agile environment, but bears little resemblance to a production environment.

Edited:    |       |    Search Twitter for discussion