The Limited Red Society Joshua Kerievsky Industrial Logic, Inc. - - PowerPoint PPT Presentation

the limited red society
SMART_READER_LITE
LIVE PREVIEW

The Limited Red Society Joshua Kerievsky Industrial Logic, Inc. - - PowerPoint PPT Presentation

The Limited Red Society Joshua Kerievsky Industrial Logic, Inc. joshua@industriallogic.com Twitter: @JoshuaKerievsky Major League Baseball Team Salaries - 2002 The Art of Winning An Unfair Game Team Strategy In A Graph Can we predict By


slide-1
SLIDE 1

The Limited Red Society

Joshua Kerievsky Industrial Logic, Inc. joshua@industriallogic.com Twitter: @JoshuaKerievsky

slide-2
SLIDE 2

Major League Baseball Team Salaries - 2002

slide-3
SLIDE 3

The Art of Winning An Unfair Game

slide-4
SLIDE 4

“Can we predict a winning team based on its passing pattern?”

Team Strategy In A Graph By Javier López Peña and Hugo Touchette School of Mathematical Sciences Queen Mary, University of London

slide-5
SLIDE 5
  • Total Passes: 229
  • Network Center: 6
  • Left-Focused Play
  • Focus on Few Players
  • Quick Attacks/Counterstrikes
  • Total Passes: 462
  • Network Centers: 3, 8, 11, 14
  • Centrality Well Distributed
  • Midfield Concentration
  • Intricate Play
slide-6
SLIDE 6
slide-7
SLIDE 7
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

Complexity & Coverage

slide-11
SLIDE 11

What About What Happens During A Checkout?

slide-12
SLIDE 12
slide-13
SLIDE 13
slide-14
SLIDE 14
slide-15
SLIDE 15

TO DO IN PROGRESS DONE

slide-16
SLIDE 16

TO DO IN PROGRESS DONE

slide-17
SLIDE 17

My Tests Are Green!

slide-18
SLIDE 18

TO DO IN PROGRESS DONE

slide-19
SLIDE 19

Green?

slide-20
SLIDE 20

Pink!

slide-21
SLIDE 21
slide-22
SLIDE 22

Compilation Rash

slide-23
SLIDE 23

Compilation Errors

slide-24
SLIDE 24

Comfortably Pink

slide-25
SLIDE 25 // FIXME: This REALLY needs to be an enum so we don't have any more instances of forgetting to add a type to allTypes! public class TddEventType { public static final TddEventType NEW_GREEN_TEST = new TddEventType("NEW_GREEN_TEST", "green", "Circle", "New Green Test"); public static final TddEventType NEW_GOOD_RED_TEST = new TddEventType("NEW_GOOD_RED_TEST", "red", "Circle", "Started with a failing test"); public static final TddEventType NEW_BAD_RED_TEST = new TddEventType("NEW_BAD_RED_TEST", "red", "Circle", "New test while others still red"); public static final TddEventType MADE_IT_PASS = new TddEventType("MADE_IT_PASS", "green", "Circle", "Made new test pass!"); public static final TddEventType WENT_GREEN_BROKE_OTHERS = new TddEventType("WENT_GREEN_BROKE_OTHERS", "green", "Circle", "Went green, but broke other tests"); public static final TddEventType REFACTORED_GREEN = new TddEventType("REFACTORED_GREEN", "blue", "Circle", "Refactored while all tests green"); public static final TddEventType REFACTORED_RED = new TddEventType("REFACTORED_RED", "blue", "Circle", "Refactored with red tests"); public static final TddEventType REFACTORED_PINK = new TddEventType("REFACTORED_PINK", "blue", "Circle", "Refactored with compilation problems"); public static final TddEventType REFACTORED_WHITE = new TddEventType("REFACTORED_WHITE", "blue", "Circle", "Refactored while no errors present"); public static final TddEventType PREMATURE_CLASS_OR_METHOD = new TddEventType("PREMATURE_CLASS_OR_METHOD", "black", "Circle", "Added code prematurely"); public static final TddEventType CALLER_CREATED_CODE = new TddEventType("CALLER_CREATED_CODE", "black", "Circle", "Caller-created code"); public static final TddEventType REFACTORING_BEFORE_ANY_TESTS_WERE_RUN = new TddEventType("REFACTORING_BEFORE_TESTS_WERE_RUN", "blue", "Circle", "Refactored before tests were run"); public static final TddEventType ADDED_CODE_SMELL = new TddEventType("ADDED_CODE_SMELL", "purple", "Circle", "Added code smell"); public static final TddEventType REMOVED_CODE_SMELL = new TddEventType("REMOVED_CODE_SMELL", "purple", "Circle", "Removed code smell"); public final String id; public final String color; public final String shape; public final String description;
slide-26
SLIDE 26

public enum TddEventType { NEW_GREEN_TEST("green", "Circle", "New Green Test"), NEW_GOOD_RED_TEST("red", "Circle", "Started with a failing test"), NEW_BAD_RED_TEST("red", "Circle", "New test while others still red"), MADE_IT_PASS("green", "Circle", "Made new test pass!"), WENT_GREEN_BROKE_OTHERS("green", "Circle", "Went green, but broke other tests"), REFACTORED_GREEN("blue", "Circle", "Refactored while all tests green"), REFACTORED_RED("blue", "Circle", "Refactored with red tests"), REFACTORED_PINK("blue", "Circle", "Refactored with compilation problems"), REFACTORED_WHITE("blue", "Circle", "Refactored while no errors present"), PREMATURE_CLASS_OR_METHOD("black", "Circle", "Added code prematurely"), CALLER_CREATED_CODE("black", "Circle", "Caller-created code"), REFACTORING_BEFORE_ANY_TESTS_WERE_RUN("blue", "Circle", "Refactored before tests were run"), ADDED_CODE_SMELL("purple", "Circle", "Added code smell"), REMOVED_CODE_SMELL("purple", "Circle", "Removed code smell"); public final String id; public final String color; public final String shape; public final String description; ...

slide-27
SLIDE 27
slide-28
SLIDE 28

Visualize the Work

slide-29
SLIDE 29
slide-30
SLIDE 30

In Progress = Red

slide-31
SLIDE 31
slide-32
SLIDE 32

Shortest Longest Red

slide-33
SLIDE 33

“They reverted enough to finally discover a baby step that would get them to green and set them up to write the next test, all while limited time in the red.”

Shortest Longest Red

slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36

“A good retreat is better than a bad stand”

  • - Irish Proverb
slide-37
SLIDE 37

Narrowed Change

slide-38
SLIDE 38

Old Code Old Code Old Code Old Code Old Code Old Code

slide-39
SLIDE 39

Old Code Old Code Old Code Old Code Old Code Old Code

Old Code Old Code

slide-40
SLIDE 40

Old Code Old Code Old Code Old Code Old Code Old Code

New Code New Code

slide-41
SLIDE 41

Parallel Change

slide-42
SLIDE 42

Old Code Old Code Old Code Old Code Old Code Old Code New Code New Code New Code New Code New Code New Code

slide-43
SLIDE 43

Old Code Old Code Old Code Old Code Old Code Old Code New Code New Code New Code New Code New Code New Code

slide-44
SLIDE 44

New Code New Code New Code New Code New Code New Code

slide-45
SLIDE 45
slide-46
SLIDE 46

Continuous Deployment

2 4 6 8 10 12 5/31/2011 6/1/2011 6/2/2011 6/3/2011 6/4/2011 6/5/2011 6/6/2011 6/7/2011 6/8/2011

slide-47
SLIDE 47

The Limited Red Society

Accepting Members