SciELO - Scientific Electronic Library Online

 
vol.18 issue4Study of the Global Dynamics for a Tumor Immune-Evasion SystemConcurrent Real-Time Task Schedulers: A Classification Based on Functions and Set Theory author indexsubject indexsearch form
Home Pagealphabetic serial listing  

Services on Demand

Journal

Article

Indicators

Related links

  • Have no similar articlesSimilars in SciELO

Share


Computación y Sistemas

Print version ISSN 1405-5546

Comp. y Sist. vol.18 n.4 México Oct./Dec. 2014

http://dx.doi.org/10.13053/CyS-18-4-1479 

Artículos regulares

 

Soporte al inicio de colaboración en el desarrollo distribuido de software mediante esferas de trabajo colaborativas

 

Support for Starting Collaboration in Distributed Software Development through Collaborative Working Spheres

 

Ramón René Palacio Cinco1, Alberto L. Morán y Solares2 y Víctor Manuel González y González3

 

1 Instituto Tecnológico de Sonora, Unidad Navojoa, México. ramon.palacio@itson.edu.mx

2 Facultad de Ciencias, Universidad Autónoma de Baja California, México. alberto.moran@uabc.edu.mx

3 Instituto Tecnológico Autónomo de México, México. victor.gonzalez@itam.mx

 

Article received on 15/03/2013.
Accepted on 14/10/2014.

 

Resumen

Este artículo estudia los entornos de trabajo donde grupos de personas interactúan de manera síncrona y remota (distribuida), con el propósito de crear y desarrollar software dentro del marco institucional de una organización, en lo que se conoce como desarrollo distribuido de software (DSD, por sus siglas en inglés). En este tipo de esquemas colaborativos, los desarrolladores requieren trabajar en grupos que están geográficamente distribuidos y su interacción generalmente es realizada con el apoyo de tecnología de información y comunicación. Es común que las tecnologías de colaboración no estén diseñadas para apoyar lo que llamamos inicio de colaboración informado, es decir los escenarios donde el iniciador de la colaboración pueda contar con la información de la actividad que realiza la persona buscada, con la cual, el iniciador pueda inferir si el momento para iniciarla es óptimo y apropiado para ambos. Para lograr esto, es necesario conocer el contexto de la actividad de la persona buscada en un momento determinado. Para apoyar el inicio de colaboración informado se propone la conceptualización y caracterización tecnológica de esferas de trabajo colaborativas, la cual aporta ideas de diseño para el desarrollo de una herramienta prototipo. A esta herramienta le llamamos CWS-IM (Collaborative Working Spheres - Instant Messaging). La herramienta es un mensajero instantáneo extendido con soporte para inicios de colaboración informados, la cual se introdujo a las actividades reales de DSD en una fábrica de software con la finalidad de evaluarla mediante un estudio de caso. Los resultados de esta evaluación proporcionan evidencia que muestra la aceptación favorable de CWS-IM por parte de los participantes en términos de utilidad, facilidad de uso, apoyo al inicio de interacción y gestión del nivel de interrupción.

Palabras Clave: Sistemas Colaborativos, Desarrollo Distribuido de Software, Manejo de Interrupciones, Ingeniería de Software.

 

Abstract

This paper studies work environments where groups of people interact synchronously and remotely (distributed) with the purpose of creating and developing software within the institutional framework of an organization, in what is known as distributed software development (DSD). In this type of collaborative schemes, developers are required to work in groups that are geographically distributed and their interaction is usually conducted with the support of information and communication technologies. It is common that collaborative technologies are not designed to support what we call informed collaboration initiation, i.e., scenarios where the initiator of the collaboration can have the information of the activity that is being performed by the person he/she is looking for, with which the initiator can infer whether the time to start is optimal and appropriate for both of them. To achieve this it is necessary to know the context of the activity of the person that is being looked for at a given moment. To support the initiation of informed collaboration, the conceptualization and technological characterization of collaborative working spheres is proposed, which provides design ideas for the development of a prototype tool. We call this tool CWS-IM (Collaborative Working Spheres - Instant Messaging). The tool is an extended instant messenger with support for the initiation of informed collaboration, which was introduced to the actual activities of DSD in a software factory in order to evaluate it through a case study. The results of this evaluation show the favorable acceptance of CWS-IM by participants in terms of usefulness, ease of use, support for the initiation of informed interaction and disruption level management.

Keywords: Collaborative systems, distributed software development, interruption management, software engineering.

 

DESCARGAR ARTÍCULO EN FORMATO PDF

 

Referencias

1. Aguiar, A. & David, G. (2005). WikiWiki weaving heterogeneous software artifacts. Proc. of the 2005 international symposium on Wikis, San Diego, California.         [ Links ]

