benevol 2012 keynote: the social software (r)evolution

64
Margaret-Anne (Peggy) Storey Keynote for BENEVOL 2012, TU Delft, the Netherlands The Social Software (R)evolution: Impact of Social Media on Software Evolution

Upload: margaret-anne-storey

Post on 10-May-2015

735 views

Category:

Technology


1 download

DESCRIPTION

In this talk, I consider various channels of social media and consider how they impact software engineering. I then focus on what the channels enable (e.g. peer production, social programmer) and how these may change the laws and assumptions of software evolution.

TRANSCRIPT

Page 1: Benevol 2012 Keynote: The Social Software (R)evolution

Margaret-Anne (Peggy) StoreyKeynote for BENEVOL 2012, TU Delft, the Netherlands

The Social Software (R)evolution:Impact of Social Media on Software Evolution

Page 2: Benevol 2012 Keynote: The Social Software (R)evolution

CHISEL group, UVic, Canada: – Brendan Cleary– Christoph Treude– Fernando Figueira Filho– Jamie Starke– Gargi Bougie– Peter Rigby– Lars Grammel

Arie van Deursen, TU Delft, the Netherlands Chris Parnin, Georgia Tech, USA Leif Singer, Leibniz Universität, GermanyOhad Barzilay, Tel-Aviv University, Israel Daniel German, UVic, Canada

Page 3: Benevol 2012 Keynote: The Social Software (R)evolution

Research interests

Human and social aspects in software and knowledge engineering

Goal: develop theories to inform or suggest tool design

Impact of social media on 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.

Page 4: Benevol 2012 Keynote: The Social Software (R)evolution

PlaceSpace

P. Dourish and V. Bellotti. Awareness and Coordination in Shared Workspaces. Proceedings of the ACM Conference on Computer-Supported Cooperative Work (CSCW'92).

Page 5: Benevol 2012 Keynote: The Social Software (R)evolution

“Architecture of participation” Tim O’Reilly

Page 6: Benevol 2012 Keynote: The Social Software (R)evolution

Roadmap

How social media impacts software engineering

How social media impacts today’s software evolution challenges

Future research directions for software evolution

M.-A. Storey. Keynote for MSR 2012. The Evolution of the Social Programmer: Social Media and Software Engineering. On slideshare.

Page 7: Benevol 2012 Keynote: The Social Software (R)evolution

Social Media Channels in Software Engineering

Wikis, social networking, etc.

Tagging

MicrobloggingQuestion &

Answer Websites

Reputation

Blogging

Social Coding

Page 8: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation Tagging

Social Coding

MicroBlogging

Blogging

Page 9: Benevol 2012 Keynote: The Social Software (R)evolution

Social TaggingInspired by how social tagging is used on the web(and by inadequacies with source code comments)

Page 10: Benevol 2012 Keynote: The Social Software (R)evolution

TagSEA: Social bookmarks (tagging) to create “waypoints” through software

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.

Page 11: Benevol 2012 Keynote: The Social Software (R)evolution

Tagging in

Findings: – Categorization (cross cutting concerns)– Organization– Finding and refinding– Team work practices emerged

C. Treude and M.-A. Storey. Work Item Tagging: Communicating Concerns in Collaborative Software Development. In IEEE Transactions on Software Engineering 38, 1 (January/February 2012). pp. 19-34.

Studied introduction and adoption of tags by several teams for work items

Page 12: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation Tagging

Social Coding

MicroBlogging

Blogging

Page 13: Benevol 2012 Keynote: The Social Software (R)evolution

MicrobloggingWhy do developers tweet?

Page 14: Benevol 2012 Keynote: The Social Software (R)evolution

Microblogging

Software engineers tweet (share) facts about software engineering topics and technology

G. Bougie, J. Starke, M.-A. Storey and D. German. Towards Understanding Twitter Use in Software Engineering: Preliminary Findings Ongoing Challenges and Future Questions 2nd International Workshop on Web 2.0 for Software Engineering. 2011.

A. Guzzi, M. Pinzger, A. van Deursen. Combining micro-blogging and IDE interactions to support developers in their quests. ICSM 2010.

Should microblogging be integrated in the IDE for the enterprise?

Page 15: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation Tagging

Social Coding

MicroBlogging

Blogging

Page 16: Benevol 2012 Keynote: The Social Software (R)evolution

BloggingWhy do developers blog?

Page 17: Benevol 2012 Keynote: The Social Software (R)evolution

Blogging

Determining requirements through blogs [Park and Maurer, CHASE 2009]

How developers blog: domain concepts and functional requirements (linked to commits)

[Pagano and Maalej, MSR 2011]

Blogs play a role in documenting APIs [Treude and Parnin, Web2SE 2011]

Page 18: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation Tagging

Social Coding

MicroBlogging

Blogging

Page 19: Benevol 2012 Keynote: The Social Software (R)evolution

Question and Answer Websites

What role do Question and Answer websites play in software engineering?

Page 20: Benevol 2012 Keynote: The Social Software (R)evolution

Stackoverflow

0"

20"

40"

60"

80"

100"

120"

140"

160"

Jun+09"

Aug+09"

Oct+09"

Dec+09"

Feb+10"

Apr+10"

Jun+10"

Aug+10"

Oct+10"

Dec+10"

Feb+11"

Apr+11"

Jun+11"

Aug+11"

Oct+11"

Dec+11"

Millions'

Stack'Overflow'Website'Traffic'

views'

visits'

people' 0"

200,000"

400,000"

600,000"

800,000"

1,000,000"

Jul+08" Dec+08" Jun+09"Dec+09" Jun+10"Dec+10" Jun+11"Dec+11"

Stack'Overflow'Register'Users'

0"

20000"

40000"

60000"

80000"

100000"

120000"

140000"

Jul+08" Dec+08" Jun+09" Dec+09" Jun+10" Dec+10" Jun+11" Nov+11"

Stack'Overflow'Ques=ons''Per'Month' 3.1M'

Ques=ons'6.2M'Answers'

12M'Comments'

3.5k'Views'per'minute'

1.5M'PersonJhours''(es=mate'of'10'min'per'post)'

