Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Collaborative software development


Published on

  • Be the first to comment

  • Be the first to like this

Collaborative software development

  1. 1. The Art of Collaborative Software Development Brian O’Neill Lead Architect, Health Market Science @boneill42,
  2. 2. The Problem• Individual Contribution = e• Impact on others = o max (eme + o(e1) … o(en))As n increases, o quickly becomesmore important than e.
  3. 3. Attitudes and Emotions
  4. 4. Know ThyselfUnconscious IncompetenceConscious IncompetenceConscious CompetenceUnconscious Competence by dimension
  5. 5. Strive for Simplicity“Simplicity is the Ultimate Sophistication…when youfirst attack a problem it seems really simple because youdon’t understand it. Then when you start to reallyunderstand it, you come up with these very complicatedsolutions because it’s really hairy. Most people stopthere. But a few people keep burning the midnight oiland finally understand the underlying principles of theproblem and come up with an elegantly simple solutionfor it. But very few people go the distance to get there” - Steve Jobs
  6. 6. Emotional IQPassion without emotion.
  7. 7. Momentum w/ PeersSometimes your contribution to anidea comes at the expense ofanother’s passion, which results in aless successful idea.i.e. Sometimes its better to keep yourmouth shut.
  8. 8. OpennessYou want people to be able to come toyou with ideas, even if they contradictyour own.You should be able to express your ideasto others, even if they contradict theirs.If they/you cannot, its your fault. =)
  9. 9. Value / Tolerance Momentum w/ Projects Time Requisite value to maintain momentum / velocity. And tolerance for lesser quality commits.
  10. 10. PerspectivesBeauty is in the eye of the beholder Clojure Break statementsTry to appreciate other art styles.
  11. 11. Concrete Impact
  12. 12. Pull Requests over EmailsIf you see it, own it.If you own it, solve it.If you’ve solved it, share it.
  13. 13. Continuous IntegrationMake it your home page.Then goto previous slide. (or revert =)
  14. 14. Default to BroadcastCC everyoneAllow them to filterNo closed doors/conversations
  15. 15. Capture Debt and work it off.Catalog your tolerance of sub-parcommits.And plan to address it.