This document discusses lean thinking for software developers. It begins by outlining some common mindsets in software development that lead to waste, such as being overconfident and not having enough time for testing and refactoring. It then discusses various types of waste found in software development processes. The document advocates adopting a lean mindset to maximize value for customers by removing waste through practices like test-driven development, refactoring continuously, and making codebases clean through frequent short releases. It concludes by discussing the need for changes in culture and mindset to fully embrace lean software development.