Slide 1

Slide 1 text

Values Driven Development H. Alan Stevens

Slide 2

Slide 2 text

Nobody ever gets everything they want from a software system.

Slide 3

Slide 3 text

Software is Complex

Slide 4

Slide 4 text

"Everything should be made as simple as possible, but no simpler." Albert Einstein

Slide 5

Slide 5 text

Compromise

Slide 6

Slide 6 text

"Under the hood, most critical software you use every day (like Mac OS X, or Facebook) contains a terrifying number of hacks and shortcuts that happen to barely fit together into a working whole." Ben Cherry

Slide 7

Slide 7 text

Fast, Good or Cheap Pick Two

Slide 8

Slide 8 text

Budget Scope Schedule The Iron Triangle

Slide 9

Slide 9 text

Tradable Quality

Slide 10

Slide 10 text

The Design Stamina Hypothesis http://martinfowler.com/bliki/DesignStaminaHypothesis.html

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Quality is building it right Design is building the right thing

Slide 13

Slide 13 text

My biggest challenge as a developer is coding the right thing, rather than coding the thing right. Liz Koegh

Slide 14

Slide 14 text

Design > Quality

Slide 15

Slide 15 text

It doesn’t matter how well you build the wrong thing.

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

“I expect a programmer to apply the appropriate amount of rigor, discipline and excellence to any situation.” Dan North

Slide 18

Slide 18 text

Quality has a minimum acceptable threshold

Slide 19

Slide 19 text

Good enough is good enough.

Slide 20

Slide 20 text

“Alan will always do the right thing no matter how long it takes or how much it costs.” Ross Young

Slide 21

Slide 21 text

Technical Debt

Slide 22

Slide 22 text

Show me the values!

Slide 23

Slide 23 text

"We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris." Larry Wall

Slide 24

Slide 24 text

Laziness

Slide 25

Slide 25 text

Impatience

Slide 26

Slide 26 text

Hubris

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools
 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. http://agilemanifesto.org/

Slide 29

Slide 29 text

Individuals and Interactions

Slide 30

Slide 30 text

Working Software

Slide 31

Slide 31 text

Customer Collaboration

Slide 32

Slide 32 text

Responding to Change

Slide 33

Slide 33 text

“A fanatic is one who redoubles his effort when he has forgotten his aim.” George Santayana

Slide 34

Slide 34 text

“The real goal of the methodologies is to sell books, not to actually solve anybody's problem.” Joel Spolsky

Slide 35

Slide 35 text

Fuck Software Craftsmanship

Slide 36

Slide 36 text

Next topic…

Slide 37

Slide 37 text

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. Through this work we have come to value: • Not only working software, but also well- crafted software • Not only responding to change, but also steadily adding value • Not only individuals and interactions, but also a community of professionals • Not only customer collaboration, but also productive partnerships That is, in pursuit of the items on the left we have found the items on the right to be indispensable.

Slide 38

Slide 38 text

Well-crafted Software

Slide 39

Slide 39 text

Steadily Adding Value

Slide 40

Slide 40 text

A Community of Professionals

Slide 41

Slide 41 text

Productive Partnerships

Slide 42

Slide 42 text

Being against craftsmanship is like being against World Peace, kittens or sliced bread. David Harvey

Slide 43

Slide 43 text

“The craft of programming begins with empathy, not formatting or languages or tools or algorithms or data structures.” Kent Beck

Slide 44

Slide 44 text

The *ILITIES Agility Testability Readability Reversibility Changeability Flexibility Maintainability Coined by Kevlin Henney

Slide 45

Slide 45 text

"The standard you walk past is the standard you accept” Lt-Gen David Morrison

Slide 46

Slide 46 text

“By allowing it to happen, without stepping in, you are giving it your implicit approval.” Paul Cowan