The 7 Principles of Lean Development for Software &  Product Managers
Tags: leadership, management, productivity, testing
Published: 2021-02-02 19:52:46

[Lean product management](https://www.educative.io/blog/lean-product-management) is about getting products to the market faster by using a product that delivers more value to your customers. When it comes to development teams, this style requires the seven **lean principles.** Lean principles aim to optimize development and maximize a product's value to customers. 

As a product manager (PM), applying lean principles requires a shift in your mindset and team organization. Read on as we explore the 7 principles of lean management and how to become a modern, efficient PM.

**The principles at a glance:**

* [1. Respect people](#1)
* [2. Eliminate waste](#2)
* [3. Build quality through testing](#3)
* [4. Create and encourage knowledge](#4)
* [5. Keep your options open](#5)
* [6. Always think about optimization](#6)
* [7. Deliver things quickly](#7)

___

<a name="1"></a>


## 1. Respect people

Respecting people is a driving factor of [lean management](https://www.educative.io/blog/lean-product-management). Unfortunately, this principle is often overshadowed by other demands. In an industry where developers are treated as if interchangeable, it is crucial to reshift to a focus on *respect*. 

Respect should be a foundation of a team. Good communication, ongoing training, and onboarding processes are all parts of what make a team deliverable. A good lean PM **leads with respect** and implements respectful practices through training protocols, quick responses, and clear deadlines.

Teams that effectively apply this lean principle have these qualities in common:
* Proactive communication (not reactive)
* Balanced responsibilities amongst team members 
* Regular check-ins on professional progress, growth, or blockers 
* A shared mission and sense of collaboration 

<br>

<a name="2"></a>

## 2. Eliminate waste

Another key principle for lean management is **eliminating unnecessary things** that do not add to customer value. This also refers to changes in a product that result in customer dissatisfaction or confusion. Anything that might waste time should be reassessed. 

There is a lot of waste when it comes to software development that this lean principle tries to mitigate. The following are the most common examples of waste for a development team:
* Unclear or inconsistent messaging for marketing and delivery dates
* Unnecessary code functionalities
* Changes to a product without announcements or customer training 
* Promising functionalities before there is a plan in place
* Poor communication with stakeholders and partners
* Defects in a product/bugs in new functionalities 

<br>



<a name="3"></a>


## 3. Build quality through testing

This principle is about building effective strategies that result in higher quality products. All your efforts should be aimed at value for the customer, so building for quality will require discipline throughout your team.

To meet this principle, effective lean teams have found great success with the following tools and strategies: 
* Constant feedback from users and quality analysts 
* Regular [software testing](https://www.educative.io/blog/software-testing-types-101) for every requirement 
* Pair programming to avoid wasted work
* [Automating tasks](https://www.educative.io/blog/performance-testing-tutorial-gatling-jenkins) that are prone to error

<br>

<a name="4"></a>

## 4. Create and encourage knowledge

This lean development principle is all about ensuring that teams have the tools and knowledge to get the job done well. Clear documentation is just one part of this. A good lean PM should also encourage ongoing learning and cultivate a space where team members can get the help they need. 

To create an environment of ongoing learning, effective, lean teams have had great success with the following tools:
* Constructive code reviews
* Brown bag sharing sessions
* Standards for code commenting
* Regular documentation that is checked by non-developers for clarity
* Ongoing [developer training](https://www.educative.io/blog/enterprise/why-developer-training-broken) 

<br>



<a name="5"></a>


## 5. Keep your options open

This lean principle states that teams should be flexible and keep their options open  rather than making uninformed decisions. An effective, lean team is encouraged to take responsibility for **researching alternatives** and **gathering enough data** to make good decisions. 

Rushing to large or small decisions can result in wasted time, unhappy team members, and even the loss of a user base. Effective lean teams have the following standards in common:
* They do not make rigid or detailed plans months in advance
* They do not commit to projects before doing research 
* They do not develop products without aligning them to business requirements 
* They are constantly collecting data (i.e. user feedback) to assess success

<br>

<a name="6"></a>

## 6. Always think about optimization

This lean principle states that a lean team should optimize for *the whole*. this helps to avoid common software development pitfalls by focusing on the downstream effect of a task or product decision. 

The problem with sub-optimization is due to pressure to deliver quickly and poor testing. When there is too much pressure to deliver, developers tend to write subpar code. When code testers are overworked, there are delays between feedback and fixes, leading to defective code.

> Trying to optimize each part of a product individually is dangerous territory. Instead, a good PM encourages holistic optimization. 

The goal of lean development is to quickly deliver value to customers. This requires the **entire steam of work** to be optimized. To meet this principle, lean teams have had success with the following strategies: 
* Regular [software testing](https://www.educative.io/blog/software-testing-types-101) and code reviews 
* Build development teams that are multi-disciplined and co-located
* Set reasonable, flexible delivery goals and deadlines

<br>

<a name="7"></a>

## 7. Deliver things quickly

The goal of lean development is delivery value quickly. However, this does not mean that teams should work as quickly as possible, as we explored above. Instead, lean development means you should seek a **simple solution** and improve it through customer feedback. 

It is important to deliver quickly, but it is far better to deliver successfully. Working longer hours for the sake of speed leads to reckless decisions and poor code. 

As a PM, it's important to ask **"what is slowing my team down"** rather than to focus on "how can I make them work faster". Often times, a team just needs reorganization, flexible deadlines, and clearer product goals to deliver quickly. 

Successful lean teams try to avoid the following blockers to increase speed:
* Slow responses to blockers from PMs or other team members 
* Making detailed plans for future requirements before the product is ready
* Rigid expectations for [time estimations](https://www.educative.io/blog/10-tips-for-managing-time-estimations-on-coding-projects)
* Engineering complex solutions that could be solved more simply

<br>

<a name="next"></a>

## What to learn next 

Now that you have a sense of the 7 principles of lean management, you are ready to start applying them today. Being a successful, modern product manager requires a shift away from old tech-culture values. Instead, respect, flexibility, and customer value should be your primary goals. 

If you want to continue your learning, we recommend the following ideas next:
* Lean business modeling
* Innovation accounting
* Concept of minimal viable product (MVP)

To get started with these concepts, check out Educative's course **[Lean Product Management.](https://www.educative.io/courses/lean-product-management)** If you are looking to become a PM or you want some expert advice on leading your team, this is the ideal place to start. 

*Happy learning!*

<br>

### Continue reading about product management and leadership
* [What is Lean Product Management and How to Apply it Today](https://www.educative.io/blog/lean-product-management#apply) 
* [Introducing Artificial Intelligence for Engineering Managers](https://www.educative.io/blog/artificial-intelligence-for-engineering-managers)
* [How to plan a coding project in 8 easy steps](https://www.educative.io/blog/how-to-plan-a-coding-project)