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

Patterns for Collaborative Software Development in a Social World at JavaOne 2015

Patterns for Collaborative Software Development in a Social World at JavaOne 2015

Modern Java software development is an endeavor that requires creativity, science, math, artistry, communication, strategy, and collaboration with colleagues across the globe. The sheer combinatorics of those requirements can seem overwhelming at times. The solution, just as we've done with design patterns for the code and architecture, is the establishment and use of patterns for human and machine communication.

Recommended reading and references:
- http://www.econtalk.org/archives/2014/05/marc_andreessen.html
- http://www.wsj.com/articles/SB10001424053111903480904576512250915629460
- https://kindle.amazon.com/work/the-wisdom-crowds-james-surowiecki-ebook/B000AFAT92/B000FCKC3I
- https://kindle.amazon.com/work/here-comes-everybody-organizing-organizations-ebook/B00149JVSI/B0013TTKQC
- https://kindle.amazon.com/work/the-future-management-gary-hamel-ebook/B000SYRSBW/B004OC07OE
- https://kindle.amazon.com/work/lean-enterprise-performance-organizations-innovate-ebook/B00DYALZDE/B00QL5MSF8
- https://kindle.amazon.com/work/supercooperators-altruism-evolution-other-succeed-ebook/B003UYD2FS/B003UV8TC2
- https://kindle.amazon.com/work/the-silo-effect-expertise-breaking-ebook/B00UFJA0WY/B00UDCNMXM
- https://kindle.amazon.com/work/creativity-inc-overcoming-unseen-inspiration-ebook/B00DFNC2FA/B00FUZQYBO
- https://kindle.amazon.com/work/design-thinking-integrating-innovation-experience-ebook/B002H001YG/B0038OOTBQ
- https://kindle.amazon.com/work/thinking-systems-donella-h-meadows-ebook/B001FEELKU/B001OC6NS6
- https://kindle.amazon.com/work/the-new-kingmakers-stephen-ogrady-ebook/B00BVEEXX4/B0097E4MEU
- https://kindle.amazon.com/work/predictably-irrational-revised-expanded-edition-ebook/B000SJVG56/B002C949KE
- https://kindle.amazon.com/work/team-genius-science-high-performing-organizations-ebook/B00OGJNXAK/B00OG8AXKO
- https://kindle.amazon.com/work/the-myths-innovation-scott-berkun-ebook/B0018LIUS4/B0026OR2PE
- https://kindle.amazon.com/work/multipliers-best-leaders-everyone-smarter-ebook/B00369LV32/B003M69A4Q
- https://kindle.amazon.com/work/the-accidental-creative-brilliant-moments-ebook/B004IRQTQ0/B004IYJDY8
- https://kindle.amazon.com/work/collaborative-intelligence-thinking-people-differently-ebook/B00N6PTIE0/B00N6PEVD8
- https://prezi.com/ks85jqrv6zfs/quality-experience-infodeck/
- https://github.com/trending?l=java&since=monthly
- http://www.wired.co.uk/news/archive/2015-10/06/cognitive-training-people-experts
- http://breakingsmart.com/season-1/the-serendipity-of-streams/

Matthew McCullough

October 29, 2015
Tweet

More Decks by Matthew McCullough

Other Decks in Programming

