11 |
Global Software Development Challenges and Mitigation Strategies : A Systematic Review and Survey ResultsJabangwe, Ronald, Nurdiani, Indira January 2010 (has links)
Context: Software development in a setting in which the development sites are dispersed across geographical areas, either close proximity or globally, is fast becoming a widespread trend. This software development arrangement is also known as Global Software Development (GSD) or Distributed Software Development (DSD) or Global Software Engineering (GSE). Projects executed by a dispersed team have been noted as a more risky and challenging venture than projects run with teams under the same roof. Therefore the knowledge of the potential challenges and the probable mitigation strategies for GSD is vital for running a successful project. Objectives: The study entails the identification of GSD related challenges as well as their mitigation strategies. The collected challenges and mitigation strategies are later compiled into checklists. The developed checklists can be incorporated into risk management process particularly risk identification and risk mitigation planning. Methods: This research extends an existing systematic literature study conducted on empirical research on GSD, which was based on a review of publications from 2000 to 2007. The previous research is incorporated in this research and, in addition, papers between 2007 and 2009 are reviewed. In contrast to the previous research was aimed at gathering empirical evidence in GSD, however in this research the focus is specifically on challenges associated with GSD projects as well as the mitigation strategies that can be employed. An industrial survey was also conducted to validate the checklists and determine if the identified challenges and mitigation strategies were pervasive in industry. Furthermore interviews were also conducted to further validate the usefulness and usability of the developed checklists. Result: As a result, from the systematic literature review for publications between 2000 and 2009, a total of 48 challenges and 42 mitigation strategies were identified and placed in two separate categorized checklists. These challenges and mitigation strategies are elaborated in this paper. From the survey result, no additional challenges and 4 strategies were identified in the survey. Meanwhile from the interviews, all interviewees reported that the checklists are useful and easy to use. Conclusion: The absence of new challenges being identified from the study did not merit a conclusion that all possible challenges in GSD have been revealed. Therefore we conclude that more empirical research still needs to be done on identifying the challenges and mitigation strategies associated with GSD settings. Furthermore the checklists can be useful and valuable in identifying challenges and the potential mitigation strategies for communication, control and coordination mechanisms in distributed software development projects.
|
12 |
Investigating the Suitability of Extreme Programming for Global Software Development : A Systematic Review and Industrial SurveyShah, Syed Mudassir, Amin, Muhammad January 2013 (has links)
Context: Over the past few years, Global Software Development (GSD) has emerged as an evolving trend in the software industry. The reasons behind this evolution are globalization, economic benefits, time to market, organizational and strategic location, access to skilled labor and reduction of costs. But despite its benefits, GSD also has challenges associated with communication, coordination and control. The challenges are mainly due to temporal, geographical and socio-cultural distances. Due to flexibility, and emphasis on frequent communication in agile methods, researchers have shown interest in incorporating agile methods in GSD. Extreme Programming (XP) is one of the most widely known agile methodologies that values simplicity, communication, courage and feedback. In this research study, we have investigated the suitability of XP in GSD by exploring its benefits and challenges in the state of art and state of practice. Objectives: This study aims at investigating the benefits and challenges associated with the combination of XP and GSD both in the research literature and in practice. The study also explores practices or solutions adopted in order to address the challenges of XP-GSD combination. Moreover, this study compares challenges of XP-GSD combination with the traditional GSD challenges. Methods: This research study has been accomplished with the help of a systematic literature review (SLR) and an industrial survey. For the systematic review, the snowballing approach was applied, and an initial set of papers was selected from IEEE Xplore and Google Scholar. After selecting the initial set of papers, backward snowballing was conducted by searching the reference list of the selected articles. Then, forward snowballing was conducted by looking for the citations of the selected articles. After completing the systematic review, the industrial survey was conducted to complement the findings of the literature review. The data collected from both SLR and survey was analyzed both separately and collectively. Results: Through SLR, we have identified 21 benefits, 17 challenges, and 18 solutions to the identified challenges. The benefits and challenges have been classified according to communication, coordination and control in correspondence with temporal, socio-cultural and geographical distance. From the survey, we have identified 19 benefits, 20 challenges, and 17 solutions to the identified challenges. However, 13 benefits, 9 challenges, and 8 solutions were in common. The majority of challenges found in both literature review and survey were however traditional GSD challenges. Conclusions: The scarcity of research literature in the area suggests that more work needs to be done to successfully implement XP in GSD projects. The benefits and challenges extracted from literature and industry suggest that the application of XP can be beneficial for GSD since the majority of the reported challenges are traditional GSD challenges. Nevertheless, application of XP practices can alleviate these challenges. Based on the results, we conclude that XP can be successfully adopted in GSD projects.
|
13 |
Peer to Peer Grid for Software Development : Improving community based software development using community based gridsSarrafi, Ali January 2011 (has links)
Today, the number of software projects having large number of developers distributed all over the world is increasing rapidly. This rapid growth in distributed software development, increases the need for new tools and environments to facilitate the developers’ communication, collaboration and cooperation. Distributed revision control systems, such as Git or Bazaar, are examples oftools that have evolved to improve the quality of development in such projects. In addition, building and testing large scale cross platform software is especially hard for individual developers in an open source development community, dueto their lack of powerful and diverse computing resources.Computational grids are networks of computing resources that are geographically distributed and can be used to run complex tasks very efficiently by exploiting parallelism. However these systems are often configured for cloud computing and use a centralized structure which reduces their scalability and fault tolerance. Pure peer-to-peer (P2P) systems, on the other hand are networks without a central structure. P2P systems are highly scalable, flexible, dynamically adaptable and fault tolerant. Introducing P2P and grid computing together tothe software development process can significantly increase the access to more computing resource by individual developers distributed all over the world. In this master thesis we evaluated the possibilities of integrating these technologies with software development and the associated test cycle in order to achieve better software quality in community driven software development. The main focus of this project was on the mechanisms of data transfer, management, and dependency among peers as well as investigating the performance/overhead ratio of these technologies. For our evaluation we used the MoSync Software Development Kit (SDK), a cross platform mobile software solution, as a case study and developed and evaluated a prototype for the distributed development of this system. Our measurements show that using our prototype the time required for building MoSync SDK’s is approximately six times shorter than using a single process. We have also proposed a method for near optimum task distribution over peer to peer grids that are used for build and test. / Idag är antalet programvaruprojekt med stort antal utvecklare distribueras överh ela världen ökar snabbt. Denna snabba tillväxt i distribuerad mjukvaruutveckling, ökar behovet av nya verktyg och miljöer för att underlätta utvecklarnas kommunikation, samarbete och samarbete. Distribuerat versionshanteringssystem,såsom Git och Bazaar, är exempel påverktyg som har utvecklats för att för bättra kvaliteten påutvecklingen i sådana projekt. Dessutom, bygga ochtesta storskalig programvara plattformsoberoende är särskilt svrt för enskilda utvecklare i en öppen källkod utvecklingsgemenskap, pågrund av deras brist påkraftfulla och mångsidiga datorresurser. Datorgridd är nätverk av IT-resurser som är geografiskt f¨ordelade och kan användas för att köra komplexa uppgifter mycket effektivt genom att utnyttja parallellitet. Men dessa system är ofta konfigurerade för molndator och användaen centraliserad struktur vilket minskar deras skalbarhet och feltolerans. En ren icke-hierarkiskt (P2P-n¨atverk) system, åandra sidan är nätverk utan en central struktur. P2P-systemen är skalbara, flexibla, dynamiskt anpassningsbar och feltolerant. Introduktion P2P och datorgridd tillsammans med mjukvaruutveckling processen kan avsevärt öka tillgången till merdatorkraft resurs genom enskilda utvecklare distribueras över hela världen. I detta examensarbete har vi utvärderat möjligheterna att integrera dessa tekniker med utveckling av programvara och tillhörande testcykel för att uppnåbättre programvara kvalitet i samhället drivs mjukvaruutveckling. Tyngdpunkten i detta projekt var på mekanismerna för överföring av data, hantering,och beroendet bland kamrater samt undersöka prestanda / overhead förhllandet mellan dessa tekniker. För vr utvärdering använde vi MoSync SoftwareDevelopment Kit (SDK), en plattformsoberoende mobil programvara lösning,som en fallstudie och utvecklat och utvärderat en prototyp f¨or distribueradutveckling av detta system. Våra mätningar visar att med hjälp av vår prototypden tid som krävs f¨or att bygga MoSync SDK är cirka sex gånger kortare änmed en enda process. Vi har också föreslagit en metod för nära optimal uppgiftf¨ordelning ¨over peer to peer nät som används f¨or att bygga och testa.
|
14 |
Distributed Agile Development; Suitability, Challenges and PracticesShahriyari, Salman January 2013 (has links)
Uncertainty in software development and business environment and the need to increase thespeed of development have driven organizations to search for methods that are responsive toboth change and speed. Providing iterative development, agile development involvescustomers and users through different phases of development, and delivers frequent releasesof software to customer while receives the corresponding feedback. Using this approach, agiledevelopment thus aims at addressing mentioned issues of speed and uncertainty whiledeveloping only what customer needs from the beginning of the project. On the other hand,distributed software development is used in many organizations to reach global talent andglobal market. The problems associated with distributed software development such as lack ofenough communication and team coherency, have forced project managers to combine it withagile to mitigate these social problems. This study focuses on distributed agile development,its suitability for a typical project and its challenges and deficiencies. Text analysis andinterviews using qualitative methods are used in this scientific research work. From thetheoretical view point, different text covering agile methodology, distributed development andcombination of them were considered. This study covered two parts: first, an evaluation ofagile and distributed development opportunities and problems to help determine whether ornot distributed development is suitable for a project and second, considering the challengesonce starting to use this method and practices required to regard them. For the empirical part,the focus was put on Volvo IT employees by having seven interviews with members who arecurrently active in distributed agile development. These interviews were used to compare andverify the finding of the theoretical part. The results of the study were categorized into twosections. In the first part, important elements required to verify the suitability of using thismethod are provided. The recommended factors for this evaluation are cost, productivity,customer, team structure, etc. In the second part, the challenges of using distributed agiledevelopment were categorized into four parts: (a) challenges of selected agile method, whichthe focus in this study is Scrum, (b) challenges with time-zone differences, (c) communicationchallenges and (d) finally team building challenges. The required practices to address thesechallenges were also provided. / Program: Masterutbildning i Informatik
|
15 |
Problémy vývoja sotvérových aplikácií a ich projektového menežmentu / Problems of Development of Software Applications and Project ManagementDzupin, Viliam January 2011 (has links)
Thesis in its theoretical part summarizes research in the area of global software development. Practical part illustrates processes in real firm which develops software in distributed environment. Conclusion then provides reccomendations to be applied in the real company.
|
16 |
Success Factors Of Software Development In A Distributed Setting: A Collective Case StudyBulgurcu, Burcu 01 June 2006 (has links) (PDF)
This study represents an attempt to address and discuss some of the most significant questions in the research on virtual software development work today. The research is held as a collective case study, including three cases with distinctive characteristics in both the software projects investigated and the types of collaborations. The study aims to reveal the success factors in virtual work, especially on the issues of communication, coordination and collaboration, by presenting the unfavorable experiences and major issues encountered in each case, as well as the favorable ones and lessons learned at the end of the development processes. The collective research focuses on both the global and non-global contexts. As a result, it points out the distinctive and opposite findings of the cases, and proposes discussions of those findings according to the properties of the development settings.
|
17 |
Requirements Negotiation and Conflict Resolution in Distributed Software Development : A Systematic Mapping Study and SurveyVelpula, Chaitanyakumar January 2016 (has links)
The main aim of this thesis is to explore the industrial practices of requirements negotiation and conflict resolution within distributed software development. The motivation for this study is to get insight of the industrial practices in particular interventions (Communication tools, Models, Communication media) that used by practitioners to resolve requirements negotiation and conflicts resolution between clients and suppliers, since many researchers purposed interventions in the literature for requirements negotiation and conflicts resolution in distributed software development. Context: In Requirements Engineering, requirements negotiation and conflict resolution are crucial activities to achieve a common ground between clients and suppliers, it is considered as one of the crucial factors for delivering successful software. However, the shift from traditional collocated practices to a distributed environment offers both benefits and drawbacks which were studied earlier by researcher, but surprisingly there are few studies with insight of exploring the distributed requirements negotiations and conflict resolution practices. This research investigates the state of requirements negotiation and conflict resolution activities in distributed software development with an insight on their importance and relevance to this research area. Objectives: Overall goal of this thesis is to understand how requirements negotiations and conflict resolution are performed in distributed software development, knowing what are the available tools to perform requirements negotiation and conflict resolution, whether these existing tools are good enough to cope up with the industrial practices, knowing most widely used tools, methods and approaches, most importantly does the present research able to bridge the gap with in distributed software development? Methods: This thesis study comprises of two research methodologies. 1. Systematic mapping study (SMS)- To identify the proposed interventions in the literature to perform requirements negotiation and conflict resolution activities in Industrial Software Development within a distributed environment. 2. Industrial Survey- To identify industrial practices to perform rei quirements negotiation and conflict resolution in Industrial Software Development within a distributed environment. Results: 20 studies were identified through systematic mapping study (SMS). After analyzing the obtained studies, the list of interventions (Preparatory activities/communication tools/ Models) were gathered and analyzed. Thereupon, an industrial survey is conducted from the obtained literature, which has obtained 41 responses. Effective communication media for preparatory activities in requirements negotiations and conflict resolution are identified, validation of communication tools for effective requirements negotiations and conflict resolution is performed. Apart from the validation, this study provided list of factors that affects the requirement negotiations and conflict resolution activities in distributed software development. Conclusions: To conclude, the obtained results from this study will benefit practitioner in capturing more insight towards the requirements negotiations and conflict resolution in distributed software engineering. This study identified the preparatory activities involved for effective communication to perform requirements negotiation activities, effective tools, models and factors affecting of requirements negotiations and conflict resolution. In addition to this, validation of results obtained from the literature is carried through survey. Practitioners can be benefitted from the end results of by knowing the effective requirements negotiation and conflict resolution interventions (Communicational tools/ Models/ Communication media) for early planning in distributed software development. Researchers can extend the study by looking in to the real-time approaches followed by the practitioners to perform the both activities in the direction of future studies.
|
18 |
Software Development across Time Zones : A Study of Globally Distributed Software Development in Small EnterprisesRangevik, Alexander January 2013 (has links)
Globally distributed software development has become an important topic for small and medium enterprises. However, the distinct requirements of small and medium enterprises (SMEs) are still not fullyunderstood. To contribute to this growing discussion, I will present an ethnographical field study of a Swedish software company engaged in a distributed development practice with its American branch. By applying a theoretical view based on communication, coordination and control over time, space and socio/cultural difference, I show to what extent a distributed software development model affects SMEs. Whereproblems related to formal and informal communication, knowledge sharing, articulation work and programming methodologies are discussed. My findings suggest that organizational adjustments are needed for SMEs in order to take advantage of distributed software development (DSD), that specialized tools supporting coordination and articulation work is not so common in practice and that certain adjustment to agile methodologies could be made in order to better support DSD.
|
19 |
Uma estratégia para o desenvolvimento de habilidades de comunicação e colaboração para futuros engenheiros de softwareFortaleza, Luiz Leandro dos Reis 20 June 2013 (has links)
Made available in DSpace on 2015-04-11T14:03:01Z (GMT). No. of bitstreams: 1
Luiz Leandro dos Reis Fortaleza.pdf: 2077496 bytes, checksum: 9190072bf4351fdd7e773bc46292d03a (MD5)
Previous issue date: 2013-06-20 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / The software industry needs professionals who, in addition to technical knowledge,
possess certain skills that positively affect the development process
software. In this dissertation initially held up a mapping
systematic about which skills are reported in the literature as being
more important for the software engineer. This mapping served to limit
the scope of this work to the skills of communication and collaboration.
The development of communication skills and collaboration, according to several
authors, occurs from practical activities. Therefore, try to enable the best
students, with regard to communication and collaboration, would integrate them into projects
with industry. However, it is not always possible to establish partnerships with industry
software. An alternative is to simulate the industrial scenario in the academic environment.
A practice that has grown in the industry is the geographical distribution of staff
development, known as Distributed Software Development (DSD).
Then, simulate a scenario DDS is a possible way to bring students from
reality of the software industry. This is the approach proposed in this dissertation.
Two experimental studies were conducted to obtain evidence about the effectiveness
the proposed pedagogical approach. Every experiment we sought to improve
way of collecting and analyzing data, and performed the triangulation of these data aimed
obtaining the most reliable conclusions. It was observed that the use
DDS is quite motivating for students, but there are other factors that
This affect motivation, such as the affinity between team members
co-allocated. Properly manage these factors in order to maintain participants
motivated, can be the difference between success and failure of the activity of teaching, one
Since skill development is influenced by motivation. / A indústria de software precisa de profissionais que, além do conhecimento técnico,
possuam determinadas habilidades que afetam positivamente o processo de desenvolvimento
de software. Nesta dissertação de mestrado realizou-se inicialmente um mapeamento
sistemático sobre quais habilidades são reportadas pela literatura como sendo
mais importantes para o engenheiro de software. Este mapeamento serviu para limitar
o escopo deste trabalho às habilidades de comunicação e colaboração.
O desenvolvimento de habilidades de comunicação e colaboração, segundo diversos
autores, ocorre a partir de atividades práticas. Portanto, tentar capacitar melhor os
alunos, no que diz respeito à comunicação e colaboração, seria integrá-los em projetos
com a indústria. Todavia, nem sempre é possível estabelecer parcerias com a indústria
de software. Uma alternativa é simular o cenário industrial em ambiente acadêmico.
Uma prática que tem crescido na indústria é a distribuição geográfica da equipe
de desenvolvimento, conhecida como Desenvolvimento Distribuído de Software (DDS).
Então, simular um cenário DDS é uma possível forma de aproximar os alunos da
realidade da indústria de software. Esta é a abordagem proposta nesta dissertação.
Foram realizados dois estudos experimentais visando obter indícios sobre a eficiência
da abordagem pedagógica proposta. A cada experimento buscou-se aprimorar a
forma de coleta e análise dos dados, e efetuou-se a triangulação destes dados visando
a obtenção de maior confiabilidade para as conclusões. Observou-se que a utilização
de DDS é bastante motivadora para os alunos, todavia existem outros fatores que
afetam esta motivação, como por exemplo a afinidade entre os membros das equipes
co-alocadas. Gerenciar adequadamente tais fatores, visando manter os participantes
motivados, pode ser o diferencial entre sucesso e fracasso da atividade de ensino, uma
vez que o desenvolvimento de habilidades é influenciado pela motivação.
|
20 |
Communication Risks and Best practices in Global Software Development / Communication Risks and Best practices in Global Software DevelopmentIqbal, Ajmal, Abbas, Syed Shahid January 2011 (has links)
Context. Global Software Development (GSD) or Global Software Engineering (GSE) is defined as the plan of action in which the software development is performed under various boundaries, such as temporal, political, organizational and cultural [1,2] . The projects developed in globally distributed environment are containing more risks than projects developed in collocated environment because of different challenges such as temporal, geographical and socio-cultural distances [67]. In this thesis communication risks have been discussed along with their causes and effects that hinder the effectiveness of GSD projects. Moreover mitigation practices to resolve communication risks and their negative impacts are also discussed. Objectives. The study describes the identification of communication risks, their causes, effects and the practices to mitigate the risks from both literature and industrial perspectives. Some recommendations has also been discussed on the basis of these resulted communication risks and their mitigation practices. Methods. Detailed systematic literature review in order to collect the data from relevant empirical studies with respect to our scope has been conducted in the first phase. Studies were selected from various Electronic Data Sources (EDS) such as IEEE Xplore (IEEE), ACM Digital Library (ACM), Inspec (IS), Compendex (CD), ISI Web of Science (WoS), Cite Seer (CS), Google Scholar (GS), Science Direct (SD), Springer Link (SL), Wiley Inter Science (WIS), and Business Source Premier (BSP). In second phase 22 industrial interviews were conducted from 13 different multinational organizations. In third phase data analysis has been made based on the analysis of ground theory. On the basis of the codes of grounded theory, comparative analysis has been performed between literature and industrial settings. At the end of the thesis some recommendations has been provided in order to resolve communication risks in GSD. Results. As a result of systematic literature review 44 risks, 44 causes, 38 effects and 63 practices have been identified in GSD with respect to communication. 27 risks, 22 causes, 19 effects and 39 mitigation practices were identified from the industrial interviews. These risks, causes, effects and practices are not only described in this thesis but also mapped in relation to each other. At the end in comparative analysis the combined risks, causes, effects and practices were identified in tabular form. In total 47 risks, 45 causes, 39 effects and 65 mitigation practices were identified through this work. Conclusions. Communication plays a fundamental role in achieving the best practices in Global Software Engineering. This study points out the salient risks and limitations that hamper the process of smooth communication in geographically dispersed teams. The causes and effects of the mentioned risks are discussed in detail and a set of recommendations is provided to cope with those risks and to minimize their effect. The resultant set of recommendations is based on the best suitable practices which shall be followed by globally distributed organizations to achieve a fully communicated environment just like an in-house development setting. / 0046760622684
|
Page generated in 0.1005 seconds