The (R)evolution of Social Media in
Software Engineering!
Margaret-Anne (Peggy) Storey
Leif Singer
Brendan Cleary
Fernando Figueira Filho
Alexey Zagalsky
ICSE June 4th, 2014	
 @margaretstorey
“I know how this was done because I did it”


“I need complete understanding” 


Peter Norvig, Coders at Work
“How is this likely done?”
“Can I quickly get an understanding of what I need?”

 
 
 
 
 
Peter Norvig, Coders at Work
The emergence of software ecosystems 

and communities of practice [Wenger]
Social Media and 

Participatory Cultures [Jenkins]
Low barriers to artistic expression and engagement
Strong support for sharing one’s creations
Informal mentorship for novices
Members believe their contributions matter
Members care about social connections and what
others think about their creations
5
The Participatory Culture in
Software Engineering is not new 
Internet and free/open source projects
Linux and the bazaar model of programming
Global software development (GSD)
Historical importance of tools and the social
shaping of communities 
6
“If we understand the revolutionary transformations caused by
new media, we can anticipate and control them; but if we
continue in our self-induced subliminal trance, we will be their
slaves.” [Marshall McLuhan, 1974]
Understanding affordances of channels for
communicating knowledge [Wasko et al.]
Communicating knowledge embedded in
project artifacts (GitHub, Visual Studio…)
Communicating knowledge embedded "
in community resources (Books, Usenet)
(new!) Communicating knowledge about "
social networks (Facebook, Coderwall, Twitter…)
Communicating knowledge that is embedded
in people (F2F, email, chat…)
8
1968
 1980
 1990
 2000
 2010
1970
Telephone
Face2Face
Email
IRC
ICQ
 Skype
Campfire
Google"
Hangouts
De Marco/Lister
Handel et al.
Nondigital
 Digital
 Digital & Socially Enabled
Telephone
Face2Face
Project"
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans
 Eclipse
IRC
ICQ
 Skype
SourceForge
Wikis
GitHub
Trello
Basecamp
Jazz
Campfire
Google"
Hangouts
Punchcards
 TFS
Guzzi et al.
Pham et al.,
Dabbish et al.
Treude et al.
Gutwin et al.
Bird et al.
Rigby et al.
1968
 1980
 1990
 2000
 2010
1970
Cunningham
Robillard et al.
Nondigital
 Digital
 Digital & Socially Enabled
1968
 1980
 1990
 2000
 2010
1970
Telephone
Face2Face
Project"
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans
 Eclipse
IRC
ICQ
 Skype
SourceForge
Wikis
Trello
Basecamp
Jazz
Campfire
Google"
Hangouts
Punchcards
 TFS
Books
 Usenet
Stack"
Overflow
Twitter
Google "
Groups
Podcasts
Blogs
GitHub
Conferences
Wasko et al.
Parnin et al.
Singer et al.,
Dullemond et al.
Pagano et al.,
Parnin et al.
Slashdot
HackerNews
Nondigital
 Digital
 Digital & Socially Enabled
Yammer
1968
 1980
 1990
 2000
 2010
1970
Telephone
Face2Face
Project"
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans
 Eclipse
IRC
ICQ
 Skype
SourceForge
Wikis
Trello
Basecamp
Jazz
Campfire
Google"
Hangouts
Punchcards
 TFS
Books
 Usenet
Stack"
Overflow
Google "
Groups
Podcasts
Blogs
GitHub
Conferences
Societies
Masterbranch
Coderwall
LinkedIn
Facebook
Barzilay et al.
Twitter
Slashdot
HackerNews
Meetups
Nondigital
 Digital
 Digital & Socially Enabled
Singer et al.
1968
 1980
 1990
 2000
 2010
1970
Telephone
Face2Face
Project"
Workbook
Documents
Email
Email Lists
VisualAge
Visual Studio
NetBeans
 Eclipse
IRC
ICQ
 Skype
SourceForge
Wikis
Trello
Basecamp
Jazz
Campfire
Google"
Hangouts
Punchcards
 TFS
Books
 Usenet
Stack"
Overflow
Twitter
Google "
Groups
Podcasts
Blogs
GitHub
Conferences
Societies
 LinkedIn
