This document discusses applying lean thinking principles to software development. It describes lean's focus on reducing waste, defined as anything not adding value for the customer. Some key ways lean can be applied to software development discussed are: using a pull system to only start new tasks when previous ones are finished; reducing setup time between tasks; tracking and reducing queues that cause waiting; and identifying the seven common types of waste in manufacturing and how they translate to software development.