Premium Resources

Lean Principles

Some of the Lean principles are:

  • Generate Value for the Customer, Society, and Economy

  • Evaluate every function on the company in terms of its ability to achieve this

  • Base your management decisions on a long-term philosophy, even at the expense of short-term goals

  • Redesign processes to achieve high-value-added, continuous flow

  • Create a flow to move material and information fast as well as to link processes and people together

  • Minimize WIP and inventory by stocking small amounts and frequently restocking based on what the customer process actually takes away

  • Be responsive to shifts in customer demand rather than rely on schedules.

Eliminate overburden (MURI) to people and equipment and unevenness (MURA) in the schedule Eliminating waste (MUDA) is just 1/3 of the Lean equation. Use Pull Systems to avoid overproduction. Build into your organization a support system to quickly solve problems and put in place countermeasures. Build a culture of stopping to fix problems, to get the quality right at the first time. Allow creative and individual expression to improve the standard, then incorporate into a new standard. Make decisions slowly by consensus thoroughly considering all the options; implement decisions rapidly.

Eliminate Waste:

The elimination of waste leads to the overall efficiency of the development process. This is turn speeds up the process of software development which reduces project time and cost. This is absolutely vital in today's environment. Anything which allows Organizations to deliver more projects in the same timeframe is going to be popular. Since it is just: Non-value-added effort required to create a product. Development of Unused Features. Time spent in creating and managing defect.

Build Quality:

There are quality assurance processes designed to avoid quality issues in the first place.

Two examples of Build Quality are:

1. Pair Programming

2. Test Driven Development

Pair Programming

Pair Programming seeks to avoid quality issues by applying the minds of two developers to each task. The task benefits from the collective, combined experience of two developers instead of one, often resulting in better productivity as they see solutions that on their own they might not have done.

Test Driven Development

Test Driven Development avoids quality issues by writing tests before writing code. In the simplest form, think about a Test Analyst/QA person writing the test conditions for each feature just before it’s developed.

If the developer knows how it’s going to be tested, they are much more likely to write code that addresses all the scenarios. By doing development in small incremental steps, through close collaboration, and by developing in small iterations, these agile methods provide the opportunity for constant two-way feedback between the Product Owner and the team. This feedback can be immensely valuable, inspecting and adapting the product every single day in order to ensure the right level of quality – and most importantly of all – the right product.

Agile development methods also encourage automated regression testing. Of course, this is a practice that is not unique to agile development but is another way to reduce the effort associated with finding quality issues before they occur in a live environment. Create Knowledge: Knowledge is important, and helps the longer term productivity and flexibility of the team, you need to take some specific actions in the short term and put some specific things in place to ensure that you create it. Exactly what you do, as always, depends on your particular situation.

Here are some things you could do on your projects to help create knowledge:

a) Pair Programming

b) Code reviews

c) Documentation