This post originated from an RSS feed registered with .NET Buzz
by Steve Hebert.
Original Post: Agile == Lean?
Feed Title: Steve Hebert's Development Blog
Feed URL: /error.htm?aspxerrorpath=/blogs/steve.hebert/rss.aspx
Feed Description: .Steve's .Blog - Including .Net, SQL Server, .Math and everything in between
Iâm working on a project right now that is using MS Project to delegate the tasks being done.I havenât been on a project like this for six years, but it brings me back to a couple of points especially after reading Lean Software Development by Mary and Tom Poppendieck. The relationship between Lean Manufacturing and Agile are more striking than just applying a new name to Agile.
Lean manufacturing differentiates between push-based and pull-based systems.In the software world, MS Project is push-based â plan every step ahead of time and execute to plan. Agile/XP interates on building the highest priority remaining features â this is pull-based. Pull-based allows for on-the-fly adjustments to be made. The resulting difference between the two is a serialized development approach with push-based systems and a concurrent approach with Agile/XP.
Agile values working software over comprehensive documentation and responding to change over following a plan. As Alistair Cockburn states it, "requirements can be imperfect, design documents and project plans can be out of date, yet the project can still succeed by applying such principles as communication and community."
These thoughts drive two points for me:
Traditional software development is push-based, and if you understand how push-based manufacturing systems work you will quickly understand why basing software planning on this type of operation fails 9 times out of 10.
Documentation is a balancing act to provide the best investment of time.Too much documentation is useless as it becomes outdated â at which point itâs not only useless but slows the team down.
An emphasis on communication and test-driven development enable a software team to respond to the pressures of a concurrent software approach.
So given these points, is Agile just an implementation of a lean methodology?I was initially skeptical of the Poppendieckâs book, but the similarities are more and more startling as Iâm getting a harder look at âthe other sideâ.