AgileDevelopment reduces the CostOfChange and of defects by deciding as late as possible and mistake proofing through automation as much of the software creation process as feasible [TestDrivenDevelopment & StoryTestDrivenDevelopment]. It attempts to make data based decision based on feedback from partial implementation in place of speculative decisions based on "expertise". A Lean, concurrent engineering approach would apply the same approach to the entire value chain.
--TomPoppendeick? (co-author of LeanSoftwareDevelopment, reposted without permission from the LeanDevelopment? mailing list...)