1. Keeping Your PHP
Lean
Chris Cornutt
ccornutt@phpdeveloper.org
ZendCon ’09 - Unconference
Wednesday, October 21, 2009
2. What is Lean?
The goal of lean thinking is to improve the
development of applications by reducing
waste both in the development process and
in the processes surrounding it.
This builds quality into the application and
allows you to deliver a more complete,
more robust end product.
Wednesday, October 21, 2009
3. Being Lean
•Customer value
•Mapped value stream
•Continuous flow
•Customer-focused pull
•Strive for perfection
Wednesday, October 21, 2009
4. History Lesson
•based on Toyota Production System
•“just in time”
•Autonomation
•DOTWIMP
Wednesday, October 21, 2009
6. Lean Principles
•Eliminate waste
•Build quality in
•Create knowledge
•Defer commitment
•Deliver fast
•Respect people
•Optimize the whole
Wednesday, October 21, 2009
7. Agile vs Lean
•Goals are different
•Scope is different
•Lean refines the process, not just the
development
•Play well together
Wednesday, October 21, 2009
10. Practice Zero
•Required for effective development
•Source control control
•Scripted builds
•Simpler testing, integration
Wednesday, October 21, 2009
11. Importance of Testing
•Good tests help with good code
•Tests as documentation
•Forces the developer to become a user
•“Red, Green, Refactor”
Wednesday, October 21, 2009
12. Less Code
•Same amount of work
•Just work smarter!
•Fewer lines of code
•Optimized, tested, effective
Wednesday, October 21, 2009
13. Lean Code
•“Just in time”
•Trim the fat
•Implement best practices
•Justify the future
•Remember the 80/20 rule!
Wednesday, October 21, 2009
18. The Five Whys
•Ask “why”
•At least five times, more can be good
too
•Root cause discovery
•Discovery along the way
Wednesday, October 21, 2009
19. Kanban
•Signal for replenishment
•Similar to the Agile boards (post-its)
•“Work unit” measurements
•Limit each step’s units allowed
•Make it visible!
Wednesday, October 21, 2009