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.

4a324687e05adf374e127c9b479d15e7?s=128

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
  2. what to adopt Thursday, April 26, 12

  3. why Thursday, April 26, 12

  4. how Thursday, April 26, 12

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

    26, 12
  6. but beyond that Thursday, April 26, 12

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

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

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

  10. better talent pool Thursday, April 26, 12

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

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

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

  14. everybody? Thursday, April 26, 12

  15. Thursday, April 26, 12

  16. reducing bugs Thursday, April 26, 12

  17. best way? Thursday, April 26, 12

  18. hour for hour, no other developer method reduces more bugs

    in production see “Code Complete” by Steve McConnell Thursday, April 26, 12
  19. code reviews Thursday, April 26, 12

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

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

  22. pull requests Thursday, April 26, 12

  23. • fork (free!) • submit pull request • let the

    team review • merge easy to set this up Thursday, April 26, 12
  24. • more complicated process • slower than git push •

    more knowledge of git required disadvantages Thursday, April 26, 12
  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
  26. Thursday, April 26, 12

  27. better talent pool Thursday, April 26, 12

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

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

  30. communication done in Thursday, April 26, 12

  31. mailing lists Thursday, April 26, 12

  32. chats Thursday, April 26, 12

  33. bug tickets Thursday, April 26, 12

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

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

    26, 12
  36. easy to do Thursday, April 26, 12

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

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

  39. internal blog Thursday, April 26, 12

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

  41. disadvantages • more discipline • more intentionality • could reduce

    personal interaction (not what we found) Thursday, April 26, 12
  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
  43. Thursday, April 26, 12

  44. challenge Thursday, April 26, 12

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

  46. distributed Thursday, April 26, 12

  47. code reviewers Thursday, April 26, 12

  48. boost communication Thursday, April 26, 12

  49. reduce bugs Thursday, April 26, 12

  50. hire from anywhere Thursday, April 26, 12

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