Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What Private Teams Can Learn from Open Source

What Private Teams Can Learn from Open Source

Private teams that want to reduce bugs in their code and increase their talent pool should look more like open source teams. Distribute your communication and have an automatic code review process.

Mark Sim

April 26, 2012
Tweet

More Decks by Mark Sim

Other Decks in Technology

Transcript

  1. what private teams can
    learn from open source
    Mark Simoneau
    @marksim
    Thursday, April 26, 12

    View Slide

  2. what to adopt
    Thursday, April 26, 12

    View Slide

  3. why
    Thursday, April 26, 12

    View Slide

  4. how
    Thursday, April 26, 12

    View Slide

  5. we love open source
    philosophy
    freedom
    price
    using
    Thursday, April 26, 12

    View Slide

  6. but beyond that
    Thursday, April 26, 12

    View Slide

  7. open source provides a
    model for private
    development
    Thursday, April 26, 12

    View Slide

  8. what if this model
    could...
    Thursday, April 26, 12

    View Slide

  9. reduce bugs in
    production
    Thursday, April 26, 12

    View Slide

  10. better talent pool
    Thursday, April 26, 12

    View Slide

  11. how many private
    teams want to
    Thursday, April 26, 12

    View Slide

  12. reduce bugs in
    production
    Thursday, April 26, 12

    View Slide

  13. have better talent pool
    Thursday, April 26, 12

    View Slide

  14. everybody?
    Thursday, April 26, 12

    View Slide

  15. Thursday, April 26, 12

    View Slide

  16. reducing bugs
    Thursday, April 26, 12

    View Slide

  17. best way?
    Thursday, April 26, 12

    View Slide

  18. hour for hour, no other
    developer method
    reduces more bugs in
    production
    see “Code Complete” by Steve McConnell
    Thursday, April 26, 12

    View Slide

  19. code reviews
    Thursday, April 26, 12

    View Slide

  20. how do private teams
    do it?
    Thursday, April 26, 12

    View Slide

  21. how does open source
    do it?
    Thursday, April 26, 12

    View Slide

  22. pull requests
    Thursday, April 26, 12

    View Slide

  23. • fork (free!)
    • submit pull request
    • let the team review
    • merge
    easy to set this up
    Thursday, April 26, 12

    View Slide

  24. • more complicated process
    • slower than git push
    • more knowledge of git required
    disadvantages
    Thursday, April 26, 12

    View Slide

  25. advantages
    • all code gets reviewed
    • everyone sees coding styles
    • everyone sees problem solutions
    • everyone gets input
    • git history cleanliness is reviewed
    Thursday, April 26, 12

    View Slide

  26. Thursday, April 26, 12

    View Slide

  27. better talent pool
    Thursday, April 26, 12

    View Slide

  28. talent from anywhere?
    Thursday, April 26, 12

    View Slide

  29. open source:
    distributed from the
    start
    Thursday, April 26, 12

    View Slide

  30. communication done in
    Thursday, April 26, 12

    View Slide

  31. mailing lists
    Thursday, April 26, 12

    View Slide

  32. chats
    Thursday, April 26, 12

    View Slide

  33. bug tickets
    Thursday, April 26, 12

    View Slide

  34. distributed
    communication =
    distributed team
    Thursday, April 26, 12

    View Slide

  35. what if your private
    team simply acted
    distributed?
    Thursday, April 26, 12

    View Slide

  36. easy to do
    Thursday, April 26, 12

    View Slide

  37. hipchat / campfire / irc
    Thursday, April 26, 12

    View Slide

  38. mailing list / message
    board
    Thursday, April 26, 12

    View Slide

  39. internal blog
    Thursday, April 26, 12

    View Slide

  40. google hangout / skype
    Thursday, April 26, 12

    View Slide

  41. disadvantages
    • more discipline
    • more intentionality
    • could reduce personal interaction (not
    what we found)
    Thursday, April 26, 12

    View Slide

  42. advantages
    • all communication logged
    • everyone can participate from anywhere
    • everyone can review or catch up
    • anyone can be added to the team from
    anywhere
    • bonus: reduced distraction
    Thursday, April 26, 12

    View Slide

  43. Thursday, April 26, 12

    View Slide

  44. challenge
    Thursday, April 26, 12

    View Slide

  45. make your private team
    Thursday, April 26, 12

    View Slide

  46. distributed
    Thursday, April 26, 12

    View Slide

  47. code reviewers
    Thursday, April 26, 12

    View Slide

  48. boost communication
    Thursday, April 26, 12

    View Slide

  49. reduce bugs
    Thursday, April 26, 12

    View Slide

  50. hire from anywhere
    Thursday, April 26, 12

    View Slide

  51. @marksim
    blog.quarternotecoda.com
    Thursday, April 26, 12

    View Slide