Host: David WhitlockDate and Time: Wednesday, 1:00 PM
Lean on ME: What can software learn from manufacturing?
What do I I need to learn?
- New Product Integration
- Six Sigma? Danger! (We don't necessarily want to stamp out variation)
- How to deal with "waste"?
- In software, we need to be cognizant of local versus global optimization
- Swarming is an example of a global optimization
- Idle work versus idle people
- In Mob programming, some people might appear idle
- Setup and teardown time
- Utilization versus productivity
Is refactoring "waste"?
- No, it's like setup/teardown: refactoring keeps the work space clean which promotes safety, productivity, and quality
- Should we treat people like "machines"?
- Maybe? "Would you treat your servers that way?" (Would you over-work them, ignore them when they show signs of stress, etc.)
- Toyota Production System (TPS) has slack built in. They don't have the machines at 100% utilization
Acknowledge that the failure and its root cause is in the system, not the individual
- See/visualize the gemba
- Instrument software to be able to assess quality
- This is analogous to being able to verify the quality of a part that is misaligned by 0.5 millimeters -- a human can't see it
- Must be the customer's value stream, not just the engineering process
- Start at the end (deliverables)
- Iterative to surface cognitive biases
Andon: Do we respect people enough to support them when they pull the chain?
Lean for defining and prioritizing upstream work
Look for a piles of Work in Progress (WIP) in the system
- Limit WIP and make it visible
- Ideas are inventory (waste)
- How do we kill (discard) ideas quickly and make it clear as to why?
- "Options" with expiration, instead of "backlog"
- Coalesce similar backlog items
New Product Inception
- In manufacturing, car companies will prototype partial "cars" to learn
- Like a "stub" in software
- Kaizen: Keep changes small
- "Concurrent Engineering"
- Walking skeleton
Is there such a thing as Takt time in software?
- (Takt time is the available production time divided by customer demand. It's used to match production with demand.)
- Can we ever deliver features as fast (or faster) than our customers can think them up?
- Cadence (like a 2-week Sprint) is not takt time
- If you have small stories that can be predictably delivered, can you establish a takt time?
- Perhaps not because the "assembly line" (the environment in which the software is deployed) is always changing/evolving
"Waste" is software is anything that doesn't contribute to value
- Focus off removing waste and focus on delivering value
- Does reducing variability among create humans actually end up introducing variability and quash innovation?
Andon may be a leading indicator of quality
Use Kanban to make work visible
- Makes decisions visible, especially decisions made based on tradition
- Might those decisions or certain metrics be waste?
What books do you recommend?
- "Principles of Product Development" by Donald G. Reinertsen
- "Theory of Constraints" by Eliyahu M. Goldratt
- "The Phoenix Project" by Gene Kim and Kevin Behr
- "This is Lean" by Niklas Modig and Pär Åhlström
- "System of Profound Knowledge" by W. Edwards Deming
- "The Lean Machine" by Dantar P. Oosterwal
- "Toyota Kata" by Mike Rother
- Behavioral Engineering
Portland State University
Portland State University