274th'USA'website'ranking'(Quantcast'Jan'2012)'

Page 21: Benevol 2012 Keynote: The Social Software (R)evolution

Over 92% of the questions on Stackoverflow are answered, and for those 92% 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.

Page 22: Benevol 2012 Keynote: The Social Software (R)evolution

Stackoverflow

How-to questions prevalent, and used frequently by novices

C. Treude, O. Barzilay and M.-A. Storey. How do Programmers Ask and Answer Questions on the Web? NIER/ICSE 2011.

Crowd documentation (API documentation)

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.

Page 23: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation

Tagging

Social Coding

MicroBlogging

Blogging

Page 24: Benevol 2012 Keynote: The Social Software (R)evolution

ReputationWhy do developers and recruiters use reputation features in

social networking sites?

Page 25: Benevol 2012 Keynote: The Social Software (R)evolution

Social Coding in GitHubManagement of profiles and their visibility important for project successExplicit self promotion not valued

L. Dabbish, H.C. Stuart, J. Tsay and J. Herbsleb. Social coding in github: transparency and collaboration in an open software repository. CSCW 2012.

Page 26: Benevol 2012 Keynote: The Social Software (R)evolution

Masterbranch and Coderwall

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 Aggregators To appear CSCW 2013. Blog: http://to.leif.me/devprofiles

Mutual Assessment in the Software Ecosystem

Page 27: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Tagging

MicroBloggingQuestion &

Answer Websites

Reputation

Blogging

Social Coding

Page 28: Benevol 2012 Keynote: The Social Software (R)evolution

Social CodingHow do social coding sites support collaborative processes in

software engineering and improve project quality?

Page 29: Benevol 2012 Keynote: The Social Software (R)evolution

