Nothing Special   »   [go: up one dir, main page]

skip to main content
article

A review of awareness in distributed collaborative software engineering

Published: 01 November 2010 Publication History

Abstract

Software development projects are inherently cooperative, requiring many developers to coordinate their efforts to produce complex systems. An integral part of this process is the development and maintenance of a shared understanding concerning the state of software project tasks, artefacts, and the activities and expertise of developers working on the project. In co-located settings, this vital awareness information that concerns developers, either directly or tangentially, is typically acquired using formal, regular meetings, informal personal interruptions and electronic communication. Developing and maintaining such an awareness are far more difficult in distributed teams where developers are separated by time and space. The goal of this review is to help bridge the gap between the theoretical benefits of distributed collaborative software development and the practical impediments to successful implementation, and more specifically, achieving similar levels of awareness in distributed settings to those available in co-located settings. The review starts with a detailed discussion of awareness and awareness types with particular relevance to collaboration. This is followed by a discussion of how awareness information is disseminated during collaborative processes. Awareness information needs and dissemination mechanisms in software development teams are then presented. The main contribution of the review, derived from a comparison of awareness needs in distributed collaborative software engineering and current support from tools and techniques, is that more support is required for the type of awareness known as context awareness. Context awareness crosscuts other (more basic) forms of awareness and arises because, over time, individual collaborators work on different sets of tasks and artefacts and form different perceptions of their colleagues; their colleagues' work, roles, and relationships; and, the workspace. This awareness is highly contextual and therefore cannot be generalized across individuals, entities or activities that are found in a collaboration space. Copyright © 2010 John Wiley & Sons, Ltd.

References

