Stefan Wöhrer, view all articles
17.02.2022
12 min read

How to Implement Software Projects Faster and Better with the LEAN Method

  • lean
Short summary:

LEAN software development is all the rage, promising massive advantages, high efficiency, and significant quality boosts for software projects.

LEAN software development is all the rage, promising massive advantages, high efficiency, and significant quality boosts for software projects. In this article, I provide an overview of the pros and cons, the fundamental principles, and tips on how to apply LEAN in practice for your software development projects.

LEAN: The New Thing?

The origins of the so-called Lean Management System date back to the early 20th century when entrepreneur Sakichi Toyoda, along with his sons and engineer Taiichi Ohno, founded the Toyota Production System . Soon, Toyota became known worldwide for its rapid innovation. This was achieved through a strong focus on the customer perspective, lean processes, continuous improvement, and above all, the never-ending search for WASTE and its elimination..

Now, a century later, this management system has been adapted to the world of software development. And indeed: These principles can be wonderfully applied to software projects and have often proven that a skilled application of LEAN can significantly boost productivity and quality.

Opportunities with LEAN

The method aims for the following advantages:

  • Faster delivery of software to customers
  • Higher quality of produced software
  • Time savings by identifying and eliminating unnecessary process steps
  • Reduced project costs
  • Increased motivation of the entire team through more responsibility and decision-making authority

The challenge in implementing this method is that it only works if employees are well-trained and experienced in eliminating WASTE. What this means exactly, we will look at now:

THE MOST IMPORTANT THING FIRST: VALUE vs. WASTE

To effectively use LEAN, it is essential to understand a central principle. Yes, like in any elaborate methodology, there is plenty of theory and lists here - and they are all meaningful. We will delve into these later. But let's zoom out briefly and take a look at the big picture - at the one fundamental principle from which everything follows:

Rule #1: When you work, you convert time into VALUE and WASTE.

VALUE is everything that is demonstrably valuable to our end customers. Something that is useful and applicable. Something customers are willing to pay us for! WASTE is everything else. In every single meeting, we must ask ourselves: "Is this meeting important enough that our customers would really be willing to pay for it?"

It is important to accept that there will always be WASTE. As soon as you work, you produce some VALUE and some WASTE.

The intuitive thought is probably: "I need to try to generate more VALUE". A good approach - but it is not the LEAN approach. Because LEAN means recognizing and eliminating WASTE as much as possible (the principle is called "Eliminate Waste" in English, so I use the term in German as well...).

Rule #2: If you produce less WASTE with the same output, you automatically produce more VALUE.

VALUE and WASTE are essentially viewed as communicating vessels. The amount of output remains the same, but the distribution changes. The less time you waste on things considered ballast, the more of your time flows into creating something truly valuable, something of VALUE.

How do I recognize whether something is VALUE or WASTE?

You now need to question and analyze everything you do with your time. This can be process steps or entire processes. It can be meetings, documents, documentation, software artifacts/source codes, workflows, your choice of communication tools, and ultimately also blog articles.

Is this blog article VALUE or WASTE for our customers? To easily determine whether something is VALUE or WASTE, you can ask yourself 3 simple questions:

  1. Is it important for our customers? A sprint review meeting is likely important for our customers, as it allows us to quickly receive and incorporate feedback for our software project. A meeting about which coffee we prefer will probably be rated as less important.
  2. Does it have positive effects on one of our products or services? Whatever we do - if it has no (direct or indirect) impact on our offerings, it has no impact on customers and should not be considered VALUE.
  3. Is it correct/error-free? When we deliver software that we know or assume contains errors in critical areas, that is classic WASTE that consumes a lot of time and nerves. For comparison: An airbag that does not deploy in an accident delivers no value, no matter how well it was designed.