2. Brush, A.B., Meyers, B.R., Tan, D.S., & Czerwinski, M. (2007). Understanding memory triggers for task tracking. Proc. of the SIGCHI Conference on Human Factors in Computing Systems, San Jose, California.         [ Links ]

3. Fernández, A., Garzaldeen, B., Grützner, I., & Münch, J. (2004). Guided support for collaborative modeling, enactment and simulation of software development processes. Software Process: Improvement and Practice, Vol. 9, No. 2, pp. 95-106.         [ Links ]

4. Mockus, A. & Herbsleb, J.D. (2002). Expertise browser: a quantitative approach to identifying expertise. Proc. of the 24th International Conference on Software Engineering, Orlando, Florida.         [ Links ]

5. Sarma, A., Maccherone, L., Wagstrom, P., & Herbsleb, J. (2009). Tesseract: Interactive visual exploration of socio-technical relationships in software development. Proc. of the 2009 IEEE 31st International Conference on Software Engineering.         [ Links ]

6. Stinchcombe, A. & Heimer, C. (1986). Organization Theory and Project Management: Administering Uncertainty in Norwegian Offshore Oil. A Scandinavian University Press Publication.         [ Links ]

7. Morán, A.L., Favela, J., Martinez, A., & Decouchant, D. (2004). On the Design of Potential Collaboration Spaces. The International Journal of Computer Applications and Technology (IJCAT), Vol. 19, No. 3/4, pp. 261-271.         [ Links ]

8. Morán, A.L., Favela, J., Romero, R., Natsu, H., Perez, C., Robles, O., & Martinez, A. (2008). Potential and actual collaboration support for distributed Pair-Programming. Computación y sistemas, Vol. 11, No. 3, pp. 211-229.         [ Links ]

9. Al-Ani, B. & Redmiles, D. (2009). Trust in Distributed Teams: Support through Continuous Coordination. Software, IEEE, Vol. 26, No. 6, pp. 35-40, doi: 10.1109/MS.2009.192.         [ Links ]

