69
But first Saturday, May 23, 2009

The Craftsman Developer In An Agile World

Embed Size (px)

DESCRIPTION

The Craftsman Developer In An Agile World - presented by Corey Haines at OpenAgile Romania conference eLiberatica 2009

Citation preview

Page 1: The Craftsman Developer In An Agile World

But first

Saturday, May 23, 2009

Page 2: The Craftsman Developer In An Agile World

Why do we write bad code?

Saturday, May 23, 2009

Page 3: The Craftsman Developer In An Agile World

When do we write bad code?

Saturday, May 23, 2009

Page 4: The Craftsman Developer In An Agile World

Pressure

Saturday, May 23, 2009

Page 5: The Craftsman Developer In An Agile World

Have to get it done!

Saturday, May 23, 2009

Page 6: The Craftsman Developer In An Agile World

“Get It Done”vs

“Do It Right”

Saturday, May 23, 2009

Page 7: The Craftsman Developer In An Agile World

Hack Away At Code

Saturday, May 23, 2009

Page 8: The Craftsman Developer In An Agile World

An idea

Saturday, May 23, 2009

Page 9: The Craftsman Developer In An Agile World

Constant Pressure

Saturday, May 23, 2009

Page 10: The Craftsman Developer In An Agile World

Every Month, in fact

Saturday, May 23, 2009

Page 11: The Craftsman Developer In An Agile World

Sound Familiar?

Saturday, May 23, 2009

Page 12: The Craftsman Developer In An Agile World

Agile?

Saturday, May 23, 2009

Page 13: The Craftsman Developer In An Agile World

Corey Haines

Journeyman Developer

[email protected]

www.coreyhaines.com

That’s Me!

@coreyhaines

Saturday, May 23, 2009

Page 14: The Craftsman Developer In An Agile World

The Craftsman Developerwhy you need to be one

Corey Hainespresented by

at

Saturday, May 23, 2009

Page 15: The Craftsman Developer In An Agile World

or

Saturday, May 23, 2009

Page 16: The Craftsman Developer In An Agile World

Why Agile Can Fail

Saturday, May 23, 2009

Page 17: The Craftsman Developer In An Agile World

Naked Scrum

Saturday, May 23, 2009

Page 18: The Craftsman Developer In An Agile World

Scrum Assumption

Saturday, May 23, 2009

Page 19: The Craftsman Developer In An Agile World

DevelopersSelf-Organize

Saturday, May 23, 2009

Page 20: The Craftsman Developer In An Agile World

Responsible Developers

Saturday, May 23, 2009

Page 21: The Craftsman Developer In An Agile World

Usual Process

Saturday, May 23, 2009

Page 22: The Craftsman Developer In An Agile World

Beautiful System

Saturday, May 23, 2009

Page 23: The Craftsman Developer In An Agile World

Add a feature

Saturday, May 23, 2009

Page 24: The Craftsman Developer In An Agile World

Add a new feature

Saturday, May 23, 2009

Page 25: The Craftsman Developer In An Agile World

Change a feature

Saturday, May 23, 2009

Page 26: The Craftsman Developer In An Agile World

Time Passes

Saturday, May 23, 2009

Page 27: The Craftsman Developer In An Agile World

Look Familiar

Saturday, May 23, 2009

Page 28: The Craftsman Developer In An Agile World

Add a new feature

How?

Saturday, May 23, 2009

Page 29: The Craftsman Developer In An Agile World

Crap Code

Saturday, May 23, 2009

Page 30: The Craftsman Developer In An Agile World

Software Gardener

Saturday, May 23, 2009

Page 31: The Craftsman Developer In An Agile World

Saturday, May 23, 2009

Page 32: The Craftsman Developer In An Agile World

Saturday, May 23, 2009

Page 33: The Craftsman Developer In An Agile World

Constant Cleaning

Saturday, May 23, 2009

Page 34: The Craftsman Developer In An Agile World

Emergent Design

Saturday, May 23, 2009

