With a very short time frame in mind we were commissioned to build a service solution that encompassed over 430 requirements. Given expertise, skills, time and budget constraints we had to search for resources around the world and assembled a team of more than 40 people in 7 locations across 6 different time zones. We chose state of the art architecture and development paradigms such as Service Oriented Architecture (SOA) and iterative development to facilitate the service capabilities between components and teams and to continuously refine our approach from iteration to iteration. In this paper we identify some of the challenges we faced and describe how we addressed them in subsequent iterations. The aggregate of our improvements constitutes a set of best practices that we recommend for future engagements of this type and suggestions for new tooling to support these activities.
{"title":"Continuous Improvement through Iterative Development in a Multi-Geography","authors":"Jim Laredo, R. Ranjan","doi":"10.1109/ICGSE.2008.13","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.13","url":null,"abstract":"With a very short time frame in mind we were commissioned to build a service solution that encompassed over 430 requirements. Given expertise, skills, time and budget constraints we had to search for resources around the world and assembled a team of more than 40 people in 7 locations across 6 different time zones. We chose state of the art architecture and development paradigms such as Service Oriented Architecture (SOA) and iterative development to facilitate the service capabilities between components and teams and to continuously refine our approach from iteration to iteration. In this paper we identify some of the challenges we faced and describe how we addressed them in subsequent iterations. The aggregate of our improvements constitutes a set of best practices that we recommend for future engagements of this type and suggestions for new tooling to support these activities.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"36 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":"125081478","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}
Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching "globally distributed development", and specifically software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be developed, in the form of an 'orientation map' for educators. We use this map to build a joint course between two European universities.
{"title":"Developing a Course on Designing Software in Globally Distributed Teams","authors":"P. Lago, H. Muccini, M. Babar","doi":"10.1109/ICGSE.2008.26","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.26","url":null,"abstract":"Present-day software engineering combines technical and social skills, as well as collaboration among people with different backgrounds (e.g. due to global development and outsourcing). In this paper we address the problem of teaching \"globally distributed development\", and specifically software design. Our goal is to develop a joint Master course teaching software design in a global setting. To this end, we contribute with a list of characteristics to be developed, in the form of an 'orientation map' for educators. We use this map to build a joint course between two European universities.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"16 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":"122454261","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}
Globally distributed software development poses substantial risks to project and product management. Not all eventualities can however be buffered, because in the global economy, developing and implementing products must be fast, cost effective and adaptive to changing needs. Therefore, there is a need to utilize different techniques to effectively and efficiently mitigate risks. This article systematically introduces risk management in global software engineering (GSE) for development projects and product evolution. Methods include using basic project, supplier and quality management techniques, process frameworks (e.g., CMMI), product life-cycle management, effective communication processes, SLA based escalation, competence management, and innovation management. A longitudinal empirical field study over several years from a captive SW center of a worldwide leading ICT company in India provides practical experiences and indicates how to effectively apply GSE risk management practices.
{"title":"Managing Risks in Global Software Engineering: Principles and Practices","authors":"C. Ebert, B. K. Murthy, Namo Narayan Jha","doi":"10.1109/ICGSE.2008.12","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.12","url":null,"abstract":"Globally distributed software development poses substantial risks to project and product management. Not all eventualities can however be buffered, because in the global economy, developing and implementing products must be fast, cost effective and adaptive to changing needs. Therefore, there is a need to utilize different techniques to effectively and efficiently mitigate risks. This article systematically introduces risk management in global software engineering (GSE) for development projects and product evolution. Methods include using basic project, supplier and quality management techniques, process frameworks (e.g., CMMI), product life-cycle management, effective communication processes, SLA based escalation, competence management, and innovation management. A longitudinal empirical field study over several years from a captive SW center of a worldwide leading ICT company in India provides practical experiences and indicates how to effectively apply GSE risk management practices.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"174 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":"123203184","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 distributed software development, effective reviews of analysis documents lead to increased correctness of analysis results. When managed without tool support, such reviews lead to ineffective usage of time and effort and possibly even delay the project. Also going ahead without reviews completed, implies risks of incorrect or incomplete features. In this paper we contrast the manual process we used to follow to organize distributed software reviews and the process with DOCTOR to show how it greatly improves the process of distributed software reviews. We also attempt to provide a projection in terms of cost of efforts saved and the resultant increase in productivity. We also compare DOCTOR with other Web-based tools and project its advantages and disadvantages. We hope to convince readers who haven't adopted tool based support for distributed reviews by this paper on the clear advantages of the same.
{"title":"Ailments of Distributed Document Reviews and Remedies of DOCTOR (DOCument Tree ORganizer Tool) with Distributed Reviews Support","authors":"T. V. Krishnamurthy, Sapna Subramani","doi":"10.1109/ICGSE.2008.8","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.8","url":null,"abstract":"In distributed software development, effective reviews of analysis documents lead to increased correctness of analysis results. When managed without tool support, such reviews lead to ineffective usage of time and effort and possibly even delay the project. Also going ahead without reviews completed, implies risks of incorrect or incomplete features. In this paper we contrast the manual process we used to follow to organize distributed software reviews and the process with DOCTOR to show how it greatly improves the process of distributed software reviews. We also attempt to provide a projection in terms of cost of efforts saved and the resultant increase in productivity. We also compare DOCTOR with other Web-based tools and project its advantages and disadvantages. We hope to convince readers who haven't adopted tool based support for distributed reviews by this paper on the clear advantages of the same.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"148 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":"128444417","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}
O. Gotel, V. Kulkarni, C. Scharff, Long Chrea Neak
Since 2005, Pace University, Delhi University and the Institute of Technology of Cambodia have been partnering to offer students the opportunity to work on globally distributed software development projects. The innovative collaborative model has evolved towards an emphasis on technology mashups for development and communication, mentoring and auditing for assuring quality, and team and software integration for right-sourcing. This paper describes a project where students working in sub-teams were required to integrate their sub-components as a single system for a Cambodian environment. Furthermore, a well-defined design sub-component was subject to a competitive bidding process in an attempt to enhance quality though design diversity. The paper reports on our findings and summarizes the dos and don'ts associated with integration. Both team and software integration needs careful attention from day one on a project, a finding that has repercussions for educational and industrial practice.
{"title":"Integration Starts on Day One in Global Software Development Projects","authors":"O. Gotel, V. Kulkarni, C. Scharff, Long Chrea Neak","doi":"10.1109/ICGSE.2008.10","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.10","url":null,"abstract":"Since 2005, Pace University, Delhi University and the Institute of Technology of Cambodia have been partnering to offer students the opportunity to work on globally distributed software development projects. The innovative collaborative model has evolved towards an emphasis on technology mashups for development and communication, mentoring and auditing for assuring quality, and team and software integration for right-sourcing. This paper describes a project where students working in sub-teams were required to integrate their sub-components as a single system for a Cambodian environment. Furthermore, a well-defined design sub-component was subject to a competitive bidding process in an attempt to enhance quality though design diversity. The paper reports on our findings and summarizes the dos and don'ts associated with integration. Both team and software integration needs careful attention from day one on a project, a finding that has repercussions for educational and industrial practice.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"39 2 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":"130388586","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}
Instant messaging (IM) has become a significant tool for communication in global software development (GSD) projects. In this paper, we describe experiences of IM use based on 39 semi-structured interviews of participants in six GSD projects. Our results indicate that in successful projects, IM use was more wide-spread and systematical. IM status information was used to assess availability, even though the information was not always up-to-date. IM was used to facilitate multitasking and communication with multiple people simultaneously, and as a side channel in meetings. Many considered the communication initiation barrier lower for IM than for other synchronous communication media, such as the telephone. Saving the transcripts from significant discussions and decisions made during IM sessions was considered important, and failure to do so systematically was a major driving force to use other media, such as email, instead of instant messaging.
{"title":"Experiences of Instant Messaging in Global Software Development Projects: A Multiple Case Study","authors":"Tuomas Niinimäki, C. Lassenius","doi":"10.1109/ICGSE.2008.27","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.27","url":null,"abstract":"Instant messaging (IM) has become a significant tool for communication in global software development (GSD) projects. In this paper, we describe experiences of IM use based on 39 semi-structured interviews of participants in six GSD projects. Our results indicate that in successful projects, IM use was more wide-spread and systematical. IM status information was used to assess availability, even though the information was not always up-to-date. IM was used to facilitate multitasking and communication with multiple people simultaneously, and as a side channel in meetings. Many considered the communication initiation barrier lower for IM than for other synchronous communication media, such as the telephone. Saving the transcripts from significant discussions and decisions made during IM sessions was considered important, and failure to do so systematically was a major driving force to use other media, such as email, instead of instant messaging.","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":"114697924","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}
Most firms engage in outsourcing of software development to lower costs. Several years ago we began working with firms that were using global partners to increase innovation in product development. These firms were able to deliver product capabilities beyond those that could be generated inside their own organization. They were not just outsourcing to reduce costs; instead they were leveraging their global partners to increase the value of their products for their customers. This paper provides an overview of the results from our six-month study. The goal was to understand the successful practices used to achieve innovation in new product development projects between leading technology firms and their global software development partners.
{"title":"Beyond Cost Reduction: Using Collaboration to Increase Innovation in Global Software Development Projects","authors":"T. Forbath, P. Brooks, A. Dass","doi":"10.1109/ICGSE.2008.32","DOIUrl":"https://doi.org/10.1109/ICGSE.2008.32","url":null,"abstract":"Most firms engage in outsourcing of software development to lower costs. Several years ago we began working with firms that were using global partners to increase innovation in product development. These firms were able to deliver product capabilities beyond those that could be generated inside their own organization. They were not just outsourcing to reduce costs; instead they were leveraging their global partners to increase the value of their products for their customers. This paper provides an overview of the results from our six-month study. The goal was to understand the successful practices used to achieve innovation in new product development projects between leading technology firms and their global software development partners.","PeriodicalId":340054,"journal":{"name":"2008 IEEE International Conference on Global Software Engineering","volume":"124 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":"131494652","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}