$30 off During Our Annual Pro Sale. View Details »

Factory, Workshop, Stage

sarahmei
November 06, 2015

Factory, Workshop, Stage

As developers, the hardest problems we deal with are people. We know how to test - but how do we get *time* to test? We know how to make our code clean - but how do we make clean code a *priority* for our team?

Our model of creating software has long been rooted in the metaphors of manufacturing and industry, and that has placed restrictions on the questions we can answer. Let's consider a new model for software development that places the people who do it in the center of the picture, instead of on the periphery, and see what new insights we can get about our projects.

sarahmei

November 06, 2015
Tweet

More Decks by sarahmei

Other Decks in Technology

Transcript

  1. FACTORY,
    WORKSHOP,
    STAGE Sarah Mei
    SCNA 2015
    Evolving
    Models of
    Software
    Creation
    https://www.flickr.com/photos/chiaralily/5597874964

    View Slide

  2. Hi!
    I’m Sarah.
    https://www.flickr.com/photos/lesphotosdejerome/514323710
    @sarahmei all the places

    View Slide

  3. Most software
    projects fail
    https://www.flickr.com/photos/brentleimenstoll/8403455075

    View Slide

  4. https://www.flickr.com/photos/brentleimenstoll/8403455075
    Projects never fail
    for technical
    reasons

    View Slide

  5. “The data store
    was too slow”
    https://www.flickr.com/photos/zeusandhera/2112069242

    View Slide

  6. Clean code is
    great
    https://www.flickr.com/photos/designmag/3637029694

    View Slide

  7. Clean code is
    not enough
    https://www.flickr.com/photos/designmag/3637029694

    View Slide

  8. Computers: easy
    https://www.flickr.com/photos/chrishunkeler/6962418534

    View Slide

  9. PEOPLE
    https://www.flickr.com/photos/chrishunkeler/6962418534

    View Slide

  10. SOFTWARE IS
    PEOPLE
    https://www.flickr.com/photos/chrishunkeler/6962418534

    View Slide

  11. https://www.flickr.com/photos/chrishunkeler/6962418534
    We need a model

    View Slide

  12. MODEL:
    FACTORY
    https://www.flickr.com/photos/fordeu/5709826282

    View Slide

  13. Assembly Line
    https://www.flickr.com/photos/fordeu/5709826282

    View Slide

  14. Mass production
    https://www.flickr.com/photos/fordeu/5709826282

    View Slide

  15. Deming & Taylor
    https://www.flickr.com/photos/fordeu/5709826282

    View Slide

  16. Commodity
    Repeatable
    Replaceable
    https://www.flickr.com/photos/image-catalog/18100395184

    View Slide

  17. Managers do all
    the thinking
    https://www.flickr.com/photos/image-catalog/18100395184

    View Slide

  18. Focus is quality
    https://www.flickr.com/photos/image-catalog/18100395184

    View Slide

  19. No developer
    believes this.
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  20. “Factory” is in the
    water
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  21. “Factory” is in the
    language
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  22. https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  23. PRODUCT SHIPPING
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  24. PRODUCT SHIPPING
    DEVELOPER PRODUCTIVITY
    WORK
    QUALITY
    EMPLOYMENT
    INDUSTRY
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  25. PRODUCT SHIPPING
    DESIGN IMPLEMENTATION
    DEVELOPER PRODUCTIVITY
    WORK
    QUALITY
    EMPLOYMENT
    INDUSTRY
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  26. PRODUCT SHIPPING
    DESIGN IMPLEMENTATION
    DEVELOPER PRODUCTIVITY
    WORK
    QUALITY
    EMPLOYMENT
    INDUSTRY
    INTEGRATION
    REMOTE
    FULLSTACK
    MANAGEMENT
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  27. PRODUCT SHIPPING
    DESIGN IMPLEMENTATION
    DEVELOPER PRODUCTIVITY
    WORK
    QUALITY
    EMPLOYMENT
    INDUSTRY
    HUMAN RESOURCES
    INTELLECTUAL PROPERTY
    ASSETS
    INTEGRATION
    REMOTE
    FULLSTACK
    MANAGEMENT
    https://www.flickr.com/photos/82955120@N05/7688424780

    View Slide

  28. We unconsciously
    refer to it
    https://www.flickr.com/photos/atoach/4256592098

    View Slide

  29. It’s the post-
    industrial default
    https://www.flickr.com/photos/atoach/4256592098

    View Slide

  30. We don’t have to
    use it in software
    https://www.flickr.com/photos/andyarmstrong/17935499125

    View Slide

  31. MODEL:
    WORKSHOP
    https://www.flickr.com/photos/therisinsun/5919003098

    View Slide

  32. https://www.flickr.com/photos/therisinsun/5919003098
    Masters,
    Journeymen,
    Apprentices

    View Slide

  33. https://www.flickr.com/photos/therisinsun/5919003098
    One-of-a-kind

    View Slide

  34. https://www.flickr.com/photos/therisinsun/5919003098
    Pride of
    workmanship

    View Slide

  35. https://www.flickr.com/photos/therisinsun/5919003098
    Developers do the
    thinking

    View Slide

  36. It’s a different view
    on software
    https://www.flickr.com/photos/22711505@N05/7304819202

    View Slide

  37. https://www.flickr.com/photos/22711505@N05/7304819202
    It suggests
    different actions

    View Slide

  38. https://www.flickr.com/photos/5_v/12199855844
    Round 1:
    Questions

    View Slide

  39. https://www.flickr.com/photos/jarodcarruthers/16631103620
    How do I hire?
    train?
    work?
    remove?

    View Slide

  40. https://www.flickr.com/photos/jarodcarruthers/16631103620
    1. How do I hire?
    F: similarity

    View Slide

  41. https://www.flickr.com/photos/jarodcarruthers/16631103620
    1. How do I hire?
    F: similarity
    W: potential

    View Slide

  42. https://www.flickr.com/photos/jarodcarruthers/16631103620
    2. How do I train?

    View Slide

  43. https://www.flickr.com/photos/jarodcarruthers/16631103620
    2. How do I train?
    F: books, classes

    View Slide

  44. https://www.flickr.com/photos/jarodcarruthers/16631103620
    2. How do I train?
    F: books, classes
    W: guided learning

    View Slide

  45. https://www.flickr.com/photos/jarodcarruthers/16631103620
    3. How do I work?

    View Slide

  46. https://www.flickr.com/photos/jarodcarruthers/16631103620
    3. How do I work?
    F: individually

    View Slide

  47. https://www.flickr.com/photos/jarodcarruthers/16631103620
    3. How do I work?
    F: individually
    W: a mix

    View Slide

  48. https://www.flickr.com/photos/jarodcarruthers/16631103620
    4. How do I remove?

    View Slide

  49. https://www.flickr.com/photos/jarodcarruthers/16631103620
    4. How do I remove?
    F: pink slip

    View Slide

  50. https://www.flickr.com/photos/jarodcarruthers/16631103620
    4. How do I remove?
    F: pink slip
    W: offer assistance

    View Slide

  51. https://www.flickr.com/photos/5_v/12199855844
    Seems legit

    View Slide

  52. https://www.flickr.com/photos/5_v/12199855844
    We want to believe

    View Slide

  53. https://www.flickr.com/photos/andyarmstrong/17935499125
    Round 2:
    Observations

    View Slide

  54. https://www.flickr.com/photos/jarodcarruthers/16631103620
    5. No more “products”

    View Slide

  55. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: ???
    5. No more “products”

    View Slide

  56. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    5. No more “products”

    View Slide

  57. https://www.flickr.com/photos/jarodcarruthers/16631103620
    6. Customers involved

    View Slide

  58. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: call support
    6. Customers involved

    View Slide

  59. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: call support
    6. Customers involved

    View Slide

  60. https://www.flickr.com/photos/jarodcarruthers/16631103620
    7. Expensive turnover

    View Slide

  61. https://www.flickr.com/photos/jarodcarruthers/16631103620
    7. Expensive turnover
    F: ???

    View Slide

  62. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: lost investment
    7. Expensive turnover
    F: ???

    View Slide

  63. https://www.flickr.com/photos/jarodcarruthers/16631103620
    8. Bad hire = disaster

    View Slide

  64. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: ???
    8. Bad hire = disaster

    View Slide

  65. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    8. Bad hire = disaster

    View Slide

  66. https://www.flickr.com/photos/jarodcarruthers/16631103620
    9. Silos make it harder

    View Slide

  67. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: ???
    9. Silos make it harder

    View Slide

  68. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    9. Silos make it harder

    View Slide

  69. We’re missing a
    model
    https://www.flickr.com/photos/brentleimenstoll/8406018638

    View Slide

  70. https://www.flickr.com/photos/brentleimenstoll/8406018638
    Projects fail
    because people

    View Slide

  71. https://www.flickr.com/photos/brentleimenstoll/8406018638
    We need a model
    centered
    on people

    View Slide

  72. https://www.flickr.com/photos/brentleimenstoll/8406018638
    We need a model
    centered
    on people
    not product

    View Slide

  73. MODEL:
    STAGE
    https://www.flickr.com/photos/ny156uk/8151247360

    View Slide

  74. A play:
    just dialog
    https://www.flickr.com/photos/ny156uk/8151247360

    View Slide

  75. A script:
    just a skeleton
    https://www.flickr.com/photos/ny156uk/8151247360

    View Slide

  76. Actors selected
    https://www.flickr.com/photos/pss/424540015

    View Slide

  77. First rehearsal:
    script & ideas
    https://www.flickr.com/photos/pss/424540015

    View Slide

  78. Rehearsals
    change ideas
    https://www.flickr.com/photos/pss/424540015

    View Slide

  79. Actors play off
    each other
    https://www.flickr.com/photos/pss/424540015

    View Slide

  80. There’s a lot of
    bad acting
    https://www.flickr.com/photos/pss/424540015

    View Slide

  81. The team gels
    https://www.flickr.com/photos/pss/424540015

    View Slide

  82. They find a
    direction
    https://www.flickr.com/photos/pss/424540015

    View Slide

  83. Lots of hard
    work ahead
    https://www.flickr.com/photos/stanzim/20191122833

    View Slide

  84. Direction may
    change
    https://www.flickr.com/photos/stanzim/20191122833

    View Slide

  85. OPENING NIGHT
    doesn’t move!
    https://www.flickr.com/photos/webtreatsetc/4430285700

    View Slide

  86. Creativity on a
    deadline
    https://www.flickr.com/photos/webtreatsetc/4430285700

    View Slide

  87. Elements of art,
    with boundaries
    https://www.flickr.com/photos/webtreatsetc/4430285700

    View Slide

  88. Constrained by
    script & deadline
    https://www.flickr.com/photos/webtreatsetc/4430285700

    View Slide

  89. Software always
    has constraints
    https://www.flickr.com/photos/stanzim/15562256414

    View Slide

  90. Software should
    allow us creativity
    https://www.flickr.com/photos/stanzim/15562256414

    View Slide

  91. Script:
    “e-commerce site”
    https://www.flickr.com/photos/stanzim/15562256414

    View Slide

  92. Deadline:
    “done by June 2”
    https://www.flickr.com/photos/stanzim/15562256414

    View Slide

  93. How:
    depends on team
    https://www.flickr.com/photos/stanzim/15562256414

    View Slide

  94. https://www.flickr.com/photos/5_v/12199855844
    Can we ask it
    questions?

    View Slide

  95. https://www.flickr.com/photos/jarodcarruthers/16631103620
    How do I hire?
    train?
    work?
    remove?

    View Slide

  96. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: similarity
    W: potential
    1. How do I hire?

    View Slide

  97. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: similarity
    W: potential
    S: what they’ll add
    1. How do I hire?

    View Slide

  98. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: books, classes
    W: guided learning
    2. How do I train?

    View Slide

  99. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: books, classes
    W: guided learning
    S: hang out, just do
    2. How do I train?

    View Slide

  100. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: individually
    W: a mix
    3. How do I work?

    View Slide

  101. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: individually
    W: a mix
    S: a mix
    3. How do I work?

    View Slide

  102. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: pink slip
    W: offer assistance
    4. How do I remove?

    View Slide

  103. https://www.flickr.com/photos/jarodcarruthers/16631103620
    F: pink slip
    W: offer assistance
    S: different team
    4. How do I remove?

    View Slide

  104. https://www.flickr.com/photos/5_v/12199855844
    Stage answers
    questions better

    View Slide

  105. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: building a thing
    F: producing things
    5. No more “products”

    View Slide

  106. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: building a thing
    F: producing things
    S: creating an
    experience
    5. No more “products”

    View Slide

  107. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: accept our work
    F: call support
    6. Customers involved

    View Slide

  108. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: accept our work
    F: call support
    S: contribute!
    6. Customers involved

    View Slide

  109. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: lost investment
    F: ???
    7. Expensive turnover

    View Slide

  110. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: lost investment
    F: ???
    S: different styles,
    group re-gels
    7. Expensive turnover

    View Slide

  111. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    8. Bad hire = disaster

    View Slide

  112. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    S: no more ability
    to “play”
    8. Bad hire = disaster

    View Slide

  113. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    9. Silos make it harder

    View Slide

  114. https://www.flickr.com/photos/jarodcarruthers/16631103620
    W: ???
    F: ???
    S: no rehearsals =
    quality varies
    9. Silos make it harder

    View Slide

  115. https://www.flickr.com/photos/5_v/12199855844
    Stage explains
    observations
    better

    View Slide

  116. https://www.flickr.com/photos/glassholic/18419412479
    Models co-exist

    View Slide

  117. Factory shows us
    the business
    around us
    https://www.flickr.com/photos/glassholic/18419412479

    View Slide

  118. Workshop shows us
    hands-on-keyboard
    https://www.flickr.com/photos/glassholic/18419412479

    View Slide

  119. https://www.flickr.com/photos/chrishunkeler/6962418534
    how we work
    together
    Stage shows us:

    View Slide

  120. https://www.flickr.com/photos/chrishunkeler/6962418534
    how we relate to
    each other
    Stage shows us:

    View Slide

  121. https://www.flickr.com/photos/chrishunkeler/6962418534
    how we keep joy
    and creativity
    Stage shows us:

    View Slide

  122. https://www.flickr.com/photos/chrishunkeler/6962418534
    group dynamics
    Stage shows us:

    View Slide

  123. https://www.flickr.com/photos/chrishunkeler/6962418534
    people
    Stage shows us:

    View Slide

  124. https://www.flickr.com/photos/chrishunkeler/6962418534
    the hardest part
    of software
    Stage shows us:

    View Slide

  125. https://www.flickr.com/photos/chrishunkeler/6962418534
    Try it

    View Slide

  126. It’s messy
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  127. It’s chaotic
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  128. It’s holistic
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  129. It’s inclusive
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  130. It’s accessible
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  131. It’s human
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  132. Just like software
    https://www.flickr.com/photos/abstract-art-fons/8958250964

    View Slide

  133. Sarah Mei, DevMynd Software
    Thank you!
    @sarahmei
    https://www.flickr.com/photos/chiaralily/5597874964

    View Slide