Henry Ford had a vision based on customer demand. In 1908 the Model T was introduced to the world and produced in a small, rented factory on Mack Avenue in Detroit, Michigan. Early models were produced at a rate of only a few a day by groups of two or three men working on each car. By 1913, Ford Motor Company had not only increased its man power, but also increased its efficiency by creating a moving assembly line which boosted annual production to 202,667 that year. Henry Ford’s vision and the Model T’s demand had developed the basic techniques of mass production.
In the 1980’s, a massive paradigm shift hit factories throughout the US and Europe. At the time, Toyota, a small Japanese company set its sights on manufacturing cars for Japan, but could not afford the enormous investment that single purpose machines seemed to require. Instead, Toyota researched waste in the industry and invented a process using multi-purpose machines, very low inventory and moving decision-making to production workers. The result was using less of everything compared to mass production – half the human effort in the factory, half the manufacturing space, half the investment tools and half the engineering hours to create a new product in half the time. “Lean” manufacturing was born.
If your company writes lengthy and stringent requirements documents, spends hours upon hours tracking change and has an office which continuously defines and monitors the development process, you are operating within a mass production paradigm. Below are 4 principles of lean development that will help you focus on a better way.
Principle 1: Eliminate Waste
Everything not adding value to the customer is considered waste. This includes:
- Bad code not built around a framework
- Involving team members who are not directly contributing to the project
- Unclear requirements
- Lack of communication
In order to eliminate waste it is important to understand what is wasteful. If a process or steps within a process can be eliminated while achieving the same result, it is waste. Processes and features not used by customers are waste. Refactoring due to lack of direction is waste. Identify waste then remove it from your system.
Principle 2: Give Power to the People
Songs by Public Enemy to Rage Against The Machine preach giving power to the people. It is also a valued principal of Lean development. The people doing the work are the center of resources, information process design authority, decision making authority and organizational energy. Implement a culture that:
- Creates team-oriented groups focused on flow of value, not functional expertise
- Transfers work and decision making from managers to production workers
- Encourages workers to find, expose and resolve problems as they occur
- Allows one employee to do multiple jobs
- Creates transparency and knowledge transfer
Principle 3: Decide as Late as Possible. Deliver as Quickly as Possible.
The best results are generally achieved based on facts, not speculation. Therefore, the more complex the solution, the more capacity for change should be built into it.
- Delay crucial decisions until they can be made based on facts
- Work in iterations to reduce the amount of complexity and uncertainty
- Adapt to change and correct mistakes
Once you have made a decision deliver as fast as possible. It is not the biggest that survives, but the fastest.
- Maximize the flow of information and delivered value (communicate early and often)
- Deliver the product without considerable defect
- Gather customer feedback and iterate
Principle 4: Optimize Across Organizations
It is important that all team members, including clients understand the process and are working toward the same goal. If you receive phone calls from a client wanting features added “yesterday” then your organization is not optimized. If your performance measurements vary from department to department you are not optimized. If multiple companies are involved in the project, but running different project management tools and processes, you will be less optimized. Truly optimized organizations practicing lean:
- Structure around teams that maintain responsibility for overall business value, rather than intermediate measurements such as their ability to speculate and pad estimates
- Structure around delivering increments of business value, with all the necessary skills on the same team
In conclusion, it takes a shift in mentality, personnel, and process to create a Lean environment. But once the shift is made you will realize that true value-based design and development not only increase internal productivity and profits, but also provides your customers with truly valuable features at a lower cost and faster time to market. If you are interested in learning more about Lean or Agile development I recommend following: