SlideShare uma empresa Scribd logo
1 de 15
The Art of Collaborative
 Software Development


                 Brian O’Neill
     Lead Architect, Health Market Science
     @boneill42, bone@alumni.brown.edu
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.
Attitudes and Emotions
Know Thyself

Unconscious Incompetence
Conscious Incompetence
Conscious Competence
Unconscious Competence
         by dimension

           http://www.upgradereality.com/stages-of-mastery/
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
Emotional IQ



Passion without emotion.
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.
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. =)
Value / Tolerance   Momentum w/ Projects




                                        Time
                      Requisite value to maintain momentum / velocity.
                      And tolerance for lesser quality commits.
Perspectives

Beauty is in the eye of the beholder

 Clojure
 Break statements


Try to appreciate other art styles.
Concrete Impact
Pull Requests over Emails

If you see it, own it.
If you own it, solve it.
If you’ve solved it, share it.
Continuous Integration

Make it your home page.


Then goto previous slide.
   (or revert =)
Default to Broadcast

CC everyone
Allow them to filter
No closed doors/conversations
Capture Debt and work it off.

Catalog your tolerance of sub-par
commits.
And plan to address it.

Mais conteúdo relacionado

Mais procurados

The way ahead? Promoting high performance with personalised learning
The way ahead? Promoting high performance with personalised learningThe way ahead? Promoting high performance with personalised learning
The way ahead? Promoting high performance with personalised learningBrightwave Group
 
Data Visualisation - An Introduction
Data Visualisation - An IntroductionData Visualisation - An Introduction
Data Visualisation - An Introductionb1e1n1
 
A Fresh Look at Loneliness and Social Isolation
A Fresh Look at Loneliness and Social IsolationA Fresh Look at Loneliness and Social Isolation
A Fresh Look at Loneliness and Social IsolationPaul Taylor
 
9 Questions for Learning Professionals in 2011
9 Questions for Learning Professionals in 20119 Questions for Learning Professionals in 2011
9 Questions for Learning Professionals in 2011Hans de Zwart
 
Problem Framing for Strategic Design
Problem Framing for Strategic DesignProblem Framing for Strategic Design
Problem Framing for Strategic DesignItamar Medeiros
 
Analysis report brief
Analysis report briefAnalysis report brief
Analysis report briefR. Sosa
 
Introduction to Framing and ideation
Introduction to Framing and ideationIntroduction to Framing and ideation
Introduction to Framing and ideationFieke Sluijs
 
Creativity and design 2017 day 1
Creativity and design 2017 day 1Creativity and design 2017 day 1
Creativity and design 2017 day 1R. Sosa
 
BIH - Human Centered Design
BIH - Human Centered Design BIH - Human Centered Design
BIH - Human Centered Design Allison Tran
 
Agile2019 Retrospective with Liberating Structures
Agile2019 Retrospective with Liberating StructuresAgile2019 Retrospective with Liberating Structures
Agile2019 Retrospective with Liberating StructuresDana Pylayeva
 
Level Up your Problem Solving skills
Level Up your Problem Solving skillsLevel Up your Problem Solving skills
Level Up your Problem Solving skillsRangga Wiseno
 
Design Thinking Introduction 設計思考簡介
Design Thinking Introduction 設計思考簡介Design Thinking Introduction 設計思考簡介
Design Thinking Introduction 設計思考簡介Wayne Chung
 
Inclusive Design: A Change in Perspective
Inclusive Design: A Change in PerspectiveInclusive Design: A Change in Perspective
Inclusive Design: A Change in PerspectiveJess Mitchell
 
Remote facilitation workshop
Remote facilitation workshopRemote facilitation workshop
Remote facilitation workshopDana Pylayeva
 

Mais procurados (17)

The way ahead? Promoting high performance with personalised learning
The way ahead? Promoting high performance with personalised learningThe way ahead? Promoting high performance with personalised learning
The way ahead? Promoting high performance with personalised learning
 
Data Visualisation - An Introduction
Data Visualisation - An IntroductionData Visualisation - An Introduction
Data Visualisation - An Introduction
 
A Fresh Look at Loneliness and Social Isolation
A Fresh Look at Loneliness and Social IsolationA Fresh Look at Loneliness and Social Isolation
A Fresh Look at Loneliness and Social Isolation
 
9 Questions for Learning Professionals in 2011
9 Questions for Learning Professionals in 20119 Questions for Learning Professionals in 2011
9 Questions for Learning Professionals in 2011
 
Problem Framing for Strategic Design
Problem Framing for Strategic DesignProblem Framing for Strategic Design
Problem Framing for Strategic Design
 
Analysis report brief
Analysis report briefAnalysis report brief
Analysis report brief
 
Introduction to Framing and ideation
Introduction to Framing and ideationIntroduction to Framing and ideation
Introduction to Framing and ideation
 
Creativity and design 2017 day 1
Creativity and design 2017 day 1Creativity and design 2017 day 1
Creativity and design 2017 day 1
 
Presentation skills
Presentation skillsPresentation skills
Presentation skills
 
BIH - Human Centered Design
BIH - Human Centered Design BIH - Human Centered Design
BIH - Human Centered Design
 
Agile2019 Retrospective with Liberating Structures
Agile2019 Retrospective with Liberating StructuresAgile2019 Retrospective with Liberating Structures
Agile2019 Retrospective with Liberating Structures
 
Level Up your Problem Solving skills
Level Up your Problem Solving skillsLevel Up your Problem Solving skills
Level Up your Problem Solving skills
 
Problem Solving J Wixson
Problem Solving   J WixsonProblem Solving   J Wixson
Problem Solving J Wixson
 
Design Thinking Introduction 設計思考簡介
Design Thinking Introduction 設計思考簡介Design Thinking Introduction 設計思考簡介
Design Thinking Introduction 設計思考簡介
 
Inclusive Design: A Change in Perspective
Inclusive Design: A Change in PerspectiveInclusive Design: A Change in Perspective
Inclusive Design: A Change in Perspective
 
Remote facilitation workshop
Remote facilitation workshopRemote facilitation workshop
Remote facilitation workshop
 
Creative Thinking
Creative ThinkingCreative Thinking
Creative Thinking
 

Semelhante a Collaborative software development

Barcamp Conway: A Design Mindset
Barcamp Conway: A Design MindsetBarcamp Conway: A Design Mindset
Barcamp Conway: A Design Mindsetjxrichardso1
 
A conversation about Design thinking
A conversation about Design thinkingA conversation about Design thinking
A conversation about Design thinkingAbhinav Soni
 
Design Thinking for Startups - Are You Design Driven?
Design Thinking for Startups - Are You Design Driven?Design Thinking for Startups - Are You Design Driven?
Design Thinking for Startups - Are You Design Driven?Amir Khella
 
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...Stephanie Beath
 
Take It Home: Apply Design Thinking
Take It Home: Apply Design ThinkingTake It Home: Apply Design Thinking
Take It Home: Apply Design ThinkingClayton Freitas
 
Designerly ways of knowing small
Designerly ways of knowing smallDesignerly ways of knowing small
Designerly ways of knowing smallNatasa Christou
 
How financial marketers can develop creative problem solving skills
How financial marketers can develop creative problem solving skillsHow financial marketers can develop creative problem solving skills
How financial marketers can develop creative problem solving skillsAquatix Pharma
 
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)Dave Hogue
 
Design for the Design Illiterate
Design for the Design IlliterateDesign for the Design Illiterate
Design for the Design IlliterateAtomic Object
 
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...KrzysztofLada
 
Interaction Design Style (Part 5 of 5)
Interaction Design Style (Part 5 of 5)Interaction Design Style (Part 5 of 5)
Interaction Design Style (Part 5 of 5)Christopher Fahey
 
Design without critique is like a flower without water (WebExpo 2013 version)
Design without critique is like a flower without water (WebExpo 2013 version)Design without critique is like a flower without water (WebExpo 2013 version)
Design without critique is like a flower without water (WebExpo 2013 version)Petr Stedry
 
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docxA Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docxblondellchancy
 
Creative And Innovative Thinking Skills
Creative And Innovative Thinking SkillsCreative And Innovative Thinking Skills
Creative And Innovative Thinking Skillskkjjkevin03
 
Blind mountain climbing: design process
Blind mountain climbing: design processBlind mountain climbing: design process
Blind mountain climbing: design processNathan Kane
 

Semelhante a Collaborative software development (20)

Barcamp Conway: A Design Mindset
Barcamp Conway: A Design MindsetBarcamp Conway: A Design Mindset
Barcamp Conway: A Design Mindset
 
A conversation about Design thinking
A conversation about Design thinkingA conversation about Design thinking
A conversation about Design thinking
 
Kickstarting Design Thinking
Kickstarting Design ThinkingKickstarting Design Thinking
Kickstarting Design Thinking
 
Kickastart
KickastartKickastart
Kickastart
 
Design Thinking for Startups - Are You Design Driven?
Design Thinking for Startups - Are You Design Driven?Design Thinking for Startups - Are You Design Driven?
Design Thinking for Startups - Are You Design Driven?
 
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...
Design thinking myths - valuing terrible ideas doesn’t mean all ideas are sam...
 
Take It Home: Apply Design Thinking
Take It Home: Apply Design ThinkingTake It Home: Apply Design Thinking
Take It Home: Apply Design Thinking
 
Designerly ways of knowing small
Designerly ways of knowing smallDesignerly ways of knowing small
Designerly ways of knowing small
 
How financial marketers can develop creative problem solving skills
How financial marketers can develop creative problem solving skillsHow financial marketers can develop creative problem solving skills
How financial marketers can develop creative problem solving skills
 
Managing Creativity
Managing CreativityManaging Creativity
Managing Creativity
 
Creative Thinking Skills
Creative Thinking Skills   Creative Thinking Skills
Creative Thinking Skills
 
Creative Thinking Skills
Creative Thinking SkillsCreative Thinking Skills
Creative Thinking Skills
 
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)
The Complexity Curve: How to Design for Simplicity (SXSW, March 2012)
 
Design for the Design Illiterate
Design for the Design IlliterateDesign for the Design Illiterate
Design for the Design Illiterate
 
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...
1 dokumen.tips_empathize-ideate-design-thinking-define-prototype-little-time-...
 
Interaction Design Style (Part 5 of 5)
Interaction Design Style (Part 5 of 5)Interaction Design Style (Part 5 of 5)
Interaction Design Style (Part 5 of 5)
 
Design without critique is like a flower without water (WebExpo 2013 version)
Design without critique is like a flower without water (WebExpo 2013 version)Design without critique is like a flower without water (WebExpo 2013 version)
Design without critique is like a flower without water (WebExpo 2013 version)
 
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docxA Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
A Design Thinking Workshop for the MSIS CoreCarl M. Briggs Ph..docx
 
Creative And Innovative Thinking Skills
Creative And Innovative Thinking SkillsCreative And Innovative Thinking Skills
Creative And Innovative Thinking Skills
 
Blind mountain climbing: design process
Blind mountain climbing: design processBlind mountain climbing: design process
Blind mountain climbing: design process
 

Mais de Brian O'Neill

Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...Brian O'Neill
 
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizard
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizardPhily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizard
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizardBrian O'Neill
 
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Brian O'Neill
 
The Art of Platform Development
The Art of Platform DevelopmentThe Art of Platform Development
The Art of Platform DevelopmentBrian O'Neill
 
Ruby on Big Data @ Philly Ruby Group
Ruby on Big Data @ Philly Ruby GroupRuby on Big Data @ Philly Ruby Group
Ruby on Big Data @ Philly Ruby GroupBrian O'Neill
 
Ruby on Big Data (Cassandra + Hadoop)
Ruby on Big Data (Cassandra + Hadoop)Ruby on Big Data (Cassandra + Hadoop)
Ruby on Big Data (Cassandra + Hadoop)Brian O'Neill
 

Mais de Brian O'Neill (9)

Spark - Philly JUG
Spark  - Philly JUGSpark  - Philly JUG
Spark - Philly JUG
 
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
Re-envisioning the Lambda Architecture : Web Services & Real-time Analytics ...
 
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizard
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizardPhily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizard
Phily JUG : Web Services APIs for Real-time Analytics w/ Storm and DropWizard
 
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
Data Pipelines & Integrating Real-time Web Services w/ Storm : Improving on t...
 
Big data philly_jug
Big data philly_jugBig data philly_jug
Big data philly_jug
 
The Art of Platform Development
The Art of Platform DevelopmentThe Art of Platform Development
The Art of Platform Development
 
Hms nyc* talk
Hms nyc* talkHms nyc* talk
Hms nyc* talk
 
Ruby on Big Data @ Philly Ruby Group
Ruby on Big Data @ Philly Ruby GroupRuby on Big Data @ Philly Ruby Group
Ruby on Big Data @ Philly Ruby Group
 
Ruby on Big Data (Cassandra + Hadoop)
Ruby on Big Data (Cassandra + Hadoop)Ruby on Big Data (Cassandra + Hadoop)
Ruby on Big Data (Cassandra + Hadoop)
 

Collaborative software development

  • 1. The Art of Collaborative Software Development Brian O’Neill Lead Architect, Health Market Science @boneill42, bone@alumni.brown.edu
  • 2. 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.
  • 4. Know Thyself Unconscious Incompetence Conscious Incompetence Conscious Competence Unconscious Competence by dimension http://www.upgradereality.com/stages-of-mastery/
  • 5. 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
  • 7. 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.
  • 8. 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. =)
  • 9. Value / Tolerance Momentum w/ Projects Time Requisite value to maintain momentum / velocity. And tolerance for lesser quality commits.
  • 10. Perspectives Beauty is in the eye of the beholder Clojure Break statements Try to appreciate other art styles.
  • 12. Pull Requests over Emails If you see it, own it. If you own it, solve it. If you’ve solved it, share it.
  • 13. Continuous Integration Make it your home page. Then goto previous slide. (or revert =)
  • 14. Default to Broadcast CC everyone Allow them to filter No closed doors/conversations
  • 15. Capture Debt and work it off. Catalog your tolerance of sub-par commits. And plan to address it.