Social Coding in GitHubGitHub supports transparencyTransparency may promote good testing practices; infrastructure for drive-by commitsValuable resource for research

L. Dabbish, H.C. Stuart, J. Tsay and J. Herbsleb. Social coding in github: transparency and collaboration in an open software repository. CSCW 2012.

R. Pham, L. Singer, O. Liskin, F. Figueira Filho, K. Schneider. On Testing Culture in GitHub Projects, To Appear ICSE 2012.

G. Gousios and D. Spinellis, GHTorrent: Github's data from a firehose, MSR 2012.

Page 30: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis, social networking, etc.

Question & Answer Websites

Reputation

CommunityPortals

Tagging

Social Coding

MicroBlogging/Blogging

Page 31: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis etc...

• Wikis useful for documentation, requirements engineering, knowledge sharing

• Impact of social networking in software engineering (Codebook) - can also follow software artifacts

• Crowdsourcing of coding (TopCoder) and testing (e.g. Google’s A/B testing approach)

• Community portals in software communities• Facilitates end-user involvement in closed, open source

and mixed initiative projects

Page 32: Benevol 2012 Keynote: The Social Software (R)evolution
Page 33: Benevol 2012 Keynote: The Social Software (R)evolution

Marshall McLuhan

It is the framework which changes with each new

technology and not just the picture within the frame. 1955

The medium is the message. 1958

We shape our tools and thereafter our tools shape us. Laws of Media by Marshall McLuhan

Page 34: Benevol 2012 Keynote: The Social Software (R)evolution

Medium

Page 35: Benevol 2012 Keynote: The Social Software (R)evolution

Making sense of the social media ecosystem (the social era) in software engineering

Wikis, social networking, etc.

Tagging

MicrobloggingQuestion & Answer Websites

Reputation

Blogging

Social Coding

Page 36: Benevol 2012 Keynote: The Social Software (R)evolution

Social Media

Page 37: Benevol 2012 Keynote: The Social Software (R)evolution

Crowdsourcing of content and peer curation of knowledge

EnhancesTask management, coordination

Awareness, transparency

Learning

Personal portfolio development, expertise finding, recruitment

Page 38: Benevol 2012 Keynote: The Social Software (R)evolution

Social Media

Page 39: Benevol 2012 Keynote: The Social Software (R)evolution

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)

Page 40: Benevol 2012 Keynote: The Social Software (R)evolution

Social Media

Page 41: Benevol 2012 Keynote: The Social Software (R)evolution

Reverses??

Geek cultureReliance on searchInterruptionsSecurity holesSpaghetti code

“Google as the most important member on your programming team”, Brendan Cleary

Page 42: Benevol 2012 Keynote: The Social Software (R)evolution

Social Media

Page 43: Benevol 2012 Keynote: The Social Software (R)evolution

Obsolesces??

Formal documentationIn-house expertise, certain jobsNeed for co-locationClassroom educationEmail listsCVs

"It's always good to document a widget, but it's more important in many cases to document a process [...]. It's the context of how you use the widget that's much more important."

Page 44: Benevol 2012 Keynote: The Social Software (R)evolution

(Distributed) Community formation, awareness, transparency, knowledge curation,learning, reuse, reputation

Community fragmentation,informal processes,

geek culture, reliance on search,security concerns,

interruptions, advertisements

Programming gurus,end users as developers,verbal discussions, portfolios,communities of practice

In-house expertise/jobs, formal documentation,

classroom education, CVs, email lists,

need for co-location

Social Media

Page 45: Benevol 2012 Keynote: The Social Software (R)evolution

Wikis,

Tagging

MicroblogQ&A

Reputation

Blogging

Social Coding

Shift from the technology of social software to what it and a culture of participation enables...

Page 46: Benevol 2012 Keynote: The Social Software (R)evolution

Peer production

Beyond source code!Crowd documentationDeveloper profiles and portfoliosTechnology diffusionLearning materials

Motivations: personal and socialInnovation friendly!

Page 47: Benevol 2012 Keynote: The Social Software (R)evolution

