Keeping Your PHP Lean

22
Keeping Your PHP Lean Chris Cornutt ccornutt@phpdeveloper.org ZendCon ’09 - Unconference Wednesday, October 21, 2009

description

Keeping Your PHP Lean

Transcript of Keeping Your PHP Lean

Page 1: Keeping Your PHP Lean

Keeping Your PHP Lean

Chris Cornutt [email protected]

ZendCon ’09 - Unconference

Wednesday, October 21, 2009

Page 2: Keeping Your PHP Lean

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

Page 3: Keeping Your PHP Lean

Being Lean

•Customer value

•Mapped value stream

•Continuous flow

•Customer-focused pull

•Strive for perfection

Wednesday, October 21, 2009

Page 4: Keeping Your PHP Lean

History Lesson

•based on Toyota Production System

• “just in time”

•Autonomation

•DOTWIMP

Wednesday, October 21, 2009

Page 5: Keeping Your PHP Lean

Types of Waste•Defects

•Overproduction

•Transportation

•Waiting

• Inventory

•Motion

•Processing

•(Undervaluation)Wednesday, October 21, 2009

Page 6: Keeping Your PHP Lean

Lean Principles•Eliminate waste

•Build quality in

•Create knowledge

•Defer commitment

•Deliver fast

•Respect people

•Optimize the whole

Wednesday, October 21, 2009

Page 7: Keeping Your PHP Lean

Agile vs Lean

•Goals are different

•Scope is different

•Lean refines the process, not just the development

•Play well together

Wednesday, October 21, 2009

Page 8: Keeping Your PHP Lean

AgileDev

BusinessNeeds

Lean thinks

BIGGER

and smaller...

CustomerUse

Wednesday, October 21, 2009

Page 9: Keeping Your PHP Lean

Lean Planning

•Prioritize requirements

•Consider code reuse

• “Last responsible moment”

•Streamline the flow

Wednesday, October 21, 2009

Page 10: Keeping Your PHP Lean

Practice Zero

•Required for effective development

•Source control control

•Scripted builds

•Simpler testing, integration

Wednesday, October 21, 2009

Page 11: Keeping Your PHP Lean

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

Page 12: Keeping Your PHP Lean

Less Code

•Same amount of work

• Just work smarter!

•Fewer lines of code

•Optimized, tested, effective

Wednesday, October 21, 2009

Page 13: Keeping Your PHP Lean

Lean Code

• “Just in time”

•Trim the fat

• Implement best practices

• Justify the future

•Remember the 80/20 rule!

Wednesday, October 21, 2009

Page 14: Keeping Your PHP Lean

Lean Terms

Wednesday, October 21, 2009

Page 15: Keeping Your PHP Lean

Kaizen

•Standardize

•Calculate the performance difference

• Implement it

•Change standard to include new process

•Lather, rinse, repeat

Wednesday, October 21, 2009

Page 16: Keeping Your PHP Lean

Value Stream Map

•Easily find The Problems

•Remove waste

•Focuses on time, not cost

•Assumes that the rest will follow

Wednesday, October 21, 2009

Page 17: Keeping Your PHP Lean

VSM: Waterfall

Wednesday, October 21, 2009

Page 18: Keeping Your PHP Lean

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

Page 19: Keeping Your PHP Lean

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

Page 20: Keeping Your PHP Lean

Kanban : Board

Wednesday, October 21, 2009

Page 21: Keeping Your PHP Lean

Kanban : Board

Wednesday, October 21, 2009

Page 22: Keeping Your PHP Lean

Chris Cornutt

[email protected]

@enygma

@phpdeveloper

http://joind.in/talk/view/973

Contact

Wednesday, October 21, 2009