skip to main content
10.1145/1287624.1287674acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

A socio-technical framework for supporting programmers

Published: 07 September 2007 Publication History

Abstract

Studies have shown that programmers frequently seek external information during programming, from source code and documents, as well as from other programmers because much of the information remains in the heads of programmers. Programmers therefore often ask other programmers questions to seek information in a timely fashion to carry out their work. This information seeking entails several conflicting factors. From the perspective of the information-seeking programmer, not asking questions degrades productivity. Conversely, asking questions interrupts other programmers and degrades their productivity, and may be frowned upon by peers due to the perceived social inconsideration of the information seeker. From the perspective of the recipients of the question, even though helping is costly, not helping also incurs social costs due to the deviation from social norms. To balance all these factors, this paper proposes the STeP_IN (Socio-Technical Platform for In situ Networking) framework to guide the design of systems that support information seeking during different phases of programming. The framework facilitates access to the information in the heads of other programmers while minimizing the negative impacts on the overall productivity of the team.

References

[1]
Ackerman, M. and T. Malone, Answer Garden: A Tool for Growing Organizational Memory, in Proceedings of ACM Conference on Office Information Systems. 1990, 31--39.
[2]
Ackerman, M. and D. McDonald, Answer Garden 2: Merging Organizational Memory with Collaborative Help, in Proceedings of CSCW'96. 1996. 97--105.
[3]
Antoniol, G., et al., Recovering Traceability Links between Code and Documentation. IEEE Transactions on Software Engineering, 2002. 28(10): 970--983.
[4]
Berlin, L.M., Beyond Program Understanding: A Look at Programming Expertise in Industry, in Empirical Studies of Programmers: Fifth Workshop, 1993, 6--25.
[5]
Card, S., G. Robertson, and J. Mackinlay, The Information Visualizer: An Information Workspace, in Proceedings of CHI'91. 1991. 181--188.
[6]
Cosley, D., et al., Using Intelligent Task Routing and Contribution Review to help Communities Build Artifacts of Lasting Value, in Proceedings of CHI'06. 2006. 1037--1046.
[7]
Cross, R. and S.P. Borgatti, The Ties That Share: Relational Characteristics that Facilitate Information Seeking, in Social Capital and Information Technology, M. Huysman and V. Wulf, Eds. 2004, The MIT Press: Cambridge, MA. 137--161.
[8]
Cubranic, D. and G.C. Murphy, Hipikat: Recommending Pertinent Software Development Artifacts, in Proceedings of ICSE03. 2003. 408--418.
[9]
de Souza, C., J. Froehlich, and P. Dourish. Seeking the Source: Software Source Code as a Social and Technical Artifact, in Proceedings of GROUP05. 2005. 197--206
[10]
de Souza, C., et al., How a Good Software Practice Thwarts Collaboration: The Multiple Roles of APIs in Software Development, in Proceedings of FSE04. 2004. 221--220.
[11]
DeMarco, T. and T. Lister, Peopleware: Productive Projects and Teams. 2nd ed. 1999, New York: Dorset Housing Publishing.
[12]
Fischer, G. and K. Nakakoji, Making Design Objects Relevant to the Task at Hand, in Proceedings of Ninth National Conference on Artificial Intelligence. 1991. 67--73.
[13]
Fischer, G., E. Scharff, and Y. Ye, Fostering Social Creativity by Increasing Social Capital, in Social Capital, M. Huysman and V. Wulf, Eds. 2004, MIT Press: Cambridge, MA. 355--399.
[14]
Froehlich, J. and P. Dourish, Unifying Artifacts and Activities in a Visual Tool for Distributed Software Development Teams, in Proceedings of ICSE04. 2004. 387--396.
[15]
Fukuyama, F. Social Capital and Civil Society, in IMF Conference on Second Generation Reforms. 1999. Washington, DC.
[16]
Herbsleb, J. and A. Mockus, An Empirical Study of Speed and Communication in Globally-Distributed Software Development. IEEE Transactions on Software Engineering, 2003. 29(3): 1--14.
[17]
Illich, I., Deschooling Society. 1971, New York: Harper and Row.
[18]
Kraut, R.E., et al., Social Impact of the Internet: What Does it Mean? CACM, 1998. 41(12): 21--22.
[19]
LaToza, T.D., G. Venolia, and R. DeLine. Maintaining Mental Models: A Study of Developer Work Habits, in Proceedings of ICSE06. 2006. 492--501
[20]
McDonald, D.W. and M.S. Ackerman, Just Talk to Me: A Field Study of Expertise Location, in Proceedings of CSCW'98. 1998. 315--324.
[21]
McDonald, D.W. and M.S. Ackerman, Expertise Recommender: A Flexible Recommendation System Architecture, in Proceedings of CSCW'00. 2000. 101--120.
[22]
Medynskiy, Y., N. Ducheneaut, and A. Farahat, Using Hybrid Networks for the Analysis of Online Software Development Communities, in Proceedings of CHI06. 2006. 513--516.
[23]
Mockus, A. and J. Herbsleb, Expertise Browser: A Quantitative Approach to Identifying Expertise, in Proceedings of ICSE02. 2002. 503--512.
[24]
Nahapiet, J. and S. Ghoshal, Social Capital, Intellectual Capital, and the Organizational Advantage. Academy of Management Review, 1998. 23: 242--266.
[25]
Nardi, B.A., S. Whittaker, and H. Schwarz, It's Not What You Know, It's Who You Know: Work in the Information Age. First-Monday: Peer-reviewed Journal on the Internet, 2000. 5(5).
[26]
Pentland, A., Socially Aware Computation and Communication. Computer, 2005. 38(3): 33--40.
[27]
Perlow, L., The Time Famine: Toward a Sociology of Work Time. Administrative Science Quarterly, 1999. 44(1): 57--81.
[28]
Robillard, P.N., The Role of Knowledge in Software Development. CACM, 1999. 42(1): 87--92.
[29]
Szoestek, A.M. and P. Markopoulos, Factors Defining Face-to-Face Interruptions in the Office Environment, in Proceedings of CHI06. 2006. 1379--1384.
[30]
Terveen, L.G., P.G. Selfridge, and M.D. Long, Living Design Memory: Framework, Implementation, Lessons Learned. Human-Computer Interaction, 1995. 10(1): p. 1--37.
[31]
Tyler, J.R. and J.C. Tang, When Can I Expect an Email Response? A Study of Rhythms in Email Usage, in Proceedings of the Eighth European Conference on Computer Supported Cooperative Work. 2003. 239--258.
[32]
Westrup, C., On Retrieving Skilled Practices: The Contribution of Ethnography to Software Development, in Social Thinking: Software Practice, Y. Dittrich, C. Floyd, and R. Klischewski, Eds. 2002, MIT Press: Cambridge, MA. 95--110.
[33]
Ye, Y. Information-Enriched Workspaces, in Proceedings of IFIP 2001 International Conference on Human-Computer Interaction. 2001. Tokyo, Japan: IOS Press. 206--213
[34]
Ye, Y. and G. Fischer. Information Delivery in Support of Learning Reusable Software Components on Demand, in Proceedings of 2002 International Conference on Intelligent User Interfaces. 2002. 159--166.
[35]
Ye, Y. and G. Fischer, Supporting Reuse by Delivering Task-Relevant and Personalized Information, in Proceedings of ICSE02. 2002. 513--523.
[36]
Ye, Y., et al., Searching the Library and Asking the Peers: Learning to Use Java APIs on Demand, in Proceedings of 2007 International Conference on Principles and Practices of Programming in Java. 2007. (forthcoming)
[37]
Zimmermann, T., et al., Mining Version Histories to Guide Software Changes, in Proceedings of ICSE04. 2004. 563--572.