[1]
Whitehead J. Collaboration in software engineering: A roadmap. Proceedings of the International Conference on Software Engineering: Future of Software Engineering, Minneapolis, 2007; 214-222.
[2]
Ko AJ, DeLine R, Venolia G. Information needs in co-located software development teams. Proceedings of the 29th International Conference on Software Engineering, Minneapolis, 2007; 344-353.
[3]
Beck K. Extreme Programming Explained: Embrace Change. Addison-Wesley: Boston, 1999; 7-11.
[4]
Crampton CD. The mutual knowledge problem and its consequences in geographically dispersed teams. Organisational Science 2001; 12(3):346-371.
[5]
Hadas W, Frank AJ. Tacit knowledge: The link between organizational and individual knowledge. ECSCW Workshop Managing Tacit Knowledge, Bonn, 2001; 55-59.
[6]
Busch P, Richard D. Graphically defining articulable tacit knowledge. Pan-Sydney Workshop on Visual Information Processing, Sydney, 2000; 51-60.
[7]
Boland D, Fitzgerald B. Transitioning from a co-located to a globally-distributed software development team: A case study of analog devices. The 3rd International Workshop on Global Software Development, Edinburgh 2004; 4-7.
[8]
Chisan J, Damian D. Towards a model of awareness support of software development in GSD. Proceedings of the 3rd International Workshop on Global Software Development, ICSE, Edinburgh, 2004; 28-33.
[9]
Hargreaves E, Damian D. Can global software teams learn from military teamwork models? Third International Workshop on Global Software Development, ICSE 04, Edinburgh, 2004; 1-5.
[10]
Kommeren R, Parviainen P. Philips experiences in global distributed software development. Empirical Software Engineering 2007; 12:647-660.
[11]
Herbsleb JD. Global software engineering: The future of socio-technical coordination. Future of Software Engineering, Minneapolis, 2007; 188-198.
[12]
Ebert C, De Neve P. Surviving global software development. IEEE Software, March/April 2001; 62-69.
[13]
Omoronyia I. Enhancing awareness during distributed software development. PhD Thesis, Department of Computer and Information Sciences, University of Strathclyde, Glasgow, U.K., 2008.
[14]
Storey MA-D, Cubranic D, German DM. On the use of visualization to support awareness of human activities in software development: A survey and a framework. Proceedings of the 2005 ACM Symposium on Software Visualization, St. Louis, MO, 2005; 193-202.
[15]
Gutwin C, Greenberg S, Roseman M. Workspace awareness in real-time distributed groupware: Framework, widgets, and evaluation. Proceedings of the International Conference on Human-Computer Interaction: People and Computers XI, London, 1996; 281-298.
[16]
Sarma A. A survey of collaborative tools in software development. UCI ISR Technical Report, UCI-ISR-05-3, 2005.
[17]
Dewan P. Dimensions of tools for detecting software conflicts. Proceedings of the 2008 International Workshop on Recommendation Systems for Software Engineering, Atlanta, GA, 2008; 21-25.
[18]
Jiménez M, Piattini M, Vizcaíno A. Challenges and improvements in distributed software developmem: A systematic review. Advances in Software Engineering. Hindawi Publishing Corporation: New York, U.S.A., 2009.
[19]
Lanubile F, Ebert C, Prikladnicki R, Vizcaíno A. Collaboration tools for global software engineering. IEEE Software 2010; 27(2):52-55.
[20]
Dourish P, Bellotti V. Awareness sand coordination in shared workspaces. Proceedings of the ACM Conference on Computer Supported Cooperative Work (CSCW), Toronto, 1992; 107-114.
[21]
Gutwin C, Greenberg S. Effects of awareness support on groupware usability. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Los Angeles, 1998; 511-518.
[22]
Gaver WW, Smith RB, O'Shea T. Effective sounds in complex systems: The ARKola simulation. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems: Reaching Through Technology, New Orleans, 1991; 85-90.
[23]
Williamson C, Shneiderman B. The dynamic HomeFinder: Evaluating dynamic queries in a real-estate information exploration system. Research and Development in Information Retrieval, Copenhagen, 1992; 338-346.
[24]
Drury J, Williams MG. A Framework for role-based specification and evaluation of awareness support. in synchronous collaborative applications. Proceedings of the Eleventh IEEE International Workshops on Enabling Technologies, Infrastructure for Collaborative Enterprises (WETlCE'02), 2002; 12-17.
[25]
Gross T, Stary C, Totter A. User-centered awareness in computer-supported cooperative work-systems: Structured embedding of findings from social sciences. International Journal of Human-Computer Interaction 2005; 18(3):323-360.
[26]
Gutwin C, Stark G, Greenberg S. Support for workspace awareness in educational groupware. Computer Supported Collaborative Learning (CSCL '95), 1995; 147-156.
[27]
Prinz W. NESSIE: An awareness environment for cooperative settings. ESCSW'99: Sixth European Conference on Computer Supported Cooperative Work. Kluwer Associates: Copenhagen, 1999; 391-410.
[28]
Vertegaal R. Towards conveying joint attention states. Workshop on Awareness in Collaborative Systems in Conference on Human Factors in Computing Systems (CHI'97). ACM Press: Atlanta, GA, U.S.A., 1997.
[29]
Koichi H, Takahiko N, Tan H. Activity awareness: Spreading collaboration space among individual activities. Transactions of Information Processing Society of Japan 1999; 40(11):3977-3987.
[30]
Convertino G, Neale D, Hobby L, Carroll J, Rosson M. A laboratory method for studying activity awareness. Proceedings of the Third Nordic Conference on Human-Computer Interaction, Tampere, 2004; 313-322.
[31]
Hayashi K, Hazama T, Nomura T, Yamada T, Gudmundson S. Activity awareness: A framework for sharing knowledge of people, projects, and places. Proceedings of the Sixth European Conference on Computer Supported Cooperative Work, Copenhagen, 1999; 99-118.
[32]
Hawkins ID, Best RJ, Coney KA. Consumer Behaviour. Business Publications, Inc.: Plano, TX, 1983.
[33]
Zhu H. Some issues of role-based collaboration. Canadian Conference on Electrical and Computer Engineering, Montreal, 2003; 687-690.
[34]
Genilloud G, Wegmann A. A foundation for the concept of role in object modeling. Proceedings of the 4th International Enterprise Distributed Object Computing Conference, Makuhari, 2000; 76-85.
[35]
Schmidt K. The problem with 'awareness': Introductory remarks on 'awareness in CSCW'. Computer Supported Cooperative Work, An International Journal 2002; 11(3-4):285-298.
[36]
Vyas D, van de Watering M, Eliens A, van der Veer G. Being social @ work: Designing for playfully mediated social awareness in work environments. Home Informatics and Telematics: ICT for the Next Billion, Venkatesh A, Gonsalves T, Monk A, Buckner K (eds.), vol. 241. Springer: Boston, 2007; 113-131.
[37]
Bodker S, Christiansen E. Computer support for social awareness in flexible work. Computer Supported Collaborative Work, vol. 15 Springer: Netherlands, 2006; 1-28.
[38]
Webster's Unabridged Dictionary. Random House, 2006.
[39]
Dey AK, Abowd GD. Towards a better understanding of context and context-awareness. CHI 2000. Workshop on the What, Who, Where, When, and How of Context-awareness. ACM Press: New York, 2000; 371.
[40]
Dey AK. Context-aware computing: The CyberDesk project. Technical Report SS-98, AAAI 1998 Spring Symposium on Intelligent Environments, 1998; 51-54.
[41]
Greenberg S. Context as a dynamic construct. Human-Computer Interaction 2001; 16(2):257-268.
[42]
Neale D, Carroll M, Rosson M. Evaluating computer-supported cooperative work: Models and frameworks. Proceedings of the 2004 ACM Conference on Computer Supported Cooperative Work, Chicago, 2004; 112-121.
[43]
Nardi BAE (ed.). Context and Consciousness: Activity Theory and Human-Computer Interaction. MIT Press: Cambridge, MA, 1996.
[44]
Fitzpatrick G. The Locales Framework: Understanding and Designing for Wicked Problems. Kluwer Academic Publishers: Dordrecht, 2003.
[45]
Bogdan C, Eklundh S. FingerPrint: Supporting social awareness in a translucent sensor-mediated cue-based environment. CHI '04 Extended Abstracts on Human Factors in Computing Systems, Vienna, 2004; 1263-1266.
[46]
Cadiz JJ, Gupta A, Jancke G, Venolia GD. Sideshow providing peripheral awareness of important information. Technical Report, Redmond, Microsoft Research, MSR-TR-2001-83, 2001.
[47]
Horvitz E, Jacobs A, Hovel D. Attention-sensitive alerting. Proceedings of the Conference on Uncertainty and Artificial Intelligence, Stockholm, 1999; 305-313.
[48]
Cutrell E, Czerwinski M, Horvitz E. Notification, disruption, and memory: Effects of messaging interruptions on memory and performance. Proceedings of the IFIP TC.13 Conference on Human Computer Interaction (Interact 2001), Tokyo, 2001; 263-269.
[49]
McFarlane D. Coordinating the interruption of people in human-computer interaction. Proceedings of the IFIP TC.13 Conference on Human Computer Interaction, Edinburgh, 1999; 295-303.
[50]
Alexanderson P. Peripheral awareness and smooth notification: The use of natural sounds in process control work. Proceedings of the Third Nordic Conference on Human-Computer Interaction, Tampere, 2004; 281-284.
[51]
Pacey M, MacGregor C. Auditory cues for monitoring a background process: A comparative evaluation. Proceedings of the IFIP TC.13 Conference on Human Computer Interaction, Tokyo, 2001; 174-181.
[52]
Heiner J, Hudso S, Tanaka K. The information percolator: Ambient information display in a decorative object. Proceedings of the ACM Symposium on User Interface Software and Technology, Asheville 1999; 141-148.
[53]
Weiser M, Brown J. Designing calm technology. PowerGrid Journal 1996; 1(1).
[54]
Pedersen E. People presence or room activity supporting peripheral awareness over distance. Proceedings of the CHI 98 Conference Summary on Human Factors in Computing Systems, Los Angeles, 1998; 283-284.
[55]
Kantor M, Redmiles D. Creating infrastructure for ubiquitous awareness. Proceedings of the International Conference on Human Computer Interaction, Tokyo, 2001; 431-438.
[56]
Curtis B, Krasner H, Iscoe N. A field study of the software design process for large systems. Communications of the ACM 1988; 31(11):1268-1287.
[57]
Perry DE, Staudenmayer NA, Votta LG. People, organizations, and process improvement. IEEE Software 1994, 11(4):36-45.
[58]
Segal L. Designing team workstations: The choreography of teamwork. Local Applications of the Ecological Approach to Human-Machine Systems, Hancock P, Flach J, Caird J, Vicente K (eds.). Lawrence Erlbaum: Hillsdale, NJ, 1995; 392-415.
[59]
Dix A, Finlay J, Abowd G, Beale R. Human Computer Interaction (3rd edn). Prentice-Hall: Englewood Cliffs NJ, 2004.
[60]
Gutwin C, Penner R, Schneider K. Group awareness in distributed software development. Proceedings of the ACM Conference on Computer Supported Cooperative Work, Chicago, 2004; 72-81.
[61]
Ramasubbu N, Balan KR. Globally distributed software development project performance: An empirical analysis. Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Croatia, 2007; 125-134.
[62]
Herbsleb JD, Mockus A. An empirical study of speed and communication in globally distributed software development. IEEE Transactions on Software Engineering 2003; 29(6):481-494.
[63]
Teasley SD, Covi LA, Krishnan MS, Olson JS. Rapid software development through team collocation. IEEE Transactions on Software Engineering 2002; 28(7):671-683.
[64]
Frost R. Jazz and the Eclipse way of collaboration. IEEE Software 2007; 24(6):114-117.
[65]
Xiao W, Chi C, Yang M. On-line collaborative software development via wiki. Proceedings of the 2007 International Symposium on Wikis, Montreal, 2007; 177-183.
[66]
Handell M, Herbsleb JD. What is chat doing in the workplace? Proceedings of the 2002 ACM Conference of Computer Supported Cooperative Work, New Orleans, LA, 2002; 1-10.
[67]
de Souza CRB, Redmiles D, Mark G, Penix J, Sierhuis M. Management of interdependencies in collaborative, software development. Proceedings of the International Symposium on Empirical Software Engineering, Rome. 2003; 294.
[68]
McDonald DW, Ackerman MS. Just talk to me: A field study of expertise location. Proceedings of the 1998 ACM Conference on Computer Supported Cooperative Work, Seattle, 1998; 315-324.
[69]
Farshchian BA. Integrating geographically distributed development teams through increased product awareness. The 12th International Conference on Advanced Information Systems Engineering (CAiSE 00), Stockholm, 2000; 123-141.
[70]
Singh G. Editor's introduction: Media spaces. IEEE MultiMedia 1999; 6(2):18-19.
[71]
Bly SA, Harrison SR, Irwin S. Media spaces: Bringing people together in a video, audio, and computing environment. Communications of the ACM 1993; 36(1):28-46.
[72]
Trindade DFG, Tait TFC, Huzita EHM. A tool for supporting the communication in distributed software development environment. Journal of Computer Science and Technology 2008; 8(2):118-124.
[73]
Yew J, Gibson F, Teasley S. Learning by tagging: Group knowledge formation in a self-organizing learning community. Proceedings of the 7th International Conference on Learning Sciences, Indiana, 2006.
[74]
Golder S, Huberman BA. Usage patterns of collaborative tagging systems. Journal of Information Science 2006; 32(2): 198-208.
[75]
Li Q, Lu S-C-Y Collaborative tagging applications and approaches. IEEE MultiMedia 2008; 15(3):14-21.
[76]
Treude C, Storey M-A. How tagging helps bridge the gap between social and technical aspects in software development. Proceedings of ICSE 2009, International Conference on Software Engineering, Vancouver, Canada, 2009; 12-22.
[77]
Cheng L, Desmond M, Storey M-A. Presentations by programmers for programmers. Proceedings of the 29th International Conference on Software Engineering, Minneapolis, 2007; 788-792.
[78]
Storey M, Cheng L, Bull I, Rigby P. Shared waypoint and social tagging to support collaboration in software development. Proceedings of the 20th Anniversary Conference on Computer Supported Cooperative Work, Banff, 2006; 195-198.
[79]
Froehlich J, Dourish P. Unifying artefacts and activities in a visual tool for distributed software engineering teams. Proceedings of the 26th International Conference on Software Engineering, Edinburgh, 2004; 387-396.
[80]
Nguyen T, Wolf T, Damian D. Global software development and delay: Does distance still matter? Proceedings of International Conference on Global Software Engineering, Bangalore, 2008; 45-54.
[81]
de Souza CRB, Quirk S, Trainer E, Redmiles DF. Supporting collaborative software development through the visualisation of socio-technical dependencies. Proceedings of the International ACM Conference on Supporting Group Work, Sanibel Island, 2007; 147-156.
[82]
Bruegge B, Dutoit AH, Wolf T. Sysiphus: Enabling informal collaboration in global software development. International Conference on Global Software Engineering, Florianopolis, 2006; 139-148.
[83]
Cubranic D, Murphy GC, Singer J, Booth KS. Hipikat: A project memory for software development. IEEE: Transactions on Software Engineering 2005; 31(6):446-465.
[84]
Sarma A, Noroozi Z, Hoek A. Palantir: Raising awareness among configuration management workspaces. Proceedings of the 25th International Conference on Software Engineering, Portland, 2003; 444-454.
[85]
Sarma A, Bortis G, van der Hoek A. Towards supporting awareness of indirect conflicts across software configuration management workspaces. Proceedings of the Twenty-second IEEE/ACM International Conference on Automated Software Engineering, Atlanta, U.S.A., 2007; 94-103
[86]
Biehl JT, Czerwinski M, Smith G, Robertson GG. FASTDash: A visual dashboard for fostering awareness in software teams. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, San Jose, 2007; 1313-1322.
[87]
Tee K, Greenberg S, Gutwin C. Providing artifact awareness to a distributed group through screen sharing. Proceedings of the 2006 20th Anniversary Conference on Computer Supported Cooperative Work, Banff, 2006.
[88]
Eick SG, Steffen JL, Sumner EE Jr. Seesoft--A tool for visualizing line oriented software statistics. IEEE Transactions on Software Engineering 1992; 18(11):957-968.
[89]
Biehl JT, Bailey BP. Improving interfaces for managing applications in multi-device environments. Proceedings of the Working Conference on Advanced Visual Interfaces, Venezia, 2006; 35-42.
[90]
DeLine R, Khella A, Czerwinski M, Robertson G. Towards understanding programs through wear-based filtering. ACM Symposium on Software Visualisation, St. Louis, 2005; 183-192.
[91]
Mockus A, Herbsleb J. Expertise browser: A quantative approach to identifying expertise. Proceedings of the International Conference on Software Engineering, Orlando, 2002; 503-512.
[92]
McDonald DW, Ackerman MS. Expertise recommender: A flexible recommendation system and architecture. Proceedings of the Conference on Computer Supported Cooperative Work, Philadelphia, 2000; 231-240.
[93]
Kersten M. Focusing knowledge work with task context. PhD Thesis, University of British Columbia, 2007.
[94]
Omoronyia T, Ferguson J, Roper M, Wood M. A 3-dimensional relevance model for collaborative software engineering spaces. Proceedings of the International Conference on Global Software Engineering, Munich, Germany, August 2007; 204-216.
[95]
Omoronyia I, Ferguson J, Roper M, Wood M. Using developer activity data to enhance awareness during collaborative software development. Computer Supported Cooperative Work 2009; 18(5):509-558.
[96]
Romero-Salcedo M, Osuna-Gomez C, Sheremetov L, Villa L, Morales C, Rocha L, Chi M. Study and analysis of workspace awareness in CDebate: A groupware application for collaborative debates. Interacting with Computers, Human Computer Interaction in Latin America 2004; 16(4):657-681.
[97]
Hong Tran M, Raikundalia G, Yang Y. Using an experimental study to develop group awareness support for real-time distributed collaborative writing. Information and Software Technology 2006; 48(11): 1006-1024.
[98]
Decouchant D, Escalada-Tmaz G, Enriquez A, Mendoza S, Muhammad A. Contextual awareness based communication and coauthoring proximity in the internet. Expert Systems with Applications 2009; 36(4):8391-8406.
[99]
Sillito J, Murphy GC, De VoIder K. Asking sand answering questions during a programming change task. IEEE Transactions on Software Engineering 2008; 34(4):434-451.
[100]
Calefato F, Gendarmi D, Lanubile F. Adding social awareness to Jazz for reducing socio-cultural distance between distributed teams. Eclipse-IT 2009, 4th Italian Workshop on Eclipse Technologies, Bergamo, Italy, September 2009; 6-16.

Cited By

View all
  • (2016)Knowledge discovery in software teams by means of evolutionary visual software analyticsScience of Computer Programming10.1016/j.scico.2015.09.005121:C(55-74)Online publication date: 1-Jun-2016
  • (2015)MUBoxProceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems10.1145/2702123.2702233(1855-1864)Online publication date: 18-Apr-2015
  • (2014)Mobile Visualization Supporting Awareness in Collaborative Software DevelopmentProceedings of the 7th International Symposium on Visual Information Communication and Interaction10.1145/2636240.2636857(113-120)Online publication date: 5-Aug-2014
  • Show More Cited By
  1. A review of awareness in distributed collaborative software engineering

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Software
    Software  Volume 40, Issue 12
    Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
    November 2010
    151 pages
    ISSN:0038-0644
    EISSN:1097-024X
    Issue’s Table of Contents

    Publisher

    John Wiley & Sons, Inc.

    United States

    Publication History

    Published: 01 November 2010

    Author Tags

    1. context awareness
    2. distributed teamwork
    3. empirical studies
    4. global software development

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 22 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2016)Knowledge discovery in software teams by means of evolutionary visual software analyticsScience of Computer Programming10.1016/j.scico.2015.09.005121:C(55-74)Online publication date: 1-Jun-2016
    • (2015)MUBoxProceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems10.1145/2702123.2702233(1855-1864)Online publication date: 18-Apr-2015
    • (2014)Mobile Visualization Supporting Awareness in Collaborative Software DevelopmentProceedings of the 7th International Symposium on Visual Information Communication and Interaction10.1145/2636240.2636857(113-120)Online publication date: 5-Aug-2014
    • (2013)Can social awareness foster trust building in global software teams?Proceedings of the 2013 International Workshop on Social Software Engineering10.1145/2501535.2501538(13-16)Online publication date: 18-Aug-2013
    • (2013)SocialCDE: a social awareness tool for global software teamsProceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering10.1145/2491411.2494592(587-590)Online publication date: 18-Aug-2013
    • (2013)Supporting distributed software development through context awareness on software artifactsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480509(765-770)Online publication date: 18-Mar-2013
    • (2012)Supporting distributed software engineering in a fully distributed organizationProceedings of the 5th International Workshop on Co-operative and Human Aspects of Software Engineering10.5555/2663638.2663646(30-36)Online publication date: 2-Jun-2012
    • (2012)Continuous awarenessProceedings of the 5th International Symposium on Visual Information Communication and Interaction10.1145/2397696.2397707(69-76)Online publication date: 27-Sep-2012
    • (2012)ReviewJournal of Network and Computer Applications10.1016/j.jnca.2011.06.01135:1(199-210)Online publication date: 1-Jan-2012

    View Options

    View options

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media