Definition

lean software development

This definition is part of our Essential Guide: Guide: Important steps to improving your QA career
Contributor(s): Valerie Silverthorne

Lean software development is a concept that emphasizes optimizing efficiency and minimizing waste in the development of software. This approach has its roots in the lean manufacturing movement of the 1980s, but is now considered an integral part of the Agile software development methodology.

Seven principles of lean software development

Lean principles center on the idea that less is more, and they aim to streamline every part of the software development lifecycle.

The concept is that efficiencies can be applied and waste can be managed at all levels: each individual, every department, interdepartmental operations, the organization as a whole, and the relationships of the organization with customers and suppliers.

When it comes to waste, the lean philosophy has a very broad definition that includes anything that doesn't add value to the product. A lean product development team should focus on learning and, because of the strong demand for software applications today, should decide on features as late as possible to eliminate the need to redo work as the market changes. At the same time, there is equal pressure to deliver as fast as possible.

Lean software development

The last three lean principles share a lot in common with Agile thinking. The idea that the team sets the pace -- or, in Agile terms, the sprint -- and is responsible for delivering the promised product is directly in line with what Agile teams practice. And the phrase see the whole brings to mind the Agile retrospective where the team gathers at the end to discuss what successes and challenges it saw.

Lean vs. Agile

Because lean and Agile share so many principles in common, some argue that it's not an either or situation -- lean and Agile work hand in hand so seamlessly, you often can't tell them apart.

But a newer line of thinking suggests subtle, but important differences between the two processes. For example, a lean team is a tool that can be used to really refine or hone in on exactly what the product should be, while an Agile team actually builds the product.

The advantages of going lean

At a time when demand for software is exploding and companies cannot deliver apps quickly enough, it's easy to see why the less is more lean approach remains popular.

Lean also includes a critical piece of what many call modern application development: a focus on regular communication with customers. This is continuous improvement in all parts of the operation, and the rules have an upbeat and positive tenor.

This was last updated in August 2017

Continue Reading About lean software development

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Where do lean software development and Agile software development start in your organization?
Cancel

-ADS BY GOOGLE

File Extensions and File Formats

Powered by:

SearchMicroservices

TheServerSide.com

SearchCloudApplications

SearchAWS

SearchBusinessAnalytics

SearchFinancialApplications

SearchHealthIT

DevOpsAgenda

Close