Facebook
Slashdot
HackerNews
Nondigital
 Digital
 Digital & Socially Enabled
Masterbranch
Coderwall
Meetups
Yammer
We know how some specific tools
are used for some specific tasks…
but how do developers use and
combine these tools to support
development activities within a
community of practice?
2013 Developer Survey
Research Questions:
How do developers today use socially enabled tools
to aid in keeping up, communication, learning,
relationship building, and coordination? "
What challenges do developers face using these
tools?
15
Respondents
Distributed to 7,000 GitHub developers (email)
Over 1500 responses (>20% response rate)
Limitations
Social coder bias, self selected
Dark matter developers not included "
[Scott Hanselman]
17
Digital: 

Web Search,
Public Chat,
Private Chat,

Discussion
Groups,

… 
Digital & social:
Feeds and
Blogs, 

Tagging, 

Q&A, 

SNS,

Code hosting,

…
Nondigital:
Face-to-face, "
books,
magazines,

…
18
Survey: http://leif.me/devsurvey/?source=icse 

For each “activity” or “need”, which tools are used?
Selected Findings
19
average: 12 channels
top 25%: 14-21 channels
Ecosystem of tools
Learning
CodeHosting
Q&Asites
Websearch
Coordination
CodeHosting
Coordinationtools
Privatechat
Privatediscuss
FacetoFace
Connecting
Microblogging
Privatediscuss
FacetoFace
Codehosting
Most Important Channels
F2F 
(496)
Q&A
(512)
Search
(429)
Code

Hosting

(1018)
Microblogging 
(221)
21Interactive visualization: http://fose2014.thechiselgroup.org 

"The closest thing that my ideal setup is Google Hangout +
Trello + GitHub + Nitrous.io. The biggest challenge in soft-
dev for me is four-fold: communicating the idea (Hangout),
managing the idea (Trello), logging the implemented idea
(GitHub), and explaining the implemented idea with the
team (Nitrous.io). The first three solutions are pretty solid.
It's the fact you can't always sit right next to someone and
show them the code and explain how everything works
that is the most challenging part. Cloud9, Koding, Nitrous,
etc are all trying to solve the last problem. So far, Nitrous
works best for me but that's still where the biggest pain
point is for me.” 
22
Charting a course…
Theories of media and how media shape
software development
How social/communication channels have
evolved over time in software engineering
A survey to find out what channels
developers use for development activities
Challenges and opportunities!
Tools
Challenges
Communities
Developers Content
Developer challenges
Media literacy skills
Keeping up (information flood, new tools)
Maintaining a state of flow 
“If you have to go to a web browser there is a
10% chance you'll be distracted. I use the
project "howdoi" to get answers from Stack
Overflow on the command line so I can
stay out of the browser and keep focus."
25
Content challenges
Trustworthy content
Information fragmentation
“A lot of the answers and guidance I look for
when developing code are scattered all over
the internet, it would be nice if there was a
place that I could get in touch with an expert
developer to ask/discuss questions."
26
Community challenges
Barriers to entry
When does social become anti-social?
“Misinformation is easy to communicate behavior
and propagate. People can be rude or obnoxious
on social [media], distracting from a discussion. The
asynchronous nature of social media interaction can
often lead to missed information or incomplete
contexts for understanding information."
27
Tool challenges
Channel confusion and lack of integration
Finding the signal in the noise
Vendor lock-in
“I worry that we are relying on many of these
‘free’ services, which in the end are not free,
they simply have a different payment model
(that appears to change)."
28
Tools
Opportunities
Communities
Developers Content
Opportunity: The emergence
of the Social Programmer 
Acceleration of learning, discovery and
creativity for developers? "
Impact on productivity?"
Expanding career opportunities: impact on
education?
30
Opportunity: Software
Knowledge as Public Good
Mining knowledge from social media in
software development
Impact on software quality?
31
Opportunity: Participatory
development culture 
Increasing the size of the crowd/community"
Discovering best not just next practices
32
Opportunity: Improve the social
media ecosystem for developers
Social media channels for developers"
Channel integration – but need to know how! "
Specialized needs for the enterprise?
33
Implications for Researchers
Study social media using social media!
“Good to see a survey on this topic. It is wonderful to be
part of a global developer movement and have the entire
world of developers helping each other.”
[Developer survey respondent]
34
Three trends…
The rise of the social programmer that actively
participates in communities of practice
A rapid increase in the creation and diffusion "
of peer produced and crowdsourced content
Accelerated formation of ecosystems around
content, technology, media and developers 
@margaretstoreyDo you use Twitter to support your research?
If yes, tell us how by using #twitter4se

