Frâncila Weidt Neiva, J. M. David, Regina M. M. Braga, M. Borges, Fernanda Campos
Companies have increasingly distributed their teams to increase productivity and quality, and to reduce their costs in software development processes. This scenario has brought new challenges to effective collaboration and to enhance communication across peers. Pragmatic interoperability has been considered as one of the key requirements to tackle these challenges. However, there is lack of research investigating how to support development of pragmatic interoperability across globally dispersed groups. This paper proposes a model to support pragmatic interoperability in software projects to foster collaboration in distributed environments. The proposed model was implemented and evaluated in a collaborative architecture which supports collaborative scientific experiments development.
{"title":"SM2PIA: A Model to Support the Development of Pragmatic Interoperability Requirements","authors":"Frâncila Weidt Neiva, J. M. David, Regina M. M. Braga, M. Borges, Fernanda Campos","doi":"10.1109/ICGSE.2016.15","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.15","url":null,"abstract":"Companies have increasingly distributed their teams to increase productivity and quality, and to reduce their costs in software development processes. This scenario has brought new challenges to effective collaboration and to enhance communication across peers. Pragmatic interoperability has been considered as one of the key requirements to tackle these challenges. However, there is lack of research investigating how to support development of pragmatic interoperability across globally dispersed groups. This paper proposes a model to support pragmatic interoperability in software projects to foster collaboration in distributed environments. The proposed model was implemented and evaluated in a collaborative architecture which supports collaborative scientific experiments development.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117285541","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}
N. B. Moe, Tor Erlend Fægri, D. Cruzes, Jan Edvard Faugstad
Virtual teams, with a high level of interdependence and cooperation among team members, are one of the building blocks of successful global software organizations. Shared team knowledge is vital for effective collaboration in virtual teams. Hence, it makes sense for organizations to put in place efforts to ensure that teams have a sufficient level of shared knowledge. A successful agile virtual team needs to have shared knowledge on the tasks and how to do them, who knows what in the team, the development process, and the goals of the team. While shared knowledge helps on communication and collaboration, virtual teams meet several challenges in the form of values and norms, lack of face-to-face communication, time-zone differences, and difficulties in building and maintaining trust. We describe and discuss how a framework for establishing shared knowledge was applied to a global virtual agile team in a Product Centre at DNV GL -- an international provider of software for a safer, smarter and greener future in the energy, process and maritime industries. The whole group of 22 met face to face once a year, and we describe how they in one such team gathering worked on creating shared understanding about the task, the team, the process and goals of the virtual team.
{"title":"Enabling Knowledge Sharing in Agile Virtual Teams","authors":"N. B. Moe, Tor Erlend Fægri, D. Cruzes, Jan Edvard Faugstad","doi":"10.1109/ICGSE.2016.30","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.30","url":null,"abstract":"Virtual teams, with a high level of interdependence and cooperation among team members, are one of the building blocks of successful global software organizations. Shared team knowledge is vital for effective collaboration in virtual teams. Hence, it makes sense for organizations to put in place efforts to ensure that teams have a sufficient level of shared knowledge. A successful agile virtual team needs to have shared knowledge on the tasks and how to do them, who knows what in the team, the development process, and the goals of the team. While shared knowledge helps on communication and collaboration, virtual teams meet several challenges in the form of values and norms, lack of face-to-face communication, time-zone differences, and difficulties in building and maintaining trust. We describe and discuss how a framework for establishing shared knowledge was applied to a global virtual agile team in a Product Centre at DNV GL -- an international provider of software for a safer, smarter and greener future in the energy, process and maritime industries. The whole group of 22 met face to face once a year, and we describe how they in one such team gathering worked on creating shared understanding about the task, the team, the process and goals of the virtual team.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115178534","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}
Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context. Hence, organizations may benefit from efforts to ensure sufficient levels of team knowledge. Such efforts may include different measures, such as project kick-offs, frequent visits across locations, knowledge sharing tools and practices. However, team knowledge includes many types of knowledge, with different impacts on the team's work. This paper outlines a framework for conceptualizing the breadth of team knowledge relevant for virtual software teams. With the help of this framework, organizations can think more strategically about how to improve team knowledge -- for example the planning of kick-offs, what to focus on in face-to-face meetings and how the team members work together on a day-to-day basis. The framework may also be used to assist in planning team composition, for example based on individuals' knowledge and the overlap with other team members' knowledge. The framework uses four broad categories of team knowledge: task-related, team-related, process-related and goal-related. Beneath these four categories the framework details and describes more concrete knowledge types. We also provide examples from software practice for each knowledge type.
{"title":"Shared Knowledge in Virtual Software Teams: A Preliminary Framework","authors":"Tor Erlend Fægri, V. Stray, N. B. Moe","doi":"10.1109/ICGSE.2016.22","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.22","url":null,"abstract":"Shared knowledge allows virtual teams to collaborate more effectively. Shared knowledge in teams, hereafter called team knowledge, must be established and maintained. This is a key enabler for agile development in a distributed context. Hence, organizations may benefit from efforts to ensure sufficient levels of team knowledge. Such efforts may include different measures, such as project kick-offs, frequent visits across locations, knowledge sharing tools and practices. However, team knowledge includes many types of knowledge, with different impacts on the team's work. This paper outlines a framework for conceptualizing the breadth of team knowledge relevant for virtual software teams. With the help of this framework, organizations can think more strategically about how to improve team knowledge -- for example the planning of kick-offs, what to focus on in face-to-face meetings and how the team members work together on a day-to-day basis. The framework may also be used to assist in planning team composition, for example based on individuals' knowledge and the overlap with other team members' knowledge. The framework uses four broad categories of team knowledge: task-related, team-related, process-related and goal-related. Beneath these four categories the framework details and describes more concrete knowledge types. We also provide examples from software practice for each knowledge type.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"1896 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129656005","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 agile actively seeks collaboration from all its stakeholders, most agile projects do not extend themselves toward the operations people. To solve this problem, DevOps is introduced. DevOps is a conceptual framework for reintegrating development and operations of Information Systems, which is able to break the wall between developers and operations professionals. DevOps improves the work through a collection of principles and practices, centered around close collaboration between Development and Operations personnel. However, both sides have paid little attention to issues faced by each other. Communication gaps is a recurrent problem in agile teams that is also eminent in the relationship between developers and operations. Literature offers little research on this aspect of communication in DevOps. This position paper describes the communication practices from a distributed agile team composed of developers and operations based on communication challenges (geographical, socio-cultural, and temporal distance) and strategies (frequency, direction, modality, and content). From the results we outline possible research focus for future work, aiming to enrich the academia research on the matter as well as to help practitioners to improve their working practices.
{"title":"Communication Challenges and Strategies in Distributed DevOps","authors":"E. Diel, S. Marczak, D. Cruzes","doi":"10.1109/ICGSE.2016.28","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.28","url":null,"abstract":"Even though agile actively seeks collaboration from all its stakeholders, most agile projects do not extend themselves toward the operations people. To solve this problem, DevOps is introduced. DevOps is a conceptual framework for reintegrating development and operations of Information Systems, which is able to break the wall between developers and operations professionals. DevOps improves the work through a collection of principles and practices, centered around close collaboration between Development and Operations personnel. However, both sides have paid little attention to issues faced by each other. Communication gaps is a recurrent problem in agile teams that is also eminent in the relationship between developers and operations. Literature offers little research on this aspect of communication in DevOps. This position paper describes the communication practices from a distributed agile team composed of developers and operations based on communication challenges (geographical, socio-cultural, and temporal distance) and strategies (frequency, direction, modality, and content). From the results we outline possible research focus for future work, aiming to enrich the academia research on the matter as well as to help practitioners to improve their working practices.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"172 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121809812","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}
Gilberto Borrego, A. Morán, Ramón R. Palacio, O. M. Rodríguez-Elías
Nowadays, the use of agile methodologies (AM) in Global Software Development (GSD) -- known as AGSD -- is increasingly common. However, AM and GSD are not completely compatible. On the one hand, in AM people interactions (face-to-face) are preferred over document-based communications to share knowledge. On the other hand, in GSD knowledge sharing is conducted through documents to minimize the effect of the inherent four distances (physical, temporal, language and cultural). This means that tacit knowledge is preferred in AM and explicit knowledge is preferred in GSD. These differences between AM and GSD affect many aspects of software development, for instance: Architectural Knowledge Management. According to the literature, in AGSD it is preferred to convey Architectural Knowledge (AK) by frequent interactions across sites through unstructured and textual electronic media (UTEM) (chats, emails, forums, etc.), that is, AK is articulated in these media. UTEM leave a textual record of the transmitted information, thus leaving an unstructured log of the shared AK of the project. In this paper we present an empirical study to understand AK articulation in UTEM in AGSD teams. Our results consist of an ontology that represents the involved aspects in AK articulation in UTEM in AGSD teams. Additionally, we identified eleven categories of interactions across sites through UTEM, where requirements and coding themes are prominent. Finally, we found that AK in UTEM is perceived as important, regardless the interaction frequency. These results lead us to think that a tool to structure and exploit AK in UTEM is needed in AGSD, in order to bridge the gap between AM and GSD.
{"title":"Understanding Architectural Knowledge Sharing in AGSD Teams: An Empirical Study","authors":"Gilberto Borrego, A. Morán, Ramón R. Palacio, O. M. Rodríguez-Elías","doi":"10.1109/ICGSE.2016.29","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.29","url":null,"abstract":"Nowadays, the use of agile methodologies (AM) in Global Software Development (GSD) -- known as AGSD -- is increasingly common. However, AM and GSD are not completely compatible. On the one hand, in AM people interactions (face-to-face) are preferred over document-based communications to share knowledge. On the other hand, in GSD knowledge sharing is conducted through documents to minimize the effect of the inherent four distances (physical, temporal, language and cultural). This means that tacit knowledge is preferred in AM and explicit knowledge is preferred in GSD. These differences between AM and GSD affect many aspects of software development, for instance: Architectural Knowledge Management. According to the literature, in AGSD it is preferred to convey Architectural Knowledge (AK) by frequent interactions across sites through unstructured and textual electronic media (UTEM) (chats, emails, forums, etc.), that is, AK is articulated in these media. UTEM leave a textual record of the transmitted information, thus leaving an unstructured log of the shared AK of the project. In this paper we present an empirical study to understand AK articulation in UTEM in AGSD teams. Our results consist of an ontology that represents the involved aspects in AK articulation in UTEM in AGSD teams. Additionally, we identified eleven categories of interactions across sites through UTEM, where requirements and coding themes are prominent. Finally, we found that AK in UTEM is perceived as important, regardless the interaction frequency. These results lead us to think that a tool to structure and exploit AK in UTEM is needed in AGSD, in order to bridge the gap between AM and GSD.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128046859","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}
Today distributed development depend on an ever-growing plethora of tools that provide a continual stream of updates and place developers into a situation of channel overload and information fragmentation. In this paper, we present our initial work on the definition of a model, named hub-and-spoke, for a loosely-coupled integration of development tools that can help developers cope with these issues, while also increasing their overall situational awareness.
{"title":"A Hub-and-Spoke Model for Tool Integration in Distributed Development","authors":"Fabio Calefato, F. Lanubile","doi":"10.1109/ICGSE.2016.12","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.12","url":null,"abstract":"Today distributed development depend on an ever-growing plethora of tools that provide a continual stream of updates and place developers into a situation of channel overload and information fragmentation. In this paper, we present our initial work on the definition of a model, named hub-and-spoke, for a loosely-coupled integration of development tools that can help developers cope with these issues, while also increasing their overall situational awareness.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130644987","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 paper presents a preliminary communication maturity model named C2M. The C2M model aims to help organizations to identify the maturity of communication-related aspects and processes providing a tool to reveal what practices need to be improved. The model is composed of three maturity areas respectively organized into factors, goals, and practices. It has been preliminarily evaluated in two steps. First, two focus group meetings were conducted in two organizations aiming to identify how fit the model is to attend its purpose. Second, a diagnosis activity was conducted in two organizations aiming to observe how the model is perceived when used in practice. The experts who participated in the diagnosis activity reported that the application of the model allowed them to become aware of communication issues their teams were facing that they had no knowledge of. Their positive feedback is an initial indication that the model is fit to point out the maturity of communication processes and practices in distributed software projects.
{"title":"Communication in Distributed Software Development: A Preliminary Maturity Model","authors":"I. Júnior, S. Marczak, R. Santos, H. Moura","doi":"10.1109/ICGSE.2016.31","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.31","url":null,"abstract":"This paper presents a preliminary communication maturity model named C2M. The C2M model aims to help organizations to identify the maturity of communication-related aspects and processes providing a tool to reveal what practices need to be improved. The model is composed of three maturity areas respectively organized into factors, goals, and practices. It has been preliminarily evaluated in two steps. First, two focus group meetings were conducted in two organizations aiming to identify how fit the model is to attend its purpose. Second, a diagnosis activity was conducted in two organizations aiming to observe how the model is perceived when used in practice. The experts who participated in the diagnosis activity reported that the application of the model allowed them to become aware of communication issues their teams were facing that they had no knowledge of. Their positive feedback is an initial indication that the model is fit to point out the maturity of communication processes and practices in distributed software projects.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"467 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124460828","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}
To facilitate the sharing and combination of knowledge by Global Software Engineering (GSE) researchers and practitioners, the need for a common terminology and knowledge classification scheme has been identified, and as a consequence, a taxonomy and an extension were proposed. In addition, one systematic literature review and a survey on respectively the state of the art and practice of effort estimation in GSE were conducted, showing that despite its importance in practice, the GSE effort estimation literature is rare and reported in an ad-hoc way. Therefore, this paper proposes a specialized GSE taxonomy for effort estimation, which was built on the recently proposed general GSE taxonomy (including the extension) and was also based on the findings from two empirical studies and expert knowledge. The specialized taxonomy was validated using data from eight finished GSE projects. Our effort estimation taxonomy for GSE can help both researchers and practitioners by supporting the reporting of new GSE effort estimation studies, i.e. new studies are to be easier to identify, compare, aggregate and synthesize. Further, it can also help practitioners by providing them with an initial set of factors that can be considered when estimating effort for GSE projects.
{"title":"A Specialized Global Software Engineering Taxonomy for Effort Estimation","authors":"Ricardo Britto, E. Mendes, C. Wohlin","doi":"10.1109/ICGSE.2016.11","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.11","url":null,"abstract":"To facilitate the sharing and combination of knowledge by Global Software Engineering (GSE) researchers and practitioners, the need for a common terminology and knowledge classification scheme has been identified, and as a consequence, a taxonomy and an extension were proposed. In addition, one systematic literature review and a survey on respectively the state of the art and practice of effort estimation in GSE were conducted, showing that despite its importance in practice, the GSE effort estimation literature is rare and reported in an ad-hoc way. Therefore, this paper proposes a specialized GSE taxonomy for effort estimation, which was built on the recently proposed general GSE taxonomy (including the extension) and was also based on the findings from two empirical studies and expert knowledge. The specialized taxonomy was validated using data from eight finished GSE projects. Our effort estimation taxonomy for GSE can help both researchers and practitioners by supporting the reporting of new GSE effort estimation studies, i.e. new studies are to be easier to identify, compare, aggregate and synthesize. Further, it can also help practitioners by providing them with an initial set of factors that can be considered when estimating effort for GSE projects.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128583514","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 practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to regulatory requirements. Multiple releases of the system of the system have been delivered to customers over the 15 years it has been in the market. Each new release added new features, which increased both the number of system test cases required and the complexity of the existing system test cases. Hence, a complete cycle of system testing for every new release required more time and effort. However, it was increasingly difficult to justify or arrange for such added efforts, especially since shorter product releases were being demanded. This created a vicious cycle where the team members, though experienced and highly-skilled, were unable to focus on initiatives to improve and optimize testing. To address this issue, we introduced the role of a test analyst to bridge the gap between the test team and other key stakeholders. We were able to optimize the total number of system test cases and increase test execution efficiency while ensuring conformance to mandatory regulations. The practices adapted by the team for faster test environment preparation, assisted automation, along with training and mentoring are described.
{"title":"System Testing Optimization in a Globally Distributed Software Engineering Team","authors":"Tulasi Anand, Chittoor Reddy, V. S. Mani","doi":"10.1109/ICGSE.2016.26","DOIUrl":"https://doi.org/10.1109/ICGSE.2016.26","url":null,"abstract":"This practice paper presents how a test team of a software engineering organization spread across three countries successfully optimized the system testing effort for a large mission-critical software system that had to conform to regulatory requirements. Multiple releases of the system of the system have been delivered to customers over the 15 years it has been in the market. Each new release added new features, which increased both the number of system test cases required and the complexity of the existing system test cases. Hence, a complete cycle of system testing for every new release required more time and effort. However, it was increasingly difficult to justify or arrange for such added efforts, especially since shorter product releases were being demanded. This created a vicious cycle where the team members, though experienced and highly-skilled, were unable to focus on initiatives to improve and optimize testing. To address this issue, we introduced the role of a test analyst to bridge the gap between the test team and other key stakeholders. We were able to optimize the total number of system test cases and increase test execution efficiency while ensuring conformance to mandatory regulations. The practices adapted by the team for faster test environment preparation, assisted automation, along with training and mentoring are described.","PeriodicalId":437860,"journal":{"name":"2016 IEEE 11th International Conference on Global Software Engineering (ICGSE)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127107978","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}