Lean and Agile are two distinct philosophies with different lineages; yet the two work well together when it comes to software development.
That's the word from Dan Woods, CTO at Evolved Technologist, in a recent Forbes piece. Dan describes the Lean philosophy, which has been widely adopted in manufacturing, ever so succinctly: "Lean manufacturing, which envisions the enterprise as a massive event-driven system, waiting to create products when customer orders arrive instead of building products in advance and holding them in inventory."
Agile, part of the software world for more than a decade, is based on incremental development, accompanied by continuous feedback from users. "In Agile methods, instead of building the whole product, you build the smallest possible useful part and give it to users, who tell you what is right and what is wrong."
The two methodologies have a lot in common. And, as Dan observes, they are converging. "Most advanced practitioners of Agile now use more vocabulary from Lean manufacturing than from Agile. In essence, as a practical matter, good ideas from Agile are being absorbed into a new approach to software development that is more Lean than anything else."
The common ground between Lean and Agile may reflect the increasing "industrialization" of software taking place, as it moves away from individual craft to more repeatable component manufacturing, distribution and assembly.
You may say that Agile is about individual interactions over processes and tools, which is an anathema to mass-scale manufacturing. But Lean principles may bring needed practices to Agile shops that are burdened with uniting the efforts of widely distributed teams to churn out software on a tight schedule. Fierce competition forces code to be pushed out the door as fast as possible. "Agile has much less to say about how to connect the work of many different teams, and that's where Lean has a huge impact," Dan says. Lean breaks work down into value streams, which is then combined into the final product.
The Lean concept of continuous improvement also may work its way into Agile practices. Currently, Agile focuses on the software product. But employing the Lean continuous improvement approach will also focus on sharpening the software development process itself.
SAP is employing Lean into its software shops, as a way to scale up it's Scrum-based methodologies across a workforce of several thousand developers. As Dan reports: "Team empowerment and faster feedback cycles with customers are two significant benefits. ...SAP is expanding application of Agile methods to the entire product creation process using a Lean framework that includes empowered cross-functional teams, continuous improvement process and managers as support and teachers."
(Photo: U.S. Census Bureau, Department of Commerce.)
(Thumbnail: Joe McKendrick.)