Cited By

View all
  • (2019)Coordination TechnologiesHandbook of Software Engineering10.1007/978-3-030-00262-6_10(375-398)Online publication date: 12-Feb-2019
  • (2018)Learning secure programming in open source software communitiesProceedings of the 6th International Conference on Information and Education Technology10.1145/3178158.3178202(25-32)Online publication date: 6-Jan-2018
  • (2018)CFarProceedings of the 2018 CHI Conference on Human Factors in Computing Systems10.1145/3173574.3173731(1-13)Online publication date: 21-Apr-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC-FSE '07: Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
September 2007
638 pages
ISBN:9781595938114
DOI:10.1145/1287624
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 September 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. communication
  2. information acquisition and sharing
  3. programming support
  4. socio-technical support

Qualifiers

  • Article

Conference

ESEC/FSE07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)9
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Coordination TechnologiesHandbook of Software Engineering10.1007/978-3-030-00262-6_10(375-398)Online publication date: 12-Feb-2019
  • (2018)Learning secure programming in open source software communitiesProceedings of the 6th International Conference on Information and Education Technology10.1145/3178158.3178202(25-32)Online publication date: 6-Jan-2018
  • (2018)CFarProceedings of the 2018 CHI Conference on Human Factors in Computing Systems10.1145/3173574.3173731(1-13)Online publication date: 21-Apr-2018
  • (2014)Recommending software experts using code similarity and social heuristicsProceedings of 24th Annual International Conference on Computer Science and Software Engineering10.5555/2735522.2735526(4-18)Online publication date: 3-Nov-2014
  • (2013)Socio-Technical SystemsKnowledge and Technological Development Effects on Organizational and Social Structures10.4018/978-1-4666-2151-0.ch001(1-36)Online publication date: 2013
  • (2013)An Information Foraging Theory Perspective on Tools for Debugging, Refactoring, and Reuse TasksACM Transactions on Software Engineering and Methodology10.1145/2430545.243055122:2(1-41)Online publication date: 1-Mar-2013
  • (2013)Developer Profiles for Recommendation SystemsRecommendation Systems in Software Engineering10.1007/978-3-642-45135-5_8(199-222)Online publication date: 20-Dec-2013
  • (2012)Documenting and sharing knowledge about codeProceedings of the 34th International Conference on Software Engineering10.5555/2337223.2337476(1535-1538)Online publication date: 2-Jun-2012
  • (2012)Documenting and sharing knowledge about code2012 34th International Conference on Software Engineering (ICSE)10.1109/ICSE.2012.6227043(1535-1538)Online publication date: Jun-2012
  • (2012)Investigating the value of retention actions as a source of relevance information in the software development environmentProceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD)10.1109/CSCWD.2012.6221807(121-127)Online publication date: May-2012
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media