CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Steve Hebert's Development Blog

Steve's Blog - From .Net to dotMath and everything in between.

Agile == Lean?

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:

 

  1. 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.
  2. 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. 
  3. 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”. 


Published Jun 21 2005, 09:10 AM by shebert
Filed under:

Comments

Jeremy Miller said:

There is a definite connection between lean manufacturing techniques and agile development.

I had the surreal experience of working for one of the most successful lean manufacturing companies in the world, while doing rigid waterfall development in the IT department. The factories pulled parts for manufacturing every two hours based on need and never had more than a day's worth of backlog parts sitting around at the factory. That's not too dissimilar to the basics of iteration management in agile methodologies.

There is a definite parallel in the emphasis on responding to feedback between lean manufacturing and agile development. I'd say the two things are at least philosophically aligned.

Since Deming's ideas that led to the Toyota style of manufacturing go back to just after WWII, how come software development has been so slow to pick it up?
# June 21, 2005 10:01 AM

darrell said:

Jeremy: Because Deming's ideas occured after 100 or so years of manufacturing progress. :)
# June 21, 2005 11:46 AM

shebert said:

Hi Jeremy,

Your experience around lean manufacturing is pretty cool. I worked for a company that wrote lean/constraints based planning software that drove the companies to pulling parts on demand. It was interesting watching companies that had WIP inventories 2+ stories high on racks in front of workcenters. After going live, the racks would dry up and they'd haul them away on semis after going live. Management would spend a month wondering if they loved us or hated us while constantly monitoring their customer orders. Once they knew the gains were real and they were meeting demand, they were happy as could be.

I think software development started out on the wrong foot with developers - generally viewed by management as being productivity hinderances. In software, the waterfall methodology is driven on creating specs that any programmer can write from. However they usually distill out the context needed to make good programming choices. Thus, the need for architects and massive amounts of UML.

It's nice to see the move away from the 'more documentation is the answer' mantra that has plagued so many organizations.
# June 21, 2005 11:48 AM

Jeremy said:

Darrell, software development wouldn't be half as fun if it was mature;)

Well put Steve.

I was a technical lead on a mission critical "pull to order" supply chain system like what you were describing that selected the part sourcing and communicated the material requests out to the supply chain partners. Scary as it sounds, it was my very first official project of any kind. We didn't really work any kind of process at all, but we had what would have been the ultimate XP/Agile customer involved every step of the way.

I bumped into the business partner a couple weeks ago and all he could talk about was how IT couldn't deliver anything anymore because they were too mired in CMM-inspired bureaucracy.

It's definitely a blast to walk through a factory and see your software running things, at least when it's working.
# June 21, 2005 12:58 PM

Lorenzo Barbieri @ UGIblogs! said:

# June 21, 2005 2:08 PM

Le weekly DanWatts said:

# June 22, 2005 5:53 AM

Le weekly DanWatts said:

# June 22, 2005 6:09 AM

Le weekly DanWatts said:

# June 22, 2005 6:11 AM

shebert said:

I was thinking about this last night, and think one way to look at it is this: Lean drives from project management on down while XP/Agile drives from the programmer on up. They are dependent on one another.

-Steve
# June 22, 2005 2:24 PM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 23, 2005 9:11 AM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 23, 2005 9:12 AM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 23, 2005 9:36 AM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 24, 2005 7:52 AM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 24, 2005 7:53 AM

Steve Hebert's Development Blog said:

I was reading a white paper over at Realization.com and a thought hit me regarding lean vs. conventional...
# June 27, 2005 1:48 PM
Check out Devlicio.us!

Our Sponsors