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

The Art of Collaborative Software Development

The Art of Collaborative Software Development

A presentation on collaborative development, tips and tricks to high value interactions.

Avatar for Brian O'Neill

Brian O'Neill

April 01, 2013

More Decks by Brian O'Neill

Other Decks in Technology

Transcript

  1. The Problem •  Individual Contribution = e •  Impact on

    others = o max (eme + o(e1 ) … o(en )) As n increases, o quickly becomes more important than e.
  2. Know Thyself "  Unconscious Incompetence "  Conscious Incompetence "  Conscious

    Competence "  Unconscious Competence by dimension http://www.upgradereality.com/stages-of-mastery/
  3. Strive for Simplicity “Simplicity is the Ultimate Sophistication…when you first

    attack a problem it seems really simple because you don’t understand it. Then when you start to really understand it, you come up with these very complicated solutions because it’s really hairy. Most people stop there. But a few people keep burning the midnight oil and finally understand the underlying principles of the problem and come up with an elegantly simple solution for it. But very few people go the distance to get there” - Steve Jobs
  4. Momentum w/ Peers "  Sometimes your contribution to an idea

    comes at the expense of another’s passion, which results in a less successful idea. "  i.e. Sometimes its better to keep your mouth shut.
  5. Openness "  You want people to be able to come

    to you with ideas, even if they contradict your own. "  You should be able to express your ideas to others, even if they contradict theirs. "  If they/you cannot, its your fault. =)
  6. Momentum w/ Projects Requisite value to maintain momentum / velocity.

    And tolerance for lesser quality commits. Value / Tolerance Time
  7. Perspectives "  Beauty is in the eye of the beholder

    " Clojure "  Break statements "  Try to appreciate other art styles.
  8. Pull Requests over Emails "  If you see it, own

    it. "  If you own it, solve it. "  If you’ve solved it, share it.
  9. Default to Broadcast "  CC everyone "  Allow them to

    filter "  No closed doors/conversations
  10. Capture Debt and work it off. "  Catalog your tolerance

    of sub-par commits. "  And plan to address it.