Not just code writing abilityAbility to searchAbility to networkAbility to document/publish to facilitate searchKnowledgeAble rather than Knowledgeable

The evolution of the social programmer

http://www.academiccommons.org/commons/essay/knowledgable-knowledge-able, by Michael Wesch

Page 48: Benevol 2012 Keynote: The Social Software (R)evolution

Evolution of software engineering process?

Page 49: Benevol 2012 Keynote: The Social Software (R)evolution

Peer productionSocial programmer

Software ecosystemsSocial networks and communities of practice

Cambrian explosion of technologies User empowerment

Semantics and quantificationSocial development process

Social Programmer Ecosystem

Page 50: Benevol 2012 Keynote: The Social Software (R)evolution

Software Evolution

Page 51: Benevol 2012 Keynote: The Social Software (R)evolution

Laws of software evolution

Software that remains useful over time, willcontinually change…become more complexincrease in sizedecrease in quality…

Manny Lehman, 1925-2010

Page 52: Benevol 2012 Keynote: The Social Software (R)evolution

Fred Brooks

No silver bullet... Accidental versus essential complexity!

Page 53: Benevol 2012 Keynote: The Social Software (R)evolution

Essential complexitiesComplexity of softwareConformability (real world is complex)Changeability (success drives change)Invisibility (dynamic aspects)

"there  is  no  single  development,  in  either  technology  or  management  technique,  which  by  itself  promises  even  one  order  of  magnitude  [tenfold]  improvement  within  a  decade  in  productivity,  in  reliability,  in  simplicity.“    Fred  Brooks,  1986

Page 54: Benevol 2012 Keynote: The Social Software (R)evolution

Software development as a human activity

Mythical man month, Brooks’ Law Many good designers, but only so many “great” designersProposes a hierarchical structure with documentation for communication

Page 55: Benevol 2012 Keynote: The Social Software (R)evolution

Evolution challenges (human-centric)

Requirements change, understanding

Developer knowledgeTeam work (which process is best?)

Documentation, knowledge managementTesting, quality control

Research on software evolution

Page 56: Benevol 2012 Keynote: The Social Software (R)evolution

Knowledge ProgramsTechnologiesDevelopersTeamsUsersToolsProcesses

Yesterday’s software evolution world....

Page 57: Benevol 2012 Keynote: The Social Software (R)evolution

Today’s software evolution world....

Knowledge ProgramsTechnologiesDevelopersTeamsUsersToolsProcesses

Page 58: Benevol 2012 Keynote: The Social Software (R)evolution

BUT: Are we doing any better?Are developers more productive, successful, creative today? Is social software closing gap between good and great designers?

Is quality and variety of software and documentation improving?

Are today’s users more satisfied? Is today’s software helping users become more productive (paradox of computing)?

Page 59: Benevol 2012 Keynote: The Social Software (R)evolution

Something to chew on...

Was the problem of building an encyclopedia of knowledge an essential complexity or an accidental one?

Page 60: Benevol 2012 Keynote: The Social Software (R)evolution

Research opportunities and challenges

Great resources out there to support research of evolution! But software development landscape changing rapidly, can research keep up?

Are the laws/theories of evolution outdated?

Is the social development ecosystem addressing “essential” complexities or just accidental ones?What risks are we facing? (IP, company assets, programmer time, ...)

Page 61: Benevol 2012 Keynote: The Social Software (R)evolution

Concluding remark

“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

If code is a form of communication, is the way we write software (process, culture and tools) a new medium?

Page 62: Benevol 2012 Keynote: The Social Software (R)evolution

IEEE Software special issueBridging Software Communities through Social Networking, January/February 2013

Page 63: Benevol 2012 Keynote: The Social Software (R)evolution
Page 64: Benevol 2012 Keynote: The Social Software (R)evolution

http://www.thechiselgroup.orghttp://margaretannestorey.wordpress.com/

@thechiselgroup, @[email protected]

Funded by NSERC/DRDC/IBM