The (R)evolution of Social Media in Software Engineering

  • 1.
    The (R)evolution ofSocial Media in Software Engineering! Margaret-Anne (Peggy) Storey Leif Singer Brendan Cleary Fernando Figueira Filho Alexey Zagalsky ICSE June 4th, 2014 @margaretstorey
  • 2.
    “I know howthis was done because I did it”
 “I need complete understanding” 
 Peter Norvig, Coders at Work
  • 3.
    “How is thislikely done?” “Can I quickly get an understanding of what I need?” Peter Norvig, Coders at Work
  • 4.
    The emergence ofsoftware ecosystems 
 and communities of practice [Wenger]
  • 5.
    Social Media and
 Participatory Cultures [Jenkins] Low barriers to artistic expression and engagement Strong support for sharing one’s creations Informal mentorship for novices Members believe their contributions matter Members care about social connections and what others think about their creations 5
  • 6.
    The Participatory Culturein Software Engineering is not new Internet and free/open source projects Linux and the bazaar model of programming Global software development (GSD) Historical importance of tools and the social shaping of communities 6
  • 7.
    “If we understandthe revolutionary transformations caused by new media, we can anticipate and control them; but if we continue in our self-induced subliminal trance, we will be their slaves.” [Marshall McLuhan, 1974]
  • 8.
    Understanding affordances ofchannels for communicating knowledge [Wasko et al.] Communicating knowledge embedded in project artifacts (GitHub, Visual Studio…) Communicating knowledge embedded " in community resources (Books, Usenet) (new!) Communicating knowledge about " social networks (Facebook, Coderwall, Twitter…) Communicating knowledge that is embedded in people (F2F, email, chat…) 8
  • 9.
    1968 1980 1990 2000 2010 1970 Telephone Face2Face Email IRC ICQ Skype Campfire Google" Hangouts De Marco/Lister Handel et al. Nondigital Digital Digital & Socially Enabled
  • 10.
    Telephone Face2Face Project" Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis GitHub Trello Basecamp Jazz Campfire Google" Hangouts Punchcards TFS Guzzi et al. Pham et al., Dabbish et al. Treude et al. Gutwin et al. Bird et al. Rigby et al. 1968 1980 1990 2000 2010 1970 Cunningham Robillard et al. Nondigital Digital Digital & Socially Enabled
  • 11.
    1968 1980 1990 2000 2010 1970 Telephone Face2Face Project" Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis Trello Basecamp Jazz Campfire Google" Hangouts Punchcards TFS Books Usenet Stack" Overflow Twitter Google " Groups Podcasts Blogs GitHub Conferences Wasko et al. Parnin et al. Singer et al., Dullemond et al. Pagano et al., Parnin et al. Slashdot HackerNews Nondigital Digital Digital & Socially Enabled
  • 12.
    Yammer 1968 1980 1990 2000 2010 1970 Telephone Face2Face Project" Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis Trello Basecamp Jazz Campfire Google" Hangouts Punchcards TFS Books Usenet Stack" Overflow Google " Groups Podcasts Blogs GitHub Conferences Societies Masterbranch Coderwall LinkedIn Facebook Barzilay et al. Twitter Slashdot HackerNews Meetups Nondigital Digital Digital & Socially Enabled Singer et al.
  • 13.
    1968 1980 1990 2000 2010 1970 Telephone Face2Face Project" Workbook Documents Email Email Lists VisualAge Visual Studio NetBeans Eclipse IRC ICQ Skype SourceForge Wikis Trello Basecamp Jazz Campfire Google" Hangouts Punchcards TFS Books Usenet Stack" Overflow Twitter Google " Groups Podcasts Blogs GitHub Conferences Societies LinkedIn Facebook Slashdot HackerNews Nondigital Digital Digital & Socially Enabled Masterbranch Coderwall Meetups Yammer
  • 14.
    We know howsome specific tools are used for some specific tasks… but how do developers use and combine these tools to support development activities within a community of practice?
  • 15.
    2013 Developer Survey ResearchQuestions: How do developers today use socially enabled tools to aid in keeping up, communication, learning, relationship building, and coordination? " What challenges do developers face using these tools? 15
  • 16.
    Respondents Distributed to 7,000GitHub developers (email) Over 1500 responses (>20% response rate)
  • 17.
    Limitations Social coder bias,self selected Dark matter developers not included " [Scott Hanselman] 17
  • 18.
    Digital: Web Search, PublicChat, Private Chat, Discussion Groups, … Digital & social: Feeds and Blogs, Tagging, Q&A, SNS, Code hosting, … Nondigital: Face-to-face, " books, magazines, … 18 Survey: http://leif.me/devsurvey/?source=icse 
 For each “activity” or “need”, which tools are used?
  • 19.
    Selected Findings 19 average: 12channels top 25%: 14-21 channels
  • 20.
  • 21.
    Most Important Channels F2F (496) Q&A (512) Search (429) Code
 Hosting
 (1018) Microblogging (221) 21Interactive visualization: http://fose2014.thechiselgroup.org 

  • 22.
    "The closest thingthat my ideal setup is Google Hangout + Trello + GitHub + Nitrous.io. The biggest challenge in soft- dev for me is four-fold: communicating the idea (Hangout), managing the idea (Trello), logging the implemented idea (GitHub), and explaining the implemented idea with the team (Nitrous.io). The first three solutions are pretty solid. It's the fact you can't always sit right next to someone and show them the code and explain how everything works that is the most challenging part. Cloud9, Koding, Nitrous, etc are all trying to solve the last problem. So far, Nitrous works best for me but that's still where the biggest pain point is for me.” 22
  • 23.
    Charting a course… Theoriesof media and how media shape software development How social/communication channels have evolved over time in software engineering A survey to find out what channels developers use for development activities Challenges and opportunities!
  • 24.
  • 25.
    Developer challenges Media literacyskills Keeping up (information flood, new tools) Maintaining a state of flow “If you have to go to a web browser there is a 10% chance you'll be distracted. I use the project "howdoi" to get answers from Stack Overflow on the command line so I can stay out of the browser and keep focus." 25
  • 26.
    Content challenges Trustworthy content Informationfragmentation “A lot of the answers and guidance I look for when developing code are scattered all over the internet, it would be nice if there was a place that I could get in touch with an expert developer to ask/discuss questions." 26
  • 27.
    Community challenges Barriers toentry When does social become anti-social? “Misinformation is easy to communicate behavior and propagate. People can be rude or obnoxious on social [media], distracting from a discussion. The asynchronous nature of social media interaction can often lead to missed information or incomplete contexts for understanding information." 27
  • 28.
    Tool challenges Channel confusionand lack of integration Finding the signal in the noise Vendor lock-in “I worry that we are relying on many of these ‘free’ services, which in the end are not free, they simply have a different payment model (that appears to change)." 28
  • 29.
  • 30.
    Opportunity: The emergence ofthe Social Programmer Acceleration of learning, discovery and creativity for developers? " Impact on productivity?" Expanding career opportunities: impact on education? 30
  • 31.
    Opportunity: Software Knowledge asPublic Good Mining knowledge from social media in software development Impact on software quality? 31
  • 32.
    Opportunity: Participatory development culture Increasing the size of the crowd/community" Discovering best not just next practices 32
  • 33.
    Opportunity: Improve thesocial media ecosystem for developers Social media channels for developers" Channel integration – but need to know how! " Specialized needs for the enterprise? 33
  • 34.
    Implications for Researchers Studysocial media using social media! “Good to see a survey on this topic. It is wonderful to be part of a global developer movement and have the entire world of developers helping each other.” [Developer survey respondent] 34
  • 35.
    Three trends… The riseof the social programmer that actively participates in communities of practice A rapid increase in the creation and diffusion " of peer produced and crowdsourced content Accelerated formation of ecosystems around content, technology, media and developers @margaretstoreyDo you use Twitter to support your research? If yes, tell us how by using #twitter4se