TKK Lecture: Lean Software Development
We were invited to lecture about Lean and Lean Software Development at TKK. The course was T-76.5612 Software Project Management. What is Lean? Lean is a management philosophy that seeks to maximise customer value and minimise work efforts while respecting all people during the process. It covers all levels from values, principles, practises to tools. Lean is best know for its production optimisation approach called Lean Manufacturing but more relevant to software development is the lean product development system. Lean especially emphasises how to think correctly. Lean has key concepts such as customer value, waste, value stream, visual controls, and etc that direct the work and search for customer value. In addition, Lean has some very practical tools such as Kanban cards for signalling and Andon system for allowing everybody to "stop the line" in case a problem is identified. Perhaps the best application of Lean to software development is documented by Mary and Tom Poppendieck in their book called Lean Software Development: An Agile Toolkit . Lean is very close to agile development in general. One way to put it is that Lean is stronger with Scrum practises and Scrum is stronger with Lean thinking. In other words, they complement each other. You can find the lecture slides here. I highly recommend everybody from programmers, to project managers and sales guys to study Lean ideas, concepts, principles and tools. It will change how you see the world!