This study seeks to shed light on how communication patterns in geographically distributed software development (GDSD) projects evolve over time and how they relate to developers' contributions to the development effort. Data from two GDSD projects from two distinct companies were collected. The analysis showed that the definition of formal roles had an important impact on patterns of communication across development locations. In one project a group of developers emerged over time as the liaisons between geographical locations. In addition to handling the communication and coordination load across locations, those same engineers contributed the most to the development effort. On the other hand, in the second project, communication across site was formalized and the developers involved in the cross site communication and coordination activities were not as productive.
{"title":"Communication patterns in geographically distributed software development and engineers' contributions to the development effort","authors":"M. Cataldo, J. Herbsleb","doi":"10.1145/1370114.1370121","DOIUrl":"https://doi.org/10.1145/1370114.1370121","url":null,"abstract":"This study seeks to shed light on how communication patterns in geographically distributed software development (GDSD) projects evolve over time and how they relate to developers' contributions to the development effort. Data from two GDSD projects from two distinct companies were collected. The analysis showed that the definition of formal roles had an important impact on patterns of communication across development locations. In one project a group of developers emerged over time as the liaisons between geographical locations. In addition to handling the communication and coordination load across locations, those same engineers contributed the most to the development effort. On the other hand, in the second project, communication across site was formalized and the developers involved in the cross site communication and coordination activities were not as productive.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"76 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131648833","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Large-scale software development requires coordination within and between very large engineering teams, each of which may be located in different locations and time zones. Numerous studies, and indeed, a whole conference (ICGSE), are dedicated to discovering the causes of problems with distributed development in the software industry. Microsoft has long had product teams too large to be considered co-located, even when sitting in neighboring buildings on the same campus. Recently, it has been expanding its engineering workforce into India and China, and our research is showing that Microsoft is encountering many of the coordination problems that go along with differences of location, time zone, and culture. As we go forward, our research has been changing from learning about the problem to experimenting with solutions. What are the best practices for improving coordination? Can they be applied to all software teams? How does one move past simple readings of research results towards effective intervention?
{"title":"Effecting change: coordination in large-scale software development","authors":"Andrew Begel","doi":"10.1145/1370114.1370119","DOIUrl":"https://doi.org/10.1145/1370114.1370119","url":null,"abstract":"Large-scale software development requires coordination within and between very large engineering teams, each of which may be located in different locations and time zones. Numerous studies, and indeed, a whole conference (ICGSE), are dedicated to discovering the causes of problems with distributed development in the software industry. Microsoft has long had product teams too large to be considered co-located, even when sitting in neighboring buildings on the same campus. Recently, it has been expanding its engineering workforce into India and China, and our research is showing that Microsoft is encountering many of the coordination problems that go along with differences of location, time zone, and culture. As we go forward, our research has been changing from learning about the problem to experimenting with solutions. What are the best practices for improving coordination? Can they be applied to all software teams? How does one move past simple readings of research results towards effective intervention?","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116263531","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The earlier in the software process a fault is detected, the cheaper the cost of fixing the fault. Automated fault detection tools can provide developers with information throughout development, however, programming is a cognitively complex process and inundating the developer with information may do more harm than good. In this paper, we present MimEc, a part of the AWARE plug-in for the Eclipse integrated development environment. MimEc presents fault information to developers while they are writing code. The purpose of MimEc is to display only those faults in which a developer may be interested, thereby increasing the likelihood the developer will address the fault. MimEc infers interest in a fault based on fault criticality, relevance of the fault to the developer's current working context, and the developer's interactions with the programming environment. MimEc is currently under development and will be evaluated in both academic and professional settings.
{"title":"MimEc: intelligent user notification of faults in the eclipse IDE","authors":"L. Layman, L. Williams, R. Amant","doi":"10.1145/1370114.1370133","DOIUrl":"https://doi.org/10.1145/1370114.1370133","url":null,"abstract":"The earlier in the software process a fault is detected, the cheaper the cost of fixing the fault. Automated fault detection tools can provide developers with information throughout development, however, programming is a cognitively complex process and inundating the developer with information may do more harm than good. In this paper, we present MimEc, a part of the AWARE plug-in for the Eclipse integrated development environment. MimEc presents fault information to developers while they are writing code. The purpose of MimEc is to display only those faults in which a developer may be interested, thereby increasing the likelihood the developer will address the fault. MimEc infers interest in a fault based on fault criticality, relevance of the fault to the developer's current working context, and the developer's interactions with the programming environment. MimEc is currently under development and will be evaluated in both academic and professional settings.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129391637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
In this paper we report on a preliminary study of usability information sharing in interactive system development. The study was conducted at a large technology company in the United States. The purpose of the study was to understand the usability information sharing practices of various members of multidisciplinary interactive system development teams. We found that the different job roles, specifically, usability expert, developer, and project manager share usability information in many ways.
{"title":"Sharing usability information in interactive system development","authors":"Paula M. Bach, Hao Jiang, John Millar Carroll","doi":"10.1145/1370114.1370117","DOIUrl":"https://doi.org/10.1145/1370114.1370117","url":null,"abstract":"In this paper we report on a preliminary study of usability information sharing in interactive system development. The study was conducted at a large technology company in the United States. The purpose of the study was to understand the usability information sharing practices of various members of multidisciplinary interactive system development teams. We found that the different job roles, specifically, usability expert, developer, and project manager share usability information in many ways.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125045441","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Software development is heavily dependent on the participants of the process and their roles within the process. Each developer has his specific skills and interests and hence contributes to the project in a different way. While some programmers work on separate modules, others developers integrate these modules towards the final product. To identify such different groups of people one approach is to work with methods taken from social network analysis. To this end, a social network has to be defined in a suitable way, and appropriate analysis strategies have to be chosen. This paper shows how a network of software developers could be defined based on information in a software repository, and what it can possibly tell about roles of developers (and what not) in the process of the application server Tomcat.
{"title":"What dynamic network metrics can tell us about developer roles","authors":"M. Pohl, S. Diehl","doi":"10.1145/1370114.1370135","DOIUrl":"https://doi.org/10.1145/1370114.1370135","url":null,"abstract":"Software development is heavily dependent on the participants of the process and their roles within the process. Each developer has his specific skills and interests and hence contributes to the project in a different way. While some programmers work on separate modules, others developers integrate these modules towards the final product. To identify such different groups of people one approach is to work with methods taken from social network analysis. To this end, a social network has to be defined in a suitable way, and appropriate analysis strategies have to be chosen. This paper shows how a network of software developers could be defined based on information in a software repository, and what it can possibly tell about roles of developers (and what not) in the process of the application server Tomcat.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"153 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123196217","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This position paper describes the requirements for facing essential problems of virtual teams. Further, the current deficits of project management tools and collaborative tools are focused. We will describe our opinions on how to solve these problems. In general, we see an essential necessity in creating a symbiosis between project management tools and collaborative tools, as these two areas are both crucial for virtual project management. Currently, the lack of connection between them significantly decreases the quality of virtual work. Our ideas show new ways of managing virtual work in order to increase the effectiveness of virtual teams and help companies to get their work done over the distance of time and space.
{"title":"Collaborative process management and virtual teams","authors":"H. Donker, Malte Blumberg","doi":"10.1145/1370114.1370125","DOIUrl":"https://doi.org/10.1145/1370114.1370125","url":null,"abstract":"This position paper describes the requirements for facing essential problems of virtual teams. Further, the current deficits of project management tools and collaborative tools are focused. We will describe our opinions on how to solve these problems. In general, we see an essential necessity in creating a symbiosis between project management tools and collaborative tools, as these two areas are both crucial for virtual project management. Currently, the lack of connection between them significantly decreases the quality of virtual work. Our ideas show new ways of managing virtual work in order to increase the effectiveness of virtual teams and help companies to get their work done over the distance of time and space.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"767 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123894232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The visualizations of the Whyline are presented, which focus on supporting the exploration a source code and how it executes. The visualization is concise, simple to navigate, and mimics syntactic features of its target programming language for consistency. Two studies showed that users with the visualization completed a debugging task twice as fast as users without the visualization, partly due to features of the visualization. Applications of the visualizations to tasks other than debugging are discussed.
{"title":"Source-level debugging with the whyline","authors":"Amy J. Ko, B. Myers","doi":"10.1145/1370114.1370132","DOIUrl":"https://doi.org/10.1145/1370114.1370132","url":null,"abstract":"The visualizations of the Whyline are presented, which focus on supporting the exploration a source code and how it executes. The visualization is concise, simple to navigate, and mimics syntactic features of its target programming language for consistency. Two studies showed that users with the visualization completed a debugging task twice as fast as users without the visualization, partly due to features of the visualization. Applications of the visualizations to tasks other than debugging are discussed.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"118 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123738498","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Even though software is developed by humans, research in software engineering primarily focuses on the technologies, methods and processes they use while disregarding the importance of the humans themselves. In this paper we argue that most studies in software engineering should give much more weight to human factors. In particular empirical software engineering studies involving human developers should always consider collecting psychometric data on the humans involved. We focus on personality as one important psychometric factor and present initial results from an empirical study investigating correlations between personality and attitudes to software engineering processes and tools. We discuss what are currently hindering a more wide-spread use of psychometrics and how overcoming these hurdles could lead to a more individualized software engineering.
{"title":"Towards individualized software engineering: empirical studies should collect psychometrics","authors":"R. Feldt, R. Torkar, L. Angelis, M. Samuelsson","doi":"10.1145/1370114.1370127","DOIUrl":"https://doi.org/10.1145/1370114.1370127","url":null,"abstract":"Even though software is developed by humans, research in software engineering primarily focuses on the technologies, methods and processes they use while disregarding the importance of the humans themselves. In this paper we argue that most studies in software engineering should give much more weight to human factors. In particular empirical software engineering studies involving human developers should always consider collecting psychometric data on the humans involved. We focus on personality as one important psychometric factor and present initial results from an empirical study investigating correlations between personality and attitudes to software engineering processes and tools. We discuss what are currently hindering a more wide-spread use of psychometrics and how overcoming these hurdles could lead to a more individualized software engineering.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117045755","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The paper describes coordination practices of small and medium enterprises (SME) that outsourced parts of their software development to offshore vendors. Our case study in a German company shows that the geographic distribution of knowledge and expertise requires continuous informal coordination across the teams. Such practices can be described as a combination of formal coordination and informal articulation work in the sense of Anselm Strauss' theoretical framework. Both are closely interwoven and connected to the use of media such as coordination tools and instant messengers. We conclude that SME risk losing their core competencies when neglecting articulation work and hint at mismatches between scientific recommendations and actual development practices of SME.
{"title":"Articulation work in small-scale offshore software development projects","authors":"A. Boden, Bernhard Nett, V. Wulf","doi":"10.1145/1370114.1370120","DOIUrl":"https://doi.org/10.1145/1370114.1370120","url":null,"abstract":"The paper describes coordination practices of small and medium enterprises (SME) that outsourced parts of their software development to offshore vendors. Our case study in a German company shows that the geographic distribution of knowledge and expertise requires continuous informal coordination across the teams. Such practices can be described as a combination of formal coordination and informal articulation work in the sense of Anselm Strauss' theoretical framework. Both are closely interwoven and connected to the use of media such as coordination tools and instant messengers. We conclude that SME risk losing their core competencies when neglecting articulation work and hint at mismatches between scientific recommendations and actual development practices of SME.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131184896","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Enabling effective coordination of work in large distributed software projects requires cooperation between participants across multiple teams, sites, and skill sets. To determine how practicing software engineers, in a distributed software development setting, maintain awareness of dependencies and coordinate to resolve dependencies in their work, we conducted a field study that used interviews and informal observation of a distributed software team. In this paper we present key interesting themes that emerged from the qualitative analysis: proximity, modification request authoring patterns, and uncooperative behaviours. We discuss these findings and outline future quantitative research plans to triangulate the methods used by software developers with recorded activities in engineering repositories to increase the generalizability of the research findings.
{"title":"Cooperation and coordination concerns in a distributed software development project","authors":"Lucas D. Panjer, D. Damian, M. Storey","doi":"10.1145/1370114.1370134","DOIUrl":"https://doi.org/10.1145/1370114.1370134","url":null,"abstract":"Enabling effective coordination of work in large distributed software projects requires cooperation between participants across multiple teams, sites, and skill sets. To determine how practicing software engineers, in a distributed software development setting, maintain awareness of dependencies and coordinate to resolve dependencies in their work, we conducted a field study that used interviews and informal observation of a distributed software team. In this paper we present key interesting themes that emerged from the qualitative analysis: proximity, modification request authoring patterns, and uncooperative behaviours. We discuss these findings and outline future quantitative research plans to triangulate the methods used by software developers with recorded activities in engineering repositories to increase the generalizability of the research findings.","PeriodicalId":107901,"journal":{"name":"Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132441649","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}