Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
The Evolution of the Social ProgrammerSocial Media and Software EngineeringMargaret-Anne (Peggy) StoreyKeynote for MSR 201...
2    Acknowledgements
3
CHISEL group, UVic, Canada:    – Christoph Treude    – Brendan Cleary    – Fernando Figueira Filho    – Jamie Starke    – ...
Software                                               Goals  repositories       “Software repositories such as source con...
RoadmapBroaden goals of MSR           Redefine software repository to include                                      social ...
Broadening  Goals
Beyond maintenance activities and      developer actions…
The emergence of software ecosystems     and communities of practice
RedefiningSoftware repositories
Historical importance of tools!Integrated development environments:       Software forges:
Trailblazers and early adopters of many  communication tools in software development...
Space                                                                         PlaceP. Dourish and V. Bellotti. Awareness a...
“Architecture of participation”       Tim O’Reilly
"We shape our tools and thereafter our tools shape us",        Laws of Media by Marshall McLuhan      http://www.youtube.c...
McLuhan Quotes:                     The medium is the message. 1958   It is the framework which changes with   each new te...
Medium
What role is social media playing   in Software Engineering?M.-A. Storey, C. Treude, A. van Deursen and L.-T. Cheng.The Im...
Social Media Channels in Software Engineering                    Source code                     comments     Reputation  ...
Research methods usedStudies to inform tool designs and software practicesMixed methods:  – Mining and analysis of    soft...
Source code                   comments   Reputation                        Tagging                 Wikis, social          ...
Source code comments  How programmers use source comments for       communicating with developers?
Source Code Comments:Graffiti or Information?                  e.g. comments,                  bookmarks, tasks, etc     T...
Marginalia, byH. J. Jackson 2001     Fermat: "I have a truly marvellous     proof of this proposition which this     margi...
Marginalia in source codeDevelopers co-opt source code comments fornavigation and task management       – But can’t be sha...
Source code                   comments                                          Tagging   Reputation                 Wikis...
Social TaggingInspired by how social tagging is used on the web
Soc                           ial b                     folk       ook                          sonTagging on the web     ...
TagSEA: Tagging “waypoints”in source code and gathering into “tours” M.-A. Storey, J. Ryall, J. Singer, D. Myers, L.-T. Ch...
Tagging in     Studied introduction and adoption of tags by     several teams for work itemsC. Treude and M.-A. Storey. Wo...
Tagging in     Findings:           – Categorization (cross cutting concerns)           – Organization           – Finding ...
Tags used in
ConcernLines
WorkItemExplorer: ICSE, Friday 10:45am
Source code                   comments   Reputation                                   Tagging                 Wikis, socia...
Microblogging Why do developers tweet?
Microblogging      Software engineers tweet actively (share) facts about        software engineering topics and technology...
Should microblogging be integrated in the IDE   for the enterprises?W. Reinhard, Communication is the key – Support Durabl...
Source code                   comments  Reputation                                   Tagging                Wikis, social ...
BloggingWhy do developers blog?
Blogging (1)“Our internal blog (only readable by those at the  company) is really a virtual "water cooler". We are  expect...
Blogging (2)Determining requirements through blogs[Park and Maurer, CHASE 2009]          How developers blog: high-level c...
Source code                        comments         Reputation                       Tagging                       Wikis, ...
Question and Answer     WebsitesWhat role do Question and Answer websites play in              software engineering?
Stackoverflow
Over 92% of the questions onStackoverflow are answered, and for those92% the median answer time is 11 minutes        L. Ma...
StackoverflowHow-to questions prevalent, and used frequentlyby novicesC. Treude, O. Barzilay and M.-A. Storey. How do Prog...
Linking Stackoverflow data with              API usageC. Parnin, C. Treude, L. Grammel and M.-A. Storey.Crowd Documentatio...
Stackoverflow as Crowd DocumentationCoverage of API documentation: 77% of theJava API classes & 87% of Android API classes...
Impact on documentation tools?Automatically generating documentationVisualizing crowd documentationhttp://latest-print.cro...
Source code                     commentsReputation                                   Tagging                 Wikis, social...
ReputationWhy do developers and recruiters use reputation features             in social networking sites?
Social Coding in GitHub GitHub supports transparency Management of profiles and their visibility    important for project ...
Masterbranch and Coderwall
Developer motivations “As a software developer, you need to learn a lot. Its a constant challenge to keep up with technolo...
Recruiter motivationsSocial connections for finding candidates that arepassionate, learn quickly and with diverse skills  ...
Source code                   comments   Reputation                                    Tagging                 Wikis, soci...
Wikis etc...• Wikis useful for documentation, requirements  engineering, knowledge sharing• Impact of social networking in...
Making sense of the social media ecosystem  (the social era) in software engineering                              Source c...
SocialMedia
EnhancesTask management, coordination                Awareness, transparency Learning        Personal portfolio developmen...
SocialMedia
Retrieves??Programmer “rock stars”Oral culture (talkbacks    on blogs)End-user programmersPortfolios “On Twitter, I follow...
SocialMedia
Reverses??Geek cultureReliance on searchInterruptionsSecurity holesSpaghetti code     “Google as the most important member...
SocialMedia
Obsolesces??Formal documentationIn-house expertise,   certain jobsNeed for co-locationClassroom educationEmail listsCVs  "...
(Distributed) Community formation,   Community fragmentation,awareness, transparency,                  informal processes,...
7 Burning Questions about SocialMedia use in Software Engineering...                                Source code           ...
Q1: Towards the “SocialProgrammer”?• What makes a good developer?  – Ability to write good code… or…  – Ability to search ...
Q2: Classroom education still relevant?         Knowledgeable -> Knowledge-ablehttp://www.academiccommons.org/commons/essa...
Q3: Gamification and marginalization?Less than 13% of Wikipedia content is authoredby women, fewer than 9% of editors are ...
Q4: Information overload?“obsessive web browsing can cause attentionspans to drop to as little as nine seconds—equivalent ...
Q5: Impact on design and documentation?     What are the risks of using social media for          requirements gathering/e...
Q6: Impact on software quality?Does social media use lead to:Spaghetti code and brittle integrations?More (viral) bugs? Se...
Q7: Impact on mining methods?Can mining of social media lead to improvedpredictions, detections and recommendations?  Chal...
Concluding remarks...
Mining community takeawaysThe social era in software engineering begs usto ask different kinds of questionsSocial media ec...
Software      Goals                                           repositoriesGoals first...                            MSR 20...
http://www.thechiselgroup.orghttp://margaretannestorey.wordpress.com/@thechiselgroup, @margaretstorey on Twitter          ...
IEEE Software special issueBridging Software Communities through SocialNetworkingPapers due June 25th, 2012http://www.comp...
(Distributed) Community formation,   Community fragmentation,awareness, transparency,                  informal processes,...
Additional ReferencesC. Treude and M.-A. Storey.Effective Communication of Software Development Knowledge Through CESEC/FS...
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Upcoming SlideShare
Loading in …5
×

