We are independent & ad-supported. We may earn a commission for purchases made through our links.
Advertiser Disclosure
Our website is an independent, advertising-supported platform. We provide our content free of charge to our readers, and to keep it that way, we rely on revenue generated through advertisements and affiliate partnerships. This means that when you click on certain links on our site and make a purchase, we may earn a commission. Learn more.
How We Make Money
We sustain our operations through affiliate commissions and advertising. If you click on an affiliate link and make a purchase, we may receive a commission from the merchant at no additional cost to you. We also display advertisements on our website, which help generate revenue to support our work and keep our content free for readers. Our editorial team operates independently of our advertising and affiliate partnerships to ensure that our content remains unbiased and focused on providing you with the best information and recommendations based on thorough research and honest evaluations. To remain transparent, we’ve provided a list of our current affiliate partners here.
Internet

Our Promise to you

Founded in 2002, our company has been a trusted resource for readers seeking informative and engaging content. Our dedication to quality remains unwavering—and will never change. We follow a strict editorial policy, ensuring that our content is authored by highly qualified professionals and edited by subject matter experts. This guarantees that everything we publish is objective, accurate, and trustworthy.

Over the years, we've refined our approach to cover a wide range of topics, providing readers with reliable and practical advice to enhance their knowledge and skills. That's why millions of readers turn to us each year. Join us in celebrating the joy of learning, guided by standards you can trust.

What Is Lean Software Development?

By T.S. Adams
Updated: May 17, 2024
Views: 5,045
Share

Lean Software Development is a paradigm which describes a theoretical ideal set of circumstances for software creation. It's important to think of Lean Software Development as just one of many software development theories, each with their pros and cons. When using the Lean Software Development model, there are seven crucial points to understand: eliminate waste, amplify learning, late decision making, fast delivery, team empowerment, integrity building, and visualization of the whole.

Elimination of waste is both a time and money saving objective. By reducing the amount of surplus code and superfluous features in Lean Software Development, the software development team saves money and delivers tighter code to the end-user. Thus, programs created using the Lean Software model are less resource-intensive and more focused.

Learning amplification in Lean Software Development refers to the concept of using short cycles between testing phases. In theory, this provides more constant feedback to the engineers, in turn, allowing for problems to be identified earlier in the development chain. The end-users are included in these phases, ensuring that the beta versions of the program are meeting their needs.

Late decision making allows for additional flexibility in the design schedule, enabling decisions to be made only once the maximum number of facts have been collected. For example, deciding prior to beginning development that Program X should have Features A, B, and C might seem like a good idea, until on-the-ground testing reveals that those features are not possible to complete on time. In Lean Software Development, the decision to include A, B, and C would be delayed until it was certain whether it was actually possible.

Fast delivery refers to a preference for providing the end-user with a working beta model as quickly as possible — possibly when the program is 85 to 90 percent complete — and continuing to patch and upgrade that model over the life of the program. This contrasts with waiting until the program is 100 percent complete and delivering it then. In theory, this allows the end-user to squeeze more life out of the program, along with allowing the development team additional feedback from the working beta models.

Team empowerment means giving the team more autonomy during the programming process. As a result, they will theoretically become more invested in the project. Additionally, it means providing them with access to the customers, more closely matching expectations to actual delivery.

Finally, integrity building and seeing the whole focuses on viewing the program as a single unit. Contrast this with other systems, which view a program as a patchwork collection of different systems. This "big picture" way of thinking theoretically provides a more complete product, as the entire team is on the same page when it comes to the finished product.

Share
WiseGeek is dedicated to providing accurate and trustworthy information. We carefully select reputable sources and employ a rigorous fact-checking process to maintain the highest standards. To learn more about our commitment to accuracy, read our editorial process.

Editors' Picks

Discussion Comments
Share
https://www.wisegeek.net/what-is-lean-software-development.htm
Copy this link
WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.

WiseGeek, in your inbox

Our latest articles, guides, and more, delivered daily.