Organizations practicing agile software development often talk about being “lean.” Yet since lean is most often associated with manufacturing environments, its applicability to software development can create some confusion. Are they both methodologies? Philosophies? Something in between?
Lean development expert Mary Poppendieck explained the difference as simply this: “Lean is a philosophy, a set of principles, not a methodology. It’s ‘How do I think about getting better?’ ”
While many shops practice agile exclusively and fare just fine, others look to adopt both lean and agile practices to be as efficient and cost-effective as possible. “You can do one without the other,” said Alex Adamopoulos, CEO of emergn, a lean and agile consultancy firm. “But you won’t get the same results. They’re really better together.”
Although classical definitions relate agile to the technical side and lean to the business side of an organization, Adamopoulos has also found ambiguity between them. “Words are starting to get blended,” he said. “Kanban board,” “lean visual control” and “Scrum board” are being used by developers who practice both agile and lean.
Some agile and lean terminology may overlap, but according to Adamopoulos, lean practices help organizations achieve things that agile processes cannot do on their own. To him, lean means significant improvement in aligning IT with the business side, an enabler to getting faster results and a collaborative effort to bring business owners in, making them more aware of the project earlier in the process.
To Forrester principal analyst Jeffrey Hammond, lean development is also a trend toward changing the decision-making process and power—seeing the two move down the development chain. This adds even more flexibility to the development process than agile because it enables developers to choose what technology they want to use without much overhead.
Additionally, “Lean software is a response to the bloat we see in our industry,” Hammond said. “Think about some of the stacks out there and the number of millions of lines of code you have to install to get a simple ‘Hello world’ app into a browser.”
Experiencing firsthand the software development process, Ci&T, a consulting, application outsourcing and digital marketing service, knows how difficult getting an application deployed efficiently can be. Ci&T at first exclusively practiced Rational Unified Process before realizing “something was missing,” said Leonardo Mattiazzi, Ci&T’s vice president of international business. Ci&T was delivering high-quality products on time and within budget, but it needed to deliver more business agility, he said. Ci&T wanted to scale back their process, because despite being successful with RUP, there were other options out there to become even more efficient and “agile.”
After a year of practicing Scrum, Ci&T began coupling the agile methodology with the lean practice of Value Engineering (VE). This was an opportunity for the client and the business partner to discuss what work to start first, Mattiazzi said.
“By offering this tool, we gained a better understanding of what the value is that the application is delivering,” he said. Since adopting VE, Ci&T has added Val IT and Business Process Management to create a much more complete lean approach. Although Mattiazzi admits they will need to have other tools and techniques to fully implement lean, Ci&T has been able to eliminate enough waste that their projects today are 25% less expensive than when using previous methods, he said.
“Just agile with Scrum can’t be claimed as a lean approach,” Mattiazzi said. “It’s just one tool or technique that you have to implement lean principles.”
And although Mattiazzi agrees there are similarities between agile and lean, he views the two quite separately. “I think of lean as the intent, and agile as a means to reach that intent.”
Not all agree, though: “I think it’s both,” Adamopoulos said. “It’s a frame of mind as much as an actual process.”