10. Bruegge, B., Dutoit, A.H., & Wolf, T. (2006). Sysiphus: enabling informal collaboration in global software development. Proc. of the IEEE International Conference on Global Software Engineering (ICGSE '06), Florianopolis, Brazil.         [ Links ]

11. Bruegge, B., Lucia, A., Fasano, F., & Tortora, G. (2006). Supporting Distributed Software Development with fine-grained Artefact Management. Proc. of the IEEE international conference on Global Software Engineering.         [ Links ]

12. Bailey, B.P. & Iqbal, S.T. (2008). Understanding changes in mental workload during execution of goal-directed tasks and its application for interruption management. ACM Trans. Comput.-Hum. Interact., Vol. 14, No. 4, pp. 1-28, doi: 10.1145/1314683.1314689.         [ Links ]

13. Bellur, U. (2006). An academic perspective on globalization in the software industry. Proc. of The 30th annual international computer software and applications conference (COMPSAC'06).         [ Links ]

14. Brooke, J. (1996). SUS: A quick and dirty usability scale. Proc. of the Usability evaluation in industry.         [ Links ]

15. Speier, C., Vessey, I., & Valacich, J.S. (2003). The effects of interruptions, task complexity, and information. Decision Sciences, Vol. 34, No. 4, pp. 771 -797.         [ Links ]

16. Communicator. (2014). What is communicator for Mac? Retrieved May 21, 2014.         [ Links ]

17. Damian, D., Lanubile, F., & Mallardo, T. (2006). The role of asynchronous discussions in increasing the effectiveness of remote synchronous requirements negotiations. Proc. of the 28th international conference on Software engineering, Shanghai, China.         [ Links ]

18. Damian, D., Chisan, J., Allen, P., & Corrie, B. (2003). Awareness meets requirements management: Awareness needs in global software development. Proc. of the International Workshop on Global Software Development 2003, Portland, Oregon.         [ Links ]

19. Damian, D. & Moitra, D. (2006). Guest editors' Introduction: Global Software Development: How far have we come? IEEE Software, Vol. 23, No. 5, pp. 17-19.         [ Links ]

20. Davis, F. (1989). Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology. MIS Quarterly, Vol. 13, pp. 319-340.         [ Links ]

21. Dullemond, K. (2010). ASPIC: Awareness-Based Support Project for Interpersonal Collaboration in Software Engineering. Proc. of the Global Software Engineering (ICGSE), 5th IEEE International Conference on, Princeton, NJ, USA.         [ Links ]

22. Cutrell, E.B., Czerwinski, M., & Horvitz, E. (2000). Effects of instant messaging interruptions on computing tasks. Proc. of the CHI '00 Extended Abstracts on Human Factors in Computing Systems, The Hague, The Netherlands.         [ Links ]

23. Gilbert, E. & Karahalios, K. (2007). CodeSaw: A Social Visualization of Distributed Software Development. Proc. of the INTERACT 2007.         [ Links ]

24. Isaacs, E., Walendowski, A., & Ranganthan, D. (2002). Hubbub: a sound-enhanced mobile instant messenger that supports awareness and opportunistic interactions. Proc. of the SIGCHI conference on Human factors in computing systems: Changing our world, changing ourselves, Minneapolis, Minnesota, USA.         [ Links ]

25. Mark, G., Gudith, D., & Klocke, U. (2008). The cost of interrupted work: more speed and stress. Proc. of The Twenty-Sixth Annual SIGCHI Conference on Human Factors in Computing Systems, Florence, Italy.         [ Links ]

26. Spanjers, H., ter Huurne, M., Graaf, B., Lormans, M., Bendas, D., & van Solingen, R. (2006). Tool support for distributed software engineering. Proc. of the IEEE International Conference on Global Software Engineering (ICGSE '06), Florianopolis, Brazil.         [ Links ]

27. Ellis, J. & Kvavilashvili, L. (2000). Prospective memory in 2000: Past, presente and future directions. Applied Cognitive Psychology, Vol 14, No. 7, pp. 1-9.         [ Links ]

28. Biehl, J.T., Czerwinski, M., Smith, G., & Robertson, G.G. (2007). FASTDash: a visual dashboard for fostering awareness in software teams. Proc. of the SIGCHI conference on Human factors in computing systems, San Jose, California, USA.         [ Links ]

29. Herbsleb, J.D., & Mockus, A. (2003). An Empirical Study of Speed and Communication in Globally Distributed Software Development. Software Engineering, Vol. 29, No. 6, pp. 481-494.         [ Links ]

30. Gido, J. & Clemens, J. (2003). Administración exitosa de proyectos (2da ed.). Thomson, México.         [ Links ]

31. Schneider, K.A., Gutwin, C., Penner, R., & Paquette, D. (2004). Mining a software developer's local interaction history. Proc. of the 1st International Workshop on Mining Software Repositories (MSR'04).         [ Links ]

32. Elliot, K., Neustaedter, C., & Greenberg, S. (2006). Sticky Spots: A Location-Based Messaging System for the Home Video. Proc. of ACM Conference on Computer Supported Cooperative Work - ACM CSCW'06.         [ Links ]

33. Kwan, I., Schroter, A., & Damian, D. (2011). Does Socio-Technical Congruence Have An Effect on Software Build Success? A Study of Coordination in a Software Project. IEEE Transaction on Software Engineering, Vol. 37, No. 3, pp. 307-324.         [ Links ]

34. Layman, L., Williams, L., Damian, D., & Bures, H. (2006). Essential communication practices for Extreme Programming in a global software development team. Information and software technology, Vol. 48, No. 9, pp. 781-794.         [ Links ]

35. Cataldo, M. & Herbsleb, J.D. (2008). Communication patterns in geographically distributed software development and engineers' contributions to the development effort. Proc. of the 2008 international workshop on Cooperative and human aspects of software engineering, Leipzig, Germany.         [ Links ]

36. Czerwinski, M., Horvitz, E., & Wilhite, S. (2004). A diary study of task switching and interruptions. Proc. of the SIGCHI Conference on Human Factors in Computing Systems.         [ Links ]

37. McChesney, I. (1997). Effective coordination in the software process - historical perspectives and future directions. Software Quality Control, Vol. 6, No. 3, pp 235-246.         [ Links ]

38. Tobis, M. & Tobis, I. (2002). Managing Multiple Projects. New York: McGraw-Hill.         [ Links ]

39. Min, Q., Liu, Zh., & Ji, Sh. (2010). Communication Effectiveness in Global Virtual Teams: A Case Study of Software Outsourcing Industry in China. Proc. of the 43rd Hawaii International Conference on System Sciences, Koloa, Kauai, Hawaii, USA.         [ Links ]

40. Mandviwalla, M., & Olfman, L. (1994). What do groups need? A proposed set of generic groupware requirements. ACM Trans. Comput.-Hum. Interact., Vol. 1, No. 3, pp. 245-268, doi: 10.1145/196699.196715.         [ Links ]

41. Boulila, N., Dutoit, A.H., & Brügge, B. (2003). D-Meeting: An Object-Oriented Framework for supporting distributing modeling of software. Proc. of the ICSE International Workshop on Global Software Development, Portland, Oregon.         [ Links ]

42. Romero, N., McEwan, G., & Greenberg, S. (2007). A field study of community bar: (mis)-matches between theory and practice. Proc. of the international ACM conference on Supporting group work, Sanibel Island, Florida, USA.         [ Links ]

43. Adamczyk, P.D., Iqbal, S.T., & Bailey, B.P. (2005). A method, system, and tools for intelligent interruption management. Proc. of the 4th international workshop on Task models and diagrams, Gdansk, Poland.         [ Links ]

44. Dourish, P., & Bellotti, V. (1992). Awareness and Coordination in Shared Workspaces. Proc. of the ACM Conference on Computer-Supported Cooperative Work CSCW'92, Toronto, Ontario.         [ Links ]

45. Ovaska, P., Rossi, M., & Marttiin, P. (2003). Architecture as a coordination tool in multi-site software development. Software Process: Improvement and Practice, Vol. 8, No. 4, pp. 233-247.         [ Links ]

46. Pressman, R.S. (2005). Software Engineering: A Practitioner's Approach (6th ed.). New York: McGraw Hill.         [ Links ]

47. Kraut, R.E. & Streeter, L.A. (1995). Coordination in software development. Commun. ACM, Vol. 38, No. 3, pp. 69-81.         [ Links ]

48. Holmes, R. & Walker, R.J. (2008). Promoting developer-specific awareness. Proc. of the 2008 international workshop on Cooperative and human aspects of software engineering, Leipzig, Germany.         [ Links ]

49. Kraut, R., Fish, R., Root, B., & Chalfonte, B. (1990). Informal communication in organizations: Form, function and technology. Proc. of the People's reactions to technology in factories, offices and aerospace, The Claremont Symposium on Applied Social Psychology, Sage Publications.         [ Links ]

50. Prikladnicki, R., Audy, J.L.N., & Evaristo, J.R. (2003). Distributed Software Development: Toward an Understanding of the Relationship between Project Team, Users and Customers. Proc. of the 5th Int'l Conf. Enterprise Information Systems (ICEIS 03), Angers, France.         [ Links ]

51. Fussell, S., Kiesler, S., Setlock, L.D., & Scupelli, P. (2004). Effects of instant messaging on the management of multiple project trajectories. Paper Proc. of the SIGCHI Conference on Human Factors in Computing Systems.         [ Links ]

52. Sarkar, S., Sindhgatta, R., & Pooloth, K. (2008). A collaborative platform for application knowledge management in software maintenance projects. Proc.of the 1st Bangalore annual Compute conference, Bangalore, India.         [ Links ]

53. Salinger, S., Oezbek, C., Beecher, K., & Schenk, J. (2010). Saros: an eclipse plug-in for distributed party programming. Proc. of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering, Cape Town, South Africa.         [ Links ]

54. Sarma, A. (2003). Palantir: Raising Awareness among Configuration Management Workspaces. Proc. of the Software Engineering, 2003.. 25th International Conference on, Portland, OR, USA, doi: 10.1109/ICSE.2003.1201222.         [ Links ]

55. Skype. (2014). What is Skype? Retrieved May 21, 2014.         [ Links ]

56. Strauss, A. (1985). Work and the division of labor. The Sociological Quarterly, Vol. 26, No. 1, pp. 1-19.         [ Links ]

57. Treude, C., & Storey, M.-A. (2010). Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds. Proc. of the 32nd ACM/IEEE International Conference on Software Engineering, Vol. 1, Cape Town, South Africa.         [ Links ]

58. Bellotti, V., Ducheneaut, N., Howard, M., & Smith, I. (2002). Taskmaster: recasting email as task management. (Position paper) Proc. of the CSCW'02 workshop on Redesigning Email for the 21st Century.         [ Links ]

59. González, V., Galicia, L., & Favela, J. (2007). Supporting the Planning and Organization of Multiple Activities in the Workplace. Proc. of the INTERACT 2007.         [ Links ]

60. Gonzalez, V. & Mark, G. (2004). Constant, Constant, Multi-tasking Craziness: Managing Multiple Working Spheres. Proc. of The SIGCHI Conference on Human Factors in Computing Systems.         [ Links ]

61. Xiao, W., Chi, C., & Yang, M. (2007). On-line collaborative software development via wiki. Proc. of the 2007 international symposium on Wikis, Montreal, Quebec, Canada.         [ Links ]

62. Wong, S. (2010). An Architecture-Centric Approach to Coordination. Proc. of the Global Software Engineering (ICGSE), 5th IEEE International Conference, Princeton, NJ, USA.         [ Links ]

63. Ye, Y. (2006). Supporting software development as knowledge-intensive and collaborative activity. Proc. of the 2006 international workshop on interdisciplinary software engineering research, Shanghai, China.         [ Links ]

Creative Commons License All the contents of this journal, except where otherwise noted, is licensed under a Creative Commons Attribution License