There is a vital need for gaining a solid understanding of different aspects of implementing SPI initiatives in organizations involved in software outsourcing and/or off-shoring, which are parts of Global Software Development (GSD) phenomenon. However, little attention has been paid to understand difficulties and challenges involved in implementing SPI programs in developing countries like Vietnam and Malaysia, which are emerging as key players in the context of GSD. This paper presents findings from an empirical study aimed at exploring practitioners' experiences and perceptions of different aspects of implementing SPI initiatives. Face-to-face meeting sessions were conducted with twenty-three software development practitioners from eight Vietnamese software development organisations, which were involved in software outsourcing contracts and had initiated SPI programs. The results provide interesting insights into different aspects of SPI initiatives. We expect that the findings can provide some advice to SPI practitioners on what needs to be addressed when developing SPI implementation initiatives in countries like Vietnam.
{"title":"Implementing Software Process Improvement Initiatives: An Analysis of Vietnamese Practitioners' Views","authors":"M. Babar, M. Niazi","doi":"10.1109/ICGSE.2008.23","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.23","url":null,"abstract":"There is a vital need for gaining a solid understanding of different aspects of implementing SPI initiatives in organizations involved in software outsourcing and/or off-shoring, which are parts of Global Software Development (GSD) phenomenon. However, little attention has been paid to understand difficulties and challenges involved in implementing SPI programs in developing countries like Vietnam and Malaysia, which are emerging as key players in the context of GSD. This paper presents findings from an empirical study aimed at exploring practitioners' experiences and perceptions of different aspects of implementing SPI initiatives. Face-to-face meeting sessions were conducted with twenty-three software development practitioners from eight Vietnamese software development organisations, which were involved in software outsourcing contracts and had initiated SPI programs. The results provide interesting insights into different aspects of SPI initiatives. We expect that the findings can provide some advice to SPI practitioners on what needs to be addressed when developing SPI implementation initiatives in countries like Vietnam.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125208531","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}
Despite the apparent significant differences between the fundamental principles of agile and Global Software Development (GSD), there is a growing interest in assessing the viability of using agile practices in GSD. But there has been little research in identifying and understanding the challenges involved in integrating agile and GSD and potential strategies to deal with them. One of the key challenges is coordination of the development work. Study asserts that a good understanding of coordination difficulties can help devise strategies to overcome them. The aim of this PhD study is to explore and understand the use of different coordinating mechanisms to coordinate GSD projects while using agile software development practices.
{"title":"Coordinating Mechanisms for Agile Global Software Development","authors":"Emam Hossain","doi":"10.1109/ICGSE.2008.24","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.24","url":null,"abstract":"Despite the apparent significant differences between the fundamental principles of agile and Global Software Development (GSD), there is a growing interest in assessing the viability of using agile practices in GSD. But there has been little research in identifying and understanding the challenges involved in integrating agile and GSD and potential strategies to deal with them. One of the key challenges is coordination of the development work. Study asserts that a good understanding of coordination difficulties can help devise strategies to overcome them. The aim of this PhD study is to explore and understand the use of different coordinating mechanisms to coordinate GSD projects while using agile software development practices.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125856108","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}
When software development is understood as collaborative action between group members, many of the common problems encountered in software development projects can be traced back to social factors of the project. In distributed projects, physical distance between group members limits their face-to-face interaction and thus sets special challenges to communication, which is essential for creating good relations between group members. The goal of this qualitative study is to develop understanding of the importance of social processes and group relations in globally distributed software development, by utilizing literature and earlier research both from software engineering and social sciences.
{"title":"Challenges of Globally Distributed Software Development – Analysis of Problems Related to Social Processes and Group Relations","authors":"A. Piri","doi":"10.1109/ICGSE.2008.33","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.33","url":null,"abstract":"When software development is understood as collaborative action between group members, many of the common problems encountered in software development projects can be traced back to social factors of the project. In distributed projects, physical distance between group members limits their face-to-face interaction and thus sets special challenges to communication, which is essential for creating good relations between group members. The goal of this qualitative study is to develop understanding of the importance of social processes and group relations in globally distributed software development, by utilizing literature and earlier research both from software engineering and social sciences.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126881179","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}
Communication models adopted in large-scale software engineering projects have significant impact on the efficacy of communication. We strove to understand these models by empirically examining synchronous communication within distributed and collocated teams at a large Fortune 500 organization. Our data imply that the overhead for tool support of synchronous communication for distributed teams are generally unacceptably high and that collocated teams are as likely to employ alternatives to face-to-face communication with collocated team members as distributed. Data also imply that communication patterns and models for both distributed and collocated teams evolve naturally over time to meet needs as opposed to a well-defined process delineated at project inception. Finally, data imply that communication models tend to be hybrids of existing communication models, suggesting a continual evolution of team communications over time. These implications collectively suggest that developers are adapting to collaborating with remote team members within this organization, perhaps realizing a new stage of evolution within the software engineering community.
{"title":"A Comparative Empirical Study of Communication in Distributed and Collocated Development Teams","authors":"B. Al-Ani, H. K. Edwards","doi":"10.1109/ICGSE.2008.9","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.9","url":null,"abstract":"Communication models adopted in large-scale software engineering projects have significant impact on the efficacy of communication. We strove to understand these models by empirically examining synchronous communication within distributed and collocated teams at a large Fortune 500 organization. Our data imply that the overhead for tool support of synchronous communication for distributed teams are generally unacceptably high and that collocated teams are as likely to employ alternatives to face-to-face communication with collocated team members as distributed. Data also imply that communication patterns and models for both distributed and collocated teams evolve naturally over time to meet needs as opposed to a well-defined process delineated at project inception. Finally, data imply that communication models tend to be hybrids of existing communication models, suggesting a continual evolution of team communications over time. These implications collectively suggest that developers are adapting to collaborating with remote team members within this organization, perhaps realizing a new stage of evolution within the software engineering community.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127846364","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 outsourcing has been growing steadily. However significant outsourcing failure rates have also been reported. One of the major issues in outsourcing business is that many organisations undertake software outsourcing initiatives without knowing whether or not they are ready to undertake them. The objective of this project is to develop a readiness model in order to measure the organisationpsilas (vendor) readiness for software development outsourcing. Two types of data will be collected in this research project: firstly, factors that can have a positive or negative impact on software outsourcing clients in the selection of software development outsourcing vendors; and secondly, how one can implement these factors. The anticipated outcome of this project will be a software outsourcing readiness model to assist software practitioners in the design of effective software outsourcing strategies. This model should assist outsourcing vendors in measuring the strength or weakness of software outsourcing activities.
{"title":"A Readiness Model for Software Development Outsourcing Vendors","authors":"S. Khan, M. Niazi, Rashid Ahmad","doi":"10.1109/ICGSE.2008.37","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.37","url":null,"abstract":"Software development outsourcing has been growing steadily. However significant outsourcing failure rates have also been reported. One of the major issues in outsourcing business is that many organisations undertake software outsourcing initiatives without knowing whether or not they are ready to undertake them. The objective of this project is to develop a readiness model in order to measure the organisationpsilas (vendor) readiness for software development outsourcing. Two types of data will be collected in this research project: firstly, factors that can have a positive or negative impact on software outsourcing clients in the selection of software development outsourcing vendors; and secondly, how one can implement these factors. The anticipated outcome of this project will be a software outsourcing readiness model to assist software practitioners in the design of effective software outsourcing strategies. This model should assist outsourcing vendors in measuring the strength or weakness of software outsourcing activities.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133218206","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}
While seemingly incompatible, combining large-scale global software development and agile practices is a challenge undertaken by many companies. Case study reports on the successful use of agile practices in small distributed projects already exist. How these practices could be applied to larger projects, however, remains unstudied. This paper reports a case study on agile practices in a 40- person development organization distributed between Norway and Malaysia. Based on seven interviews in the development organization, we describe how Scrum practices were successfully applied, e.g., using teleconference and Web cameras for daily scrum meetings, synchronized 4- week sprints and weekly scrum-of-scrums. Additional agility supporting practices for distributed projects were identified, e.g., frequent visits, unofficial distributed meetings and annual gatherings are described.
{"title":"Distributed Agile Development: Using Scrum in a Large Project","authors":"M. Paasivaara, Sandra Durasiewicz, C. Lassenius","doi":"10.1109/ICGSE.2008.38","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.38","url":null,"abstract":"While seemingly incompatible, combining large-scale global software development and agile practices is a challenge undertaken by many companies. Case study reports on the successful use of agile practices in small distributed projects already exist. How these practices could be applied to larger projects, however, remains unstudied. This paper reports a case study on agile practices in a 40- person development organization distributed between Norway and Malaysia. Based on seven interviews in the development organization, we describe how Scrum practices were successfully applied, e.g., using teleconference and Web cameras for daily scrum meetings, synchronized 4- week sprints and weekly scrum-of-scrums. Additional agility supporting practices for distributed projects were identified, e.g., frequent visits, unofficial distributed meetings and annual gatherings are described.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131400066","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}
Christian R. Prause, Marius Scholten, Andreas Zimmermann, René Reiners, M. Eisenhauer
Today's software development is becoming more and more international. With involved stakeholders being distributed over several remote locations in the world, particularly the management of software requirements becomes complex and difficult to handle. In this paper, we report on a Web-based computer-aided requirements elicitation process that decreases the number of necessary face-to-face meetings and reduces communication overhead. It is thus possible to distribute requirements elicitation efforts to partners or contractors that may be situated anywhere in the world.
{"title":"Managing the Iterative Requirements Process in a Multi-national Project Using an Issue Tracker","authors":"Christian R. Prause, Marius Scholten, Andreas Zimmermann, René Reiners, M. Eisenhauer","doi":"10.1109/ICGSE.2008.14","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.14","url":null,"abstract":"Today's software development is becoming more and more international. With involved stakeholders being distributed over several remote locations in the world, particularly the management of software requirements becomes complex and difficult to handle. In this paper, we report on a Web-based computer-aided requirements elicitation process that decreases the number of necessary face-to-face meetings and reduces communication overhead. It is thus possible to distribute requirements elicitation efforts to partners or contractors that may be situated anywhere in the world.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131847461","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}
Component based software development approach makes use of already existing software components to build new applications. Software components may be available in-house or acquired from the global market. One of the most critical activities in this reuse based process is the selection of appropriate components. Component evaluation is the core of the component selection process. Component quality models have been proposed to decide upon a criterion against which candidate components can be evaluated and then compared. But none is complete enough to carry out the evaluation. It is advocated that component users need not bother about the internal details of the components. But we believe that complexity of the internal structure of the component can help estimating the effort related to evolution of the component. In our ongoing research, we are focusing on quality of internal design of a software component and its relationship to the external quality attributes of the component.
{"title":"A Metrics Based Approach to Evaluate Design of Software Components","authors":"K. Chahal, Hardeep Singh","doi":"10.1109/ICGSE.2008.29","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.29","url":null,"abstract":"Component based software development approach makes use of already existing software components to build new applications. Software components may be available in-house or acquired from the global market. One of the most critical activities in this reuse based process is the selection of appropriate components. Component evaluation is the core of the component selection process. Component quality models have been proposed to decide upon a criterion against which candidate components can be evaluated and then compared. But none is complete enough to carry out the evaluation. It is advocated that component users need not bother about the internal details of the components. But we believe that complexity of the internal structure of the component can help estimating the effort related to evolution of the component. In our ongoing research, we are focusing on quality of internal design of a software component and its relationship to the external quality attributes of the component.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126577891","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}
Global companies that experimented extensive waterfall phased plans are trying to improve their existing processes to expedite team engagement. SCRUM has become an acceptable path to follow for those companies because it comprises project management as part of its practices. SCRUM has been used with the objective of simplifying project control through simple processes, easy to update documentation and higher team iteration over exhaustive documentation. Instead of investing team effort on producing static documentation, SCRUM proposes to focus on team continuous improvement aiming to add value to business processes. The purpose of this industry report is to describe two projects that experimented SCRUM practices within a globally distributed company. This company has development centers across North America, South America and Asia. This report covers challenges faced by the project teams, strengths and practical recommendations of using SCRUM in a globally distributed environment.
{"title":"Usage of SCRUM Practices within a Global Company","authors":"Mauricio Cristal, Daniel Wildt, R. Prikladnicki","doi":"10.1109/ICGSE.2008.34","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.34","url":null,"abstract":"Global companies that experimented extensive waterfall phased plans are trying to improve their existing processes to expedite team engagement. SCRUM has become an acceptable path to follow for those companies because it comprises project management as part of its practices. SCRUM has been used with the objective of simplifying project control through simple processes, easy to update documentation and higher team iteration over exhaustive documentation. Instead of investing team effort on producing static documentation, SCRUM proposes to focus on team continuous improvement aiming to add value to business processes. The purpose of this industry report is to describe two projects that experimented SCRUM practices within a globally distributed company. This company has development centers across North America, South America and Asia. This report covers challenges faced by the project teams, strengths and practical recommendations of using SCRUM in a globally distributed environment.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126115416","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 distributed delivery model has gained immense importance where the actual software is developed in a distributed manner with a common core component and various regional components interfacing with it. This introduces more complexity in software design as sequence diagrams, which implements the use cases are highly interleaved. We propose a new graphical model named Distributed Scenario Graph (D-SG) to integrate the distributed sequence diagrams to have an overall system view. It is a hierarchical graph that models information regarding interleaving of sequence diagrams of regional and common use cases. We also propose a metrics named Optimum Scenario Paths (OSP) that measures the minimum number of independent paths in the D-Scenario Graph for a particular region as well as for the entire system. Our model will help in identifying the minimum number of test cases required for region specific testing and also gives a measure of the complexity of use cases for any region.
{"title":"Integration of Design in Distributed Development Using D-Scenario Graph","authors":"A. Kanjilal, Goutam Kanjilal, S. Bhattacharya","doi":"10.1109/ICGSE.2008.40","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.40","url":null,"abstract":"The distributed delivery model has gained immense importance where the actual software is developed in a distributed manner with a common core component and various regional components interfacing with it. This introduces more complexity in software design as sequence diagrams, which implements the use cases are highly interleaved. We propose a new graphical model named Distributed Scenario Graph (D-SG) to integrate the distributed sequence diagrams to have an overall system view. It is a hierarchical graph that models information regarding interleaving of sequence diagrams of regional and common use cases. We also propose a metrics named Optimum Scenario Paths (OSP) that measures the minimum number of independent paths in the D-Scenario Graph for a particular region as well as for the entire system. Our model will help in identifying the minimum number of test cases required for region specific testing and also gives a measure of the complexity of use cases for any region.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131902491","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}