Towards the Social Programmer (MSR 2012 Keynote by M. Storey)

24,313 views

Published on

Audio+slide video is posted at http://margaretannestorey.wordpress.com.

Slides from a Keynote at Mining Software Repository Conference 2012, co-located with ICSE 2012 in Zurich, Switzerland.

Published in: Technology, Business
  • How can I improve my memory before an exam? How can I improve my study skills? learn more... ★★★ https://bit.ly/2GEWG9T
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • How can I improve my memory and concentration? How can I improve my memory for studying?■■■ https://bit.ly/2GEWG9T
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Very nine presentation at #BENEVOL2012 today Peggy, thank you.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Towards the Social Programmer (MSR 2012 Keynote by M. Storey)

  1. The Evolution of the Social ProgrammerSocial Media and Software EngineeringMargaret-Anne (Peggy) StoreyKeynote for MSR 2012, Zurich, Switzerland University of Victoria, Victoria, BC Canada
  2. 2 Acknowledgements
  3. 3
  4. CHISEL group, UVic, Canada: – Christoph Treude – Brendan Cleary – Fernando Figueira Filho – Jamie Starke – Gargi Bougie – Peter Rigby – Lars GrammelChris Parnin, Georgia Tech, USALeif Singer, Leibniz Universität, GermanyOhad Barzilay, Tel-Aviv University, IsraelDaniel German, UVic, CanadaArie van Deursen, TU Delft, the NetherlandsLi-Te Cheng, IBM Research
  5. Software Goals repositories “Software repositories such as source control systems, archived communications between project personnel, and defect tracking systems areused to help manage the progress of software projects. Software practitioners and researchers are recognizing the benefits of mining this information tosupport the maintenance of software systems, improve software design/reuse,and empirically validate novel ideas and techniques.” MSR CFPs 2004-2012
  6. RoadmapBroaden goals of MSR Redefine software repository to include social mediaExplore the impact of social media onsoftware engineering Suggest how future MSR research may play a role in emerging practices and software ecosystems
  7. Broadening Goals
  8. Beyond maintenance activities and developer actions…
  9. The emergence of software ecosystems and communities of practice
  10. RedefiningSoftware repositories
  11. Historical importance of tools!Integrated development environments: Software forges:
  12. Trailblazers and early adopters of many communication tools in software development...
  13. Space PlaceP. Dourish and V. Bellotti. Awareness and Coordination in Shared Workspaces. Proceedings of the ACMConference on Computer-Supported Cooperative Work (CSCW92).
  14. “Architecture of participation” Tim O’Reilly
  15. "We shape our tools and thereafter our tools shape us", Laws of Media by Marshall McLuhan http://www.youtube.com/watch?v=A7GvQdDQv8g
  16. McLuhan Quotes: The medium is the message. 1958 It is the framework which changes with each new technology and not just the picture within the frame. 1955There are many reasons why most people prefer to live in the age just behind them. Its safer. To live right on the shooting line, right on the frontier of change, is terrifying. 1970
  17. Medium
  18. What role is social media playing in Software Engineering?M.-A. Storey, C. Treude, A. van Deursen and L.-T. Cheng.The Impact of Social Media on Software Engineering Practices and Tools. In FoSER ’10: Proceedings of the FSE/SDP workshop on Future of software engineering research.
  19. Social Media Channels in Software Engineering Source code comments Reputation Tagging Wikis, social networking, etc. Question & Answer Websites Microblogging Blogging
  20. Research methods usedStudies to inform tool designs and software practicesMixed methods: – Mining and analysis of software artifacts – Ethnographic observations – Interviews – Surveys
  21. Source code comments Reputation Tagging Wikis, social networking, etc. Question &Answer Websites MicroBlogging Blogging
  22. Source code comments How programmers use source comments for communicating with developers?
  23. Source Code Comments:Graffiti or Information? e.g. comments, bookmarks, tasks, etc The role of annotations in program comprehension r human i. e. fo us age
  24. Marginalia, byH. J. Jackson 2001 Fermat: "I have a truly marvellous proof of this proposition which this margin is too narrow to contain."
  25. Marginalia in source codeDevelopers co-opt source code comments fornavigation and task management – But can’t be shared and how they are used varied according to developers’ sophistication with toolsM.-A. Storey, L.-T. Cheng, J. Singer, M. Muller, D. Myers, J. Ryall. 2007. How Programmers can Turn Comments into Waypoints for Code Navigation. In Proceeding of: Software Maintenance, 2007. ICSM 2007.
  26. Source code comments Tagging Reputation Wikis, social networking, etc. Question &Answer Websites MicroBlogging Blogging
  27. Social TaggingInspired by how social tagging is used on the web
  28. Soc ial b folk ook sonTagging on the web omi markin es g,
  29. TagSEA: Tagging “waypoints”in source code and gathering into “tours” M.-A. Storey, J. Ryall, J. Singer, D. Myers, L.-T. Cheng, M. Muller, 2009. How Software Developers Use Tagging to Support Reminding and Refinding. IEEE Transactions on Software Engineering (TSE), 2009.
  30. Tagging in Studied introduction and adoption of tags by several teams for work itemsC. Treude and M.-A. Storey. Work Item Tagging: Communicating Concerns in Collaborative Software Development. InIEEE Transactions on Software Engineering 38, 1 (January/February 2012). pp. 19-34.
  31. Tagging in Findings: – Categorization (cross cutting concerns) – Organization – Finding and refinding – Team work practices emergedC. Treude and M.-A. Storey. Work Item Tagging: Communicating Concerns in Collaborative Software Development. InIEEE Transactions on Software Engineering 38, 1 (January/February 2012). pp. 19-34.
  32. Tags used in
  33. ConcernLines
  34. WorkItemExplorer: ICSE, Friday 10:45am
  35. Source code comments Reputation Tagging Wikis, social networking, etc. Question &Answer Websites MicroBlogging Blogging
  36. Microblogging Why do developers tweet?
  37. Microblogging Software engineers tweet actively (share) facts about software engineering topics and technologyG. Bougie, J. Starke, M.-A. Storey and D. German. Towards Understanding Twitter Use in Software Engineering: Preliminary FindingsOngoing Challenges and Future QuestionsIn Proceedings of the 2nd International Workshop on Web 2.0 for Software Engineering. 2011.
  38. Should microblogging be integrated in the IDE for the enterprises?W. Reinhard, Communication is the key – Support Durable Knowledge Sharing in Software Engineering byMicroblogging. SENSE 2009.A. Guzzi, M. Pinzger, A. van Deursen. Combiningmicro-blogging and IDE interactions to support developers in their quests. ICSM 2010.
  39. Source code comments Reputation Tagging Wikis, social networking, etc. Question &Answer Websites MicroBlogging Blogging
  40. BloggingWhy do developers blog?
  41. Blogging (1)“Our internal blog (only readable by those at the company) is really a virtual "water cooler". We are expected to blog there at least once a week (spelling and grammar dont matter) just to keep others at the company updated on what we are doing. If you cant find something interesting to say at least once a week, then youre not doing enough interesting work. Blogs are everything from: I hit this really annoying bug, to I completed this new awesome feature.”(Ian Bull, Software Engineer, EclipseSource)
  42. Blogging (2)Determining requirements through blogs[Park and Maurer, CHASE 2009] How developers blog: high-level concept discussion and requirements [Pagano and Maalej, MSR 2011] Blogs play a role in documenting APIs [Treude and Parnin, Web2SE 2011]
  43. Source code comments Reputation Tagging Wikis, social networking, etc. MicroBlogging Question & Answer Websites Blogging
  44. Question and Answer WebsitesWhat role do Question and Answer websites play in software engineering?
  45. Stackoverflow
  46. Over 92% of the questions onStackoverflow are answered, and for those92% the median answer time is 11 minutes L. Mamykina, B. Manoim, M. Mittal, G. Hripcsak, and B. Hartmann. Design lessons from the fastest q&a site in the west. CHI 2011.
  47. StackoverflowHow-to questions prevalent, and used frequentlyby novicesC. Treude, O. Barzilay and M.-A. Storey. How do Programmers Ask and Answer Questions on the Web?NIER/ICSE 2011.
  48. Linking Stackoverflow data with API usageC. Parnin, C. Treude, L. Grammel and M.-A. Storey.Crowd Documentation: Exploring the Coverage and the Dynamics of API Discussions on Stack Overflow”.Under submission, May 25 2012, related blog (15,000 hits so far).
  49. Stackoverflow as Crowd DocumentationCoverage of API documentation: 77% of theJava API classes & 87% of Android API classesSpeed of coverage:C. Parnin, C. Treude, L. Grammel and M.-A. Storey.Crowd Documentation: Exploring the Coverage and the Dynamics of API Discussions on Stack Overflow”.Under submission, May 25 2012, related blog (15,000 hits so far).
  50. Impact on documentation tools?Automatically generating documentationVisualizing crowd documentationhttp://latest-print.crowd-documentation.appspot.com/?api=android
  51. Source code commentsReputation Tagging Wikis, social networking, etc. Question & Answer Websites MicroBlogging Blogging
  52. ReputationWhy do developers and recruiters use reputation features in social networking sites?
  53. Social Coding in GitHub GitHub supports transparency Management of profiles and their visibility important for project success Explicit self promotion not valuedL. Dabbish, H.C. Stuart, J. Tsay and J. Herbsleb. Social coding in github: transparency and collaboration in an open software repository. CSCW 2012.
  54. Masterbranch and Coderwall
  55. Developer motivations “As a software developer, you need to learn a lot. Its a constant challenge to keep up with technologies. […] Its the proof that you have that kind of mindset, if you do it [learning, keeping up] anyway in your free time” “[When] I look at repos around this topic [...], I may be interested in seeing the coder footprint of people that work in this area [...] their favorite languages, the topics they write code about, what they work on”L. Singer, F. F. Filho, B. Cleary, C. Treude, M.-A. Storey, K. Schneider.Mutual Assessment in the Social Programmer Ecosystem: An Empirical Investigation of Developer Profile Aggreg Under submission, June 2012.
  56. Recruiter motivationsSocial connections for finding candidates that arepassionate, learn quickly and with diverse skills Mutual Assessment in the Software Ecosystem L. Singer, F. F. Filho, B. Cleary, C. Treude, M.-A. Storey, K. Schneider. Mutual Assessment in the Social Programmer Ecosystem: An Empirical Investigation of Developer Profile Aggreg Under submission, June 2012.
  57. Source code comments Reputation Tagging Wikis, social networking, etc. Question &Answer Websites MicroBlogging/ Blogging Community Portals
  58. Wikis etc...• Wikis useful for documentation, requirements engineering, knowledge sharing• Impact of social networking in software engineering (Codebook, Github) - can also follow software artifacts!• Crowdsourcing of coding (TopCoder) and testing (e.g. Google’s A/B testing approach)• End-user involvement in closed, open source and mixed initiative projects• Community portals in software communities
  59. Making sense of the social media ecosystem (the social era) in software engineering Source code comments Reputation Tagging Wikis, social networking, etc. Question & Answer Microblogging Websites Blogging
  60. SocialMedia
  61. EnhancesTask management, coordination Awareness, transparency Learning Personal portfolio development, expertise finder, recruitment
  62. SocialMedia
  63. Retrieves??Programmer “rock stars”Oral culture (talkbacks on blogs)End-user programmersPortfolios “On Twitter, I follow a few prominent software developers. For example, Kelly Sommers from Canada, she’s constantly trying new things. I don’t think she ever sleeps. So she’s a great source of inspiration.” (From the Reputation study)
  64. SocialMedia
  65. Reverses??Geek cultureReliance on searchInterruptionsSecurity holesSpaghetti code “Google as the most important member on your programming team”, Brendan Cleary
  66. SocialMedia
  67. Obsolesces??Formal documentationIn-house expertise, certain jobsNeed for co-locationClassroom educationEmail listsCVs "Its always good to document a widget, but its more important in many cases to document a process [...]. Its the context of how you use the widget thats much more important."
  68. (Distributed) Community formation, Community fragmentation,awareness, transparency, informal processes,knowledge curation, geek culture,learning, reuse, reliance on search,reputation security concerns, interruptions, advertisements Social MediaProgramming gurus,end users as developers, In-house expertise/jobs,verbal discussions, formal documentation,portfolios, classroom education,communities of practice CVs, email lists, need for co-location
  69. 7 Burning Questions about SocialMedia use in Software Engineering... Source code comments Reputation Tagging Wikis, social networking, etc. Question & Answer Websites Microblogging Blogging
  70. Q1: Towards the “SocialProgrammer”?• What makes a good developer? – Ability to write good code… or… – Ability to search for good code and to network? Do social skills matter?• Can you assess a programmer’s ability independently of the larger community?
  71. Q2: Classroom education still relevant? Knowledgeable -> Knowledge-ablehttp://www.academiccommons.org/commons/essay/knowledgable-knowledge-able, by Michael Wesch
  72. Q3: Gamification and marginalization?Less than 13% of Wikipedia content is authoredby women, fewer than 9% of editors are womenWhy does this matter?Less female oriented contentFewer opportunities to gain expertise, build portfolios, reputation“Define Gender Gap? Look up Wikipedia’s Contributor List. New York Times, January, 2011. . http://blog.20sb.net/2011/10/changing-the-ratio-on-wikipedia.html
  73. Q4: Information overload?“obsessive web browsing can cause attentionspans to drop to as little as nine seconds—equivalent to a goldfish”, Ted Selker, MIT 2002
  74. Q5: Impact on design and documentation? What are the risks of using social media for requirements gathering/elicitation? Does the use of social media lead to a “laissez-faire” documentation approach?
  75. Q6: Impact on software quality?Does social media use lead to:Spaghetti code and brittle integrations?More (viral) bugs? Security concerns?Undesirable clones?More license violations?Poor code ownership?
  76. Q7: Impact on mining methods?Can mining of social media lead to improvedpredictions, detections and recommendations? Challenge!! mining an ecosystem of media!
  77. Concluding remarks...
  78. Mining community takeawaysThe social era in software engineering begs usto ask different kinds of questionsSocial media ecosystems as an integralcomponent of software repositories (or viceversa?)Abundant and exciting mining opportunities!Combine with other research methods
  79. Software Goals repositoriesGoals first... MSR 2012-...“If we understand the revolutionary transformations caused by newmedia, we can anticipate and control them; but if we continue in ourself-induced subliminal trance, we will be their slaves.” MarshallMcLuhan, 1974
  80. http://www.thechiselgroup.orghttp://margaretannestorey.wordpress.com/@thechiselgroup, @margaretstorey on Twitter mstorey@uvic.ca Funded by NSERC/DRDC/IBM Acknowledgements for feedback on my talk: C. Treude, B. Cleary, I. Richardson, J. Aranda, B. Fu, J. Starke, C. Petrachenko, and to C. Parnin and L. Singer
  81. IEEE Software special issueBridging Software Communities through SocialNetworkingPapers due June 25th, 2012http://www.computer.org/portal/web/computingnow/swcfp1Editors:Jan Bosch, Chalmers University of Technology, SwedenMargaret-Anne Storey, University of Victoria, CanadaAndrew Begel, Microsoft Research, USA
  82. (Distributed) Community formation, Community fragmentation,awareness, transparency, informal processes,knowledge curation, geek culture,learning, reuse, reliance on search,reputation security concerns, interruptions, advertisements Social MediaProgramming gurus,end users as developers, In-house expertise/jobs,verbal discussions, formal documentation,portfolios, classroom education,communities of practice CVs, email lists, need for co-location
  83. Additional ReferencesC. Treude and M.-A. Storey.Effective Communication of Software Development Knowledge Through CESEC/FSE ’11.Communities of practice: http://www.ewenger.com/theory/See the following two links for other references on social media use insoftware engineering:M.-A. Storey, C. Treude, A. van Deursen and L.-T. Cheng.The Impact of Social Media on Software Engineering Practices and Tools. In FoSER ’10: Proceedings of the FSE/SDP workshop on Future of softwareengineering research.Christoph Treude’s Blog: http://www.ctreude.ca/See also this year’s and last’s MSR proceedings for some new work on thistopic.

×