Transcript

  1. Collaborative

    Software Development
    in a social world
    Patterns for

    View Slide

  2. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  3. !v3.0

    View Slide

  4. View Slide

  5. @matthewmccull

    View Slide

  6. T

    View Slide

  7. 99th "

    View Slide

  8. 86th "

    View Slide

  9. passed the
    NYT "

    View Slide

  10. chasing
    Netflix "

    View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. Assembler

    View Slide

  15. VB

    View Slide

  16. Java

    View Slide

  17. View Slide

  18. 1MB data != 1MB knowledge

    View Slide

  19. Enhance your software development

    with this one easy trick

    View Slide

  20. if (data) then (knowledge)
    collaboration

    View Slide

  21. Human Email
    Auto Responders
    Mailing Lists
    Spreadsheets
    Calendar Events
    Meeting Notes
    Proposal Documents
    Pitch Decks
    Customer Transactions
    Analytics Results
    Survey Results
    Tweets
    Performance Monitors
    Bug Reports
    Work Tickets
    Build Logs
    Change Logs
    Server Logs
    Audit Logs

    View Slide

  22. data++ != knowledge++

    View Slide

  23. data

    View Slide

  24. data

    View Slide

  25. data

    View Slide

  26. data

    View Slide

  27. View Slide

  28. create Business Value

    View Slide

  29. Problem !

    View Slide

  30. Solution?

    View Slide

  31. 1 + 1 = [ [ (9 × 3) / 3 ] / 3 ] – 1

    View Slide

  32. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  33. Tools
    "

    View Slide

  34. easy

    View Slide

  35. easy…

    View Slide

  36. easy…right?

    View Slide

  37. Humans
    #

    View Slide

  38. What’s the problem?

    View Slide

  39. I wanted to help make it easier
    sustainable software development is Hard

    View Slide

  40. View Slide

  41. View Slide

  42. What are the hardest things about
    software development, today?

    View Slide

  43. Projects frequently get stuck in
    the planning phase
    10. $

    View Slide

  44. Stakeholders want regular
    progress reports
    9. $

    View Slide

  45. Our devs want self-organizing,
    startup culture teams
    8. $

    View Slide

  46. I don’t know who to assign to
    architectural projects
    7. $

    View Slide

  47. We can’t easily find out who’s 

    a domain expert
    6. $

    View Slide

  48. We don’t know how to optimize 

    for continual learning
    5. $

    View Slide

  49. No one wants to do the repetitive
    data-processing tasks
    4. $

    View Slide

  50. We have a difficult time 

    attracting top talent
    3. $

    View Slide

  51. We struggle to to accurately
    estimate projects
    2. $

    View Slide

  52. The stream of project info is
    overwhelming us all
    1. $

    View Slide

  53. “Our job is to find a

    few intelligent things to do,

    not to keep up with every damn thing in the world.”
    –Charlie Munger, Partner at Bershire Hathaway

    View Slide

  54. let’s walk through the
    4 Steps

    View Slide

  55. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  56. “It is not enough to just have a good idea.

    Only when you act, when you implement,

    do you truly innovate.
    –Tom Kelley, Jonathan Littman: The Ten Faces of Innovation

    View Slide

  57. act Early
    %

    View Slide

  58. Post
    &

    View Slide

  59. View Slide

  60. “Inspiration Is for Amateurs
    The Rest of Us Just Show Up and Get to Work”
    –painter Chuck Close

    View Slide

  61. Commit
    &

    View Slide

  62. topic branches
    master branch

    View Slide

  63. View Slide

  64. View Slide

  65. “Many accounts… note a "missing hyphen" when a weak radio-guidance
    signal triggered the rare use of error-recovery software which

    lacked a hyphen in an equation, causing miscalculation or
    truncation of the remainder of the equation,

    which then
    pointed the rocket downward.”
    –Postmortem of Mariner I mission

    View Slide

  66. “Fail often to succeed sooner”
    –Tom Kelley, Ideo

    View Slide

  67. View Slide

  68. automate liberally
    %

    View Slide

  69. Automate!

    View Slide

  70. View Slide

  71. View Slide

  72. I’ve acted. Now what?

    View Slide

  73. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  74. “…when the amount of information available to
    people increases much faster than our techniques
    for processing it, then we can get ourselves in a
    lot of trouble.”
    –Nate Silver, author of The Signal and the Noise

    View Slide

  75. open everything
    %

    View Slide

  76. View Slide

  77. Help!

    View Slide

  78. “most of your computer science career will be
    single data source, single CPU, single threaded
    processing. Don’t worry about chapter 7.”
    –my most incorrect university professor, ever

    View Slide

  79. target broadcasts
    %

    View Slide

  80. View Slide

  81. “Running a fundamentally different approach to
    decision-making, being much more transparent in
    the way a company communicates, and… having a CEO
    that is absolutely focused on innovation is
    something that any company can do.”
    –JONATHAN ROSENBERG, Former SVP of Products at Google

    View Slide

  82. broadcast secrets
    %

    View Slide

  83. View Slide

  84. View Slide

  85. “We… take the presentations that were given to the
    board of directors, and we show them to every employee
    in the company in order to promote communication.
    And we have a huge disclaimer about, it’s private
    information… We’ve never had a leak.”
    –Eric Schmidt, Executive Chairman, Google

    View Slide

  86. work asynchronously
    %

    View Slide

  87. View Slide

  88. View Slide

  89. How do I make sense of it all?

    View Slide

  90. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  91. 3.5 billion docs '

    View Slide

  92. Performance Monitors
    Bug Reports
    Work Tickets
    Build Logs
    Change Logs
    Server Logs
    Audit Logs
    github
    CI Build Results
    Deploy Results
    Release Notes

    View Slide

  93. “Humans are by nature, single-threaded processors. much of what I do every
    day is to evaluate which threads are noise and which are signal.
    unmanaged, my world moves towards
    100% noise. ”
    –Jesse Newland, Ops at Github

    View Slide

  94. Human Email
    Auto Responders
    Mailing Lists
    Spreadsheets
    Calendar Events
    Meeting Notes
    Proposal Documents
    Pitch Decks
    Customer Transactions
    Analytics Results
    Survey Results
    Tweets
    Performance Monitors
    Bug Reports
    Work Tickets
    Build Logs
    Change Logs
    Server Logs
    Audit Logs

    View Slide

  95. View Slide

  96. leverage computation
    %

    View Slide

  97. unify information
    %

    View Slide

  98. Dashboard
    (

    View Slide

  99. View Slide

  100. View Slide

  101. context matters
    %

    View Slide

  102. View Slide

  103. View Slide

  104. View Slide

  105. View Slide

  106. View Slide

  107. where’s the Value?

    View Slide

  108. 2.
    Broadcast
    1.
    Act
    3.
    Condense
    4.
    Decide

    View Slide

  109. View Slide

  110. View Slide

  111. View Slide

  112. View Slide

  113. decide iteratively
    %

    View Slide

  114. View Slide

  115. View Slide

  116. View Slide

  117. do we Have to Change?

    View Slide

  118. “Innovation is now recognized as

    the single most important ingredient

    in any modern economy.”
    –The Economist, Thanksgiving for innovation

    View Slide

  119. no

    View Slide

  120. “It is not necessary to change.
    Survival is not mandatory.”
    –W. Edwards Deming

    View Slide

  121. View Slide

  122. @matthewmccull

    View Slide