So, what about this blog article?

  1. Is this blog article important for our customers? New employees at LEAN-Coders may not yet be as skilled in the LEAN methodology as our experienced colleagues. This blog article helps them acquire this knowledge faster. Additionally, it attracts applicants who are also interested in this topic. Our customers benefit from this, as they demand nothing less than the highest quality in software development projects.
  2. Does this blog article have an impact on one of our products or services? Yes, because the faster new employees can apply the LEAN method in practice, the faster we as a company can successfully and qualitatively handle an even larger number of software projects.
  3. Is the blog article correct/error-free? 100% error-free will probably never exist - neither in blog articles nor in software (see also The 5 Biggest Mistakes We Made in 2021

You can already start with this framework. Next, there will be information on how to recognize and reduce WASTE in practice. Consider whether you think that continuing to read this article will have a direct or indirect impact on your customers and your products/services. If so, keep reading!

What types of WASTE are there?

When it comes to recognizing WASTE, it helps to know the most common types of WASTE for software projects. There will be a follow-up blog article on this, but here’s a brief overview of the 7 biggest types of WASTE:

  1. Bureaucracy (Management Activities): Excessive management activities slow down performance delivery. (I think we can all agree on that...)
  2. Currently unnecessary features (Extra features): Prolongs the time until release/delivery to the customer. This results in feedback arriving later, and one can react to problems later, etc.
  3. "Multitasking" (Task switching): Switching back and forth between tasks creates overhead and sluggishness, ultimately reducing productivity.
  4. Delays (Waiting): Often "WASTE smells" and prolong the time until the product is delivered to end customers.
  5. Inefficient communication/documentation (Handoffs): Slows down project progress.
  6. Bugs, quality issues (Defects): Lead to the delivery of defective products.
  7. Incomplete work (Partially done work): Increases the complexity of the overall system without delivering added value. Ideally, projects should be worked on sequentially.

If you want to dive deeper into WASTE recognition and countermeasures, feel free to check out the following article: WASTE Alert! 3 Essential Measures Against Bugs in Software Projects

The 7 Principles of LEAN Software Development

According to the LEAN method, the following 7 principles must be adhered to or kept in mind and improved to ensure efficient project progress. In combination with the previously discussed types of WASTE, we can now see a larger picture: The WASTES prevent a good implementation of these principles.

  • Eliminate WASTE: Following the motto "there is always more WASTE," this is the core of LEAN. With much practice and training, you will become a "WASTE detector" and can eliminate unnecessary ballast from the project.
  • Learn Quickly: Here, "learning" particularly means internalizing customers and their processes, domain, problems, structure, and working methods. Learning quickly also means using rapid release cycles or prototypes to receive quick feedback and "learn" what your customer really needs.
  • Decide Late: Making a decision now that needs to be made in 2 months is WASTE. First, there is surely something more important to do than deciding something that has no impact yet. Secondly, in 2 months, you may have much more information and could make a much better decision. Therefore, be careful to make decisions as early as necessary and as late as possible.
  • Deliver Quickly: Fast release cycles bring VALUE to customers quickly, and you receive quick feedback in return, allowing you to implement the next software package for the project even better. Scrum, for example, is an excellent project management method that supports fast release cycles.
  • Empower the Team: Power to the People! Rely on your team's competence. This eliminates unnecessary decision cycles and communication paths and ultimately also potential for misunderstandings. Decisions that the team can make based on its skill set should be made by the team itself.
  • Enforce Integrity/Quality: It has never been more important, but also never easier, to implement complex software systems "defensively" and well thought out and structured. A well-considered system and software architecture, use of design patterns, linting, continuous integration, automated tests, etc., are good concrete means to maintain the integrity of the software.
  • Optimize the Big Picture: A project is only successful if all project parts work. Your software must integrate as smoothly into the overall system as a 3rd-party tool or the interface to the internal IT system. Another interesting dimension is the temporal one. It would be WASTE to want to foresee now which features might be desired in 2 years. But well-secured information that is already available can certainly influence architectural considerations, etc.

I will write a separate article on these principles in the near future, as a more detailed discussion would exceed the scope here.

7 Tips for Practice

Finally, I want to give you a few tips that have proven effective in implementing LEAN in practice:

  • Better Done Than Perfect Delivering 50% VALUE early is better than delivering 100% VALUE late. Short release cycles and targeted avoidance of overengineering make this possible. Ask yourself: What features does the software absolutely need to go live with a first version?
  • Fail Fast, Learn Rapidly: Don't hesitate to tackle difficult challenges in your project early, and learn quickly from the mistakes you make along the way.
  • Think Big, Act Small: Think visionary, as if you were the market leader, but work (diligently) as if it were your first week as a sole entrepreneur.
  • Agile Software Development: Use Scrum, Kanban, or another agile software development method whenever possible. They offer many benefits that align well with LEAN.
  • Full Transparency: Design processes, access, documentation, and communication to be as transparent as possible to quickly identify and eliminate WASTE, and to support the principle "rapid learning".
  • Retrospectives: Hold regular retrospective meetings to evaluate what has gone well or poorly in the project. Retrospectives are powerful WASTE-identification tools.
  • Task Based Working (PULL instead of PUSH principle): Those who work task-based (e.g., with a Kanban/Scrum board or a task list) reduce communication overhead and waiting times. If you need to hand over a work package to someone, don't communicate immediately and directly; instead, create a task or a ticket. The target person will pull the work package when they have the capacity.

Conclusion

LEAN is already in the name of LEAN-Coders. We stand for "Create Value Without Waste", and after reading this article, you now know very well what that means in practice. We are constantly working to sharpen and train our "WASTE detectors".

With LEAN, you can optimize your performance in software projects, increase quality, and even deliver faster.

If you're interested in collaborating or working with us as LEAN software developers, feel free to contact us here on the website or through social media.

this is the end my friend

Who wrote it

Stefan Wöhrer CEO & Senior Software Architect

Stefan combines technical expertise with entrepreneurial thinking. As CEO and Senior Software Architect, he shapes systems and strategy, guides projects from conception to implementation, and creates scalable, future-proof solutions with a focus on clear, sustainable structures.