Page 35: The Craftsman Developer In An Agile World

Add a feature

Saturday, May 23, 2009

Page 36: The Craftsman Developer In An Agile World

Clean It Up

Saturday, May 23, 2009

Page 37: The Craftsman Developer In An Agile World

Add a new feature

Saturday, May 23, 2009

Page 38: The Craftsman Developer In An Agile World

Clean It Up

Saturday, May 23, 2009

Page 39: The Craftsman Developer In An Agile World

Change a feature

Saturday, May 23, 2009

Page 40: The Craftsman Developer In An Agile World

Time Passes

Saturday, May 23, 2009

Page 41: The Craftsman Developer In An Agile World

Clean Architecture

Saturday, May 23, 2009

Page 42: The Craftsman Developer In An Agile World

Over Time

Saturday, May 23, 2009

Page 43: The Craftsman Developer In An Agile World

How do you do this?

Saturday, May 23, 2009

Page 44: The Craftsman Developer In An Agile World

Extreme Programming(XP)

Saturday, May 23, 2009

Page 45: The Craftsman Developer In An Agile World

Development Techniques

Saturday, May 23, 2009

Page 46: The Craftsman Developer In An Agile World

Saturday, May 23, 2009

Page 47: The Craftsman Developer In An Agile World

Why don’t we do them?

Saturday, May 23, 2009

Page 48: The Craftsman Developer In An Agile World

We don’t know how

Saturday, May 23, 2009

Page 49: The Craftsman Developer In An Agile World

How do you learn to do it?

Saturday, May 23, 2009

Page 50: The Craftsman Developer In An Agile World

Emergent Design / Evolutionary Design

Saturday, May 23, 2009

Page 51: The Craftsman Developer In An Agile World

Over Time

Saturday, May 23, 2009

Page 52: The Craftsman Developer In An Agile World

Test-Driven Development

(TDD)

Saturday, May 23, 2009

Page 53: The Craftsman Developer In An Agile World

How do we learn?

Saturday, May 23, 2009

Page 54: The Craftsman Developer In An Agile World

Work != Practice

Saturday, May 23, 2009

Page 55: The Craftsman Developer In An Agile World

Agilists assume Craftsmanship, only few people pursue craftsmanship

- Jurgen Appeloearlier today

Saturday, May 23, 2009

Page 56: The Craftsman Developer In An Agile World

How do we practice?

Saturday, May 23, 2009

Page 57: The Craftsman Developer In An Agile World

Software Craftsmanshiphttp://manifesto.softwarecraftsmanship.org/

Saturday, May 23, 2009

Page 58: The Craftsman Developer In An Agile World

Continual Learning

Saturday, May 23, 2009

Page 59: The Craftsman Developer In An Agile World

Deliberate Practice

Saturday, May 23, 2009

Page 60: The Craftsman Developer In An Agile World

Practice Techniques

Code KataCoding Dojo

Code RetreatAcceptance Test-based

Saturday, May 23, 2009

Page 61: The Craftsman Developer In An Agile World

Coding Dojo

Saturday, May 23, 2009

Page 62: The Craftsman Developer In An Agile World

Kata

Saturday, May 23, 2009

Page 63: The Craftsman Developer In An Agile World

Performed Kata

Saturday, May 23, 2009

Page 64: The Craftsman Developer In An Agile World

Code Retreat

Saturday, May 23, 2009

Page 65: The Craftsman Developer In An Agile World

Acceptance Test-Based

Saturday, May 23, 2009

Page 66: The Craftsman Developer In An Agile World

Practice

Saturday, May 23, 2009

Page 67: The Craftsman Developer In An Agile World

Minimize Distance Between “Get it Done”

and “Do it Right”

Saturday, May 23, 2009

Page 68: The Craftsman Developer In An Agile World

Stop Writing Crap

Saturday, May 23, 2009

Page 69: The Craftsman Developer In An Agile World

Thank You!

Contact Information:www.coreyhaines.com

Thanks to

Saturday, May 23, 2009