The Art of Collaborative Software Development                 Brian O’Neill     Lead Architect, Health Market Science     ...
The Problem• Individual Contribution = e• Impact on others = o       max (eme + o(e1) … o(en))As n increases, o quickly be...
Attitudes and Emotions
Know ThyselfUnconscious IncompetenceConscious IncompetenceConscious CompetenceUnconscious Competence         by dimension ...
Strive for Simplicity“Simplicity is the Ultimate Sophistication…when youfirst attack a problem it seems really simple beca...
Emotional IQPassion without emotion.
Momentum w/ PeersSometimes your contribution to anidea comes at the expense ofanother’s passion, which results in aless su...
OpennessYou want people to be able to come toyou with ideas, even if they contradictyour own.You should be able to express...
Value / Tolerance   Momentum w/ Projects                                        Time                      Requisite value ...
PerspectivesBeauty is in the eye of the beholder Clojure Break statementsTry to appreciate other art styles.
Concrete Impact
Pull Requests over EmailsIf you see it, own it.If you own it, solve it.If you’ve solved it, share it.
Continuous IntegrationMake it your home page.Then goto previous slide.   (or revert =)
Default to BroadcastCC everyoneAllow them to filterNo closed doors/conversations
Capture Debt and work it off.Catalog your tolerance of sub-parcommits.And plan to address it.
Upcoming SlideShare
Loading in …5
×

Collaborative software development

1,330 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,330
On SlideShare
0
From Embeds
0
Number of Embeds
27
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Collaborative software development

  1. 1. The Art of Collaborative Software Development Brian O’Neill Lead Architect, Health Market Science @boneill42, bone@alumni.brown.edu
  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 http://www.upgradereality.com/stages-of-mastery/
  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.

×