Thinking About Lean Software Development Training for yourself or your team?
Lean Software Development is an application of Lean-Thinking to software development. Lean-Thinking is based on Edwards Deming, Just-In-Time, and automating processes in an appropriate manner. While originating with Toyota, we now consider Toyota to be an example of Lean-Thinking and not defining role. This lets us teach Lean-Thinking without having to resort to manufacturing examples. Lean-Thinking's intent is to increase value delivered in a shorter time period with higher quality and lower cost.
There are three main components to Lean-Thinking:
|
|
Lean Science
Lean science tells us how to manage our projects so as to increase productivity and quality while decreasing costs. This is accomplished by focusing on delays and quality problems. Some basic guidance used is:- Eliminate waste
- Create Knowledge
- Respect People
- Build integrity in
- Defer Commitment
- Deliver Fast
- Optimize the whole
These are rooted in a mindset of creating an organization that continuously improves its process while respecting its people with a focus on adding value to its customers. Our course offerings on Lean Software Development present you with both the principles and basic practices of Lean, as applied to software development. Lean takes a systemic approach - most of our errors come from a common cause and therefore we must improve the process within which we work.
Lean also provides several "tools" to assis with improving an organizations' capabilities, e.g., Value Stream Mapping and the 5-whys.
Lean Management
Even with Lean's systemic view, the Lean paradigm is based on the belief that the people doing the work are best able to define the work. Hence, management's role is one of leadership, direction, support and education. Lean suggests managing with Visual Controls (i.e., charts and/or reports that the team uses to manage their work that also enables management to see what the team is doing). Lean provides a way for management to get involved and support teams while not using command and control to do so.
Lean Knowledge Stewardship
Much of the waste in a software development organization is in the form of relearning domain knowledge and lessones learned. Lean provides many ways to improve this process. These include Kaizens, After Action Reviews, A3s, and more.
Lean is based on blending a mindset of:
- a relentless pursuit of eliminating waste
- adding value to customers as quickly as possible
- creating and managing knowledge
- respecting and growing your people






