The (R)evolution of Social Media in Software Engineering

2,670 views

Published on

"The (R)evolution of Social Media in Software Engineering",
Margaret-Anne (Peggy) Storey
Leif Singer
Brendan Cleary
Fernando Figueira Filho
Alexey Zagalsky

Presented at ICSE 2014, Future of Software Engineering Track, Hyderabad, June 4, 2014.
A preprint of the paper can be found here: http://chiselgroup.files.wordpress.com/2014/01/fose14main-storey-submitted.pdf

Published in: Social Media, Technology
1 Comment
12 Likes
Statistics
Notes
No Downloads
Views
Total views
2,670
On SlideShare
0
From Embeds
0
Number of Embeds
338
Actions
Shares
0
Downloads
79
Comments
1
Likes
12
Embeds 0
No embeds

No notes for slide

The (R)evolution of Social Media in Software Engineering

  1. 1. 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
  2. 2. “I know how this was done because I did it”
 “I need complete understanding” 
 Peter Norvig, Coders at Work
  3. 3. “How is this likely done?” “Can I quickly get an understanding of what I need?” Peter Norvig, Coders at Work
  4. 4. The emergence of software ecosystems 
 and communities of practice [Wenger]
  5. 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. 6. 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
  7. 7. “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]
  8. 8. 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
  9. 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. 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. 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. 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. 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. 14. 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?
  15. 15. 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
  16. 16. Respondents Distributed to 7,000 GitHub developers (email) Over 1500 responses (>20% response rate)
  17. 17. Limitations Social coder bias, self selected Dark matter developers not included " [Scott Hanselman] 17
  18. 18. 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?
  19. 19. Selected Findings 19 average: 12 channels top 25%: 14-21 channels
  20. 20. Ecosystem of tools Learning CodeHosting Q&Asites Websearch Coordination CodeHosting Coordinationtools Privatechat Privatediscuss FacetoFace Connecting Microblogging Privatediscuss FacetoFace Codehosting
  21. 21. Most Important Channels F2F (496) Q&A (512) Search (429) Code
 Hosting
 (1018) Microblogging (221) 21Interactive visualization: http://fose2014.thechiselgroup.org 

  22. 22. "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
  23. 23. 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!
  24. 24. Tools Challenges Communities Developers Content
  25. 25. 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
  26. 26. 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
  27. 27. 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
  28. 28. 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
  29. 29. Tools Opportunities Communities Developers Content
  30. 30. 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
  31. 31. Opportunity: Software Knowledge as Public Good Mining knowledge from social media in software development Impact on software quality? 31
  32. 32. Opportunity: Participatory development culture Increasing the size of the crowd/community" Discovering best not just next practices 32
  33. 33. 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
  34. 34. 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
  35. 35. 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

×