21 |
Coordination in Global Software Development : Challenges, associated threats, and mitigating practicesAcharya, Mod Nath, Aslam, Nazam January 2012 (has links)
Global Software Development (GSD) is an emerging trend in today's software world in which teams are geographically dispersed, either in close proximity or globally. GSD provides certain advantages to development companies like low development cost, access to cheap and skilled labour etc. This type of development is noted as a more risky and challenging as compared to projects developed with teams under same roof. Inherently the nature of GSD projects are cooperative in which many software developers work on a common project, share information and coordinate activities. Coordination is a fundamental part of software development. GSD comprises different types of development systems i.e. insourcing, outsourcing, nearshoring, or farshoring, whatever the types of development systems selected by a company there exist the challenges to coordination. Therefore the knowledge of potential challenges, associated threats to coordination and practices to mitigate them plays a vital role for running a successful global project.
|
22 |
Kunskapshantering med wikis : En studie om användningen av wikis som kunskapshanteringssystem i ett distribuerat mjukvaruutvecklingsteam / Knowledge management using wikis : A study on the usage of wikis as knowledge management systems in a distributed software development teamStrandqvist, Louise, Abrahamsson, Camilla January 2016 (has links)
To seize and make use of knowledge in organizations is important for their competitiveness, amongst other things. To do this is, however, not entirely straightforward and therefore the use of so called knowledge management systems is common. There are different kinds of systems for managing knowledge, for example systems that are known as traditional knowledge management systems. However, a number of difficulties and problems with the traditional knowledge management systems has led to the usage of other systems, for example wikis, for knowledge management. We have, in this thesis, studied the role of a wiki as a knowledge management system in a distributed software development team. We have also studied how a wiki can relate to a traditional knowledge management system. A case study was conducted and five software developers were interviewed. The study showed that the usage of wikis can be versatile and that there are both similarities and differences to traditional knowledge management systems, both regarding the use and the content. The study also showed that wikis and traditional knowledge management systems can be used combined. The conclusions of the study shows that both wikis and traditional knowledge management systems can support and facilitate the management and dispersion of knowledge in organizations. / Att kunna ta vara på kunskap som finns inom organisationer och omsätta denna är viktigt bland annat för organisationers konkurrenskraft. Att göra detta är dock inte helt enkelt och därför tar man ofta hjälp av så kallade kunskapshanteringssystem. Det finns olika typer av system för att hantera kunskap, exempelvis de som benämns som traditionella kunskapshanteringssystem. Ett antal svårigheter och problem med dessa system har lett till att man börjat använda andra system för kunskaphantering, exempelvis wikis. I denna uppsats har vi undersökt en wikis roll som kunskapshanteringssystem inom ett distribuerat mjukvaruutvecklingsteam. Vi har även undersökt hur wikis förhåller sig till traditionella kunskapshanteringssystem. För att undersöka detta genomfördes en fallstudie där fem mjukvaruutvecklare intervjuades. Studien visade att användningen av wikis kan vara mångsidig och att det finns både likheter och skillnader med traditionella kunskapshanteringssystem, både gällande användningen och dess innehåll. Det visade sig också att wikis och traditionella kunskapshanteringssystem kan användas samverkande. Slutsatserna visar att både wikis och traditionella kunskapshanteringssystem kan vara ett stöd och underlätta hanteringen och spridningen av kunskap i organisationer.
|
23 |
Wiki for Global Knowledge Management in Distributed Software Development ProcessSharma Adhikari, Ashok, Khan, Zuhair Haroon January 2013 (has links)
Problem Area/ Purpose The purpose of this research is to study how geographically scattered employees learn and create new knowledge with the help of wiki tool in distributed software development process. We aim to analyze how wiki supports four modes of knowledge conversion process model and how wiki helps in solving the complex problem in virtual organization learning. Research Methodology In this research qualitative interview study was used. We have conducted the interview with eight developers and experts in the company. Nonaka and Takeuchi (1995) knowledge conversion model was used while conducting the interview with developers. Similarly, in this research same knowledge conversion model was used for interpreting the answers that we got from the developers and experts. Findings/Conclusion Wiki as a knowledge management tool is possible for providing effective as well as efficient communication as per necessity of knowledge requirement in distributed software organization. The use of wiki in the organization for the virtual learning is really beneficial for knowledge creation, solving the complex problem and obtaining the useful effect on virtual team. Some drawbacks were also seen by the expert and developers in using wiki. Those drawbacks were all about genuineness, authenticity, accuracy, trustworthy and uniqueness of knowledge content. Research Limitation & Delimitations Due to geographically dispersed location of research sites, we faced difficulty to gather information related to company documents, reports and contextual information of organization. We conducted this research in the offices of Pakistan and office in USA. Outcomes The research that we have conducted showed that the developers in Software Company can share knowledge and also can learn through different modes of knowledge conversion model. This research also showed that developers are using the wiki tool for creating new knowledge as well as solving complex problem. This research helps in showing the benefit for other company and motivates the virtual organizations for implementing the use of wiki for different purposes.
|
24 |
Impact of task allocation challenges in Global Software DevelopmentKonada, Aditya January 2023 (has links)
Context and Background: Global Software Development involves teams located in different geographical locations, time zones, and cultural contexts working together to accomplish a shared goal or complete a software project. These projects, which are conducted by teams in different locations, have been found to be more risky and challenging than those with teams in the same location. Therefore, it is important to have knowledge of the potential challenges of task allocation in global software development and strategies for addressing them to manage a GSD project successfully. Objective: This thesis aims to identify and tabulate all the Task allocation challenges in Global Software Development and synthesize the mitigation strategies for the challenges identified in task allocation in GSD. To evaluate the challenges that influence the task allocation process in GSD and perform an assessment to find the mitigation strategies for these challenges. Research Method: This is a systematic literature review of studies on empirical research on GSD, covering publications from 1999 to 2022. The focus of this research is specifically on challenges associated with task allocation in GSD projects. A survey was conducted to validate the identified challenges and gather suggestive mitigation strategies. This research aimed to identify task allocation challenges in GSD and suggest mitigation strategies in GSD projects. Results: This research has identified a total of 20 challenges related to task allocation in Global software development based on a review of publications from 1999 to 2022. Additionally, the mitigation strategies for the 20 identified challenges were found in a survey conducted as part of the research. The challenges and mitigation strategies are discussed in the paper.
|
25 |
Caracterização de um processo de software para projetos de software livre / Characterizing a software process for Free Software projects.Reis, Christian Robottom 23 April 2003 (has links)
Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores. / Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activities they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. 1 present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspeets were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond\'s \'benevolent dictator\' and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimédia applications. Concerning the software process activities, most projects have their functional requirements established by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing software, or on previously published standards. Little emphasis is placed on usability and conventional fornis of quality assurance. Remarkably, this lack of emphasis on conventional process includes activities like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project\'s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project\'s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work.
|
26 |
Um ambiente integrado para apoio ao desenvolvimento distribuído de softwareGärtner, Vilson Cristiano 22 March 2011 (has links)
Submitted by CARLA MARIA GOULART DE MORAES (carlagm) on 2015-04-06T17:18:33Z
No. of bitstreams: 1
VilsonGartnerComputacao.pdf: 9068377 bytes, checksum: 6ace07d8901f11d83ef8a8c13f4f62c7 (MD5) / Made available in DSpace on 2015-04-06T17:18:33Z (GMT). No. of bitstreams: 1
VilsonGartnerComputacao.pdf: 9068377 bytes, checksum: 6ace07d8901f11d83ef8a8c13f4f62c7 (MD5)
Previous issue date: 2011 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / O Desenvolvimento Distribuído de Software (DDS) é um modelo de desenvolvimento que vem se intensificando nos últimos anos. Também conhecido como Desenvolvimento Global de Software (DGS), esse modelo de desenvolvimento é realizado por equipes em diferentes localizações geográficas. Entre os fatores que contribuem para esse aumento, está a necessidade de negócio das corporações, que buscam redução de custos, recursos qualificados e necessidade de uma presença global. Em outros casos, se deve ao surgimento de novos movimentos de desenvolvimento de software, como a comunidade de software livre, um exemplo bem sucedido de DDS. Apesar da necessidade ou mesmo da conveniência de desenvolver o software de forma distribuída, é extremamente difícil fazê-lo com sucesso. A separação física traz uma série de problemas e desafios interessantes que recém estão começando a ser compreendidas: questões estratégicas, questões culturais, comunicação inadequada, gestão do conhecimento, alocação de tarefas, confiança, questões técnicas, entre outros. Desde que surgiu, o DDS mudou grande parte da tradição do desenvolvimento de software e, para manter o seu mercado, as organizações não podem depender das mesmas competências e tecnologias de engenharia de software utilizadas no desenvolvimento interno. Nesse sentido, o presente trabalho tem por objetivo auxiliar na redução dos problemas e dificuldades trazidos por esse modelo de desenvolvimento, através da implementação de um ambiente de desenvolvimento cujas ferramentas foram definidas com base em estudos e trabalhos relacionados ao tema. / The Distributed Software Development (DSD) is a development model that has been intensified in recent years. Also known as Global Software Development (GSD), this development model is done by teams in different geographical locations. Among the factors that have contributed to this increase, there is the corporations business need of seeking ways to reduce costs, seeking skilled resources and having a global presence. In other cases, it is due to the emergence of new movements in software development, such as the free software community, a successful example of DSD. Despite the need or even desirability of developing software in a distributed way, it is extremely difficult to do this successfully. Physical separation has a number of interesting problems and challenges that are just beginning to be understood: strategic issues, cultural issues, inadequate communication, knowledge management, task allocation, trust, technical issues, among others. DSD has changed much of the tradition of software development since it appeared. Organizations cannot rely on the same skills and software engineering technologies used internally to maintain this new market. In this way, this work aims to help to reduce the problems and difficulties brought by this type of development, through the implementation of a software development environment whose tools were defined based on studies related to the topic.
|
27 |
Caracterização de um processo de software para projetos de software livre / Characterizing a software process for Free Software projects.Christian Robottom Reis 23 April 2003 (has links)
Software Livre é software fornecido com código fonte, e que pode ser livremente usado, modificado e redistribuído. Projetos de Software Livre são organizações virtuais formadas por indivíduos que trabalham juntos no desenvolvimento de um software livre específico. Estes indivíduos trabalham geograficamente dispersos, utilizando ferramentas simples para coordenar e comunicar seu trabalho através da Internet. Este trabalho analisa esses projetos do ponto de vista de seu processo de software; em outras palavras, analisa as atividades que realizam para produzir, gerenciar e garantir a qualidade do seu software. Na parte inicial do trabalho é feita uma extensa revisão bibliográfica, comentando os principais trabalhos na área, e são detalhadas as características principais dos projetos de software livre. O conteúdo principal deste trabalho resulta de dois anos de participação ativa na comunidade, e de um levantamento realizado através de questionário, detalhando mais de quinhentos projetos diferentes. São apresentadas treze hipóteses experimentais, e os resultados do questionário são discutidos no contexto destas hipóteses. Dos projetos avaliados nesse levantamento, algumas características comuns foram avaliadas. As equipes da grande maioria dos projetos são pequenas, tendo menos de cinco participantes. Além disso, existe uma distribuição equilibrada entre algumas formas de organização descritas na literatura, incluindo o \'ditador benevolente\' de Eric S. Raymond e o \'comité\' exemplificado pelo projeto Apache. Dentre um conjunto de domínios de aplicação determinados, os projetos de software livre se concentram nas áreas de engenharia e desenvolvimento de software, redes e segurança, e aplicações multimídia. Com relação às atividades do processo de software, pode-se dizer que a maioria dos projetos tem requisitos fundamentalmente definidos pelos seus autores, e que a base de usuários de grande parte dos softwares é composta dos seus desenvolvedores e da comunidade de software livre. Uma parcela significativa dos projetos baseia-se em outros softwares pré-existentes, e em padrões publicados previamente. Pouca ênfase é dada à usabilidade, assim como às atividades de garantia de qualidade convencionais. Surpreendentemente, também recebem pouca atenção as atividades de revisão de código e teste sistemático. Entre as ferramentas que os projetos utilizam, se destacam as listas de discussão e os sistemas de controle de versão. Foi estabelecida uma correlação entre a dimensão da equipe do projeto e as atividades de engenharia de software que realiza, mas não se confirmou um vínculo entre estas atividades e a idade do projeto. Foram também estabelecidas relações entre o número de linhas de código do software do projeto e a sua idade, tamanho e domínio de aplicação. Estes resultados são exibidos neste trabalho, e estarão publicamente disponíveis no site Web do projeto. O trabalho conclui descrevendo partes essenciais do processo de software em projetos de software livre, e oferecendo sugestões para trabalhos posteriores. / Free Software (or Open Source) is software provided with source code that may be freely used, modified and redistributed. Free Software Projects are virtual communities of developers that work on a specific free software product. These developers work geographically dispersed, using simple tools to communicate and coordinate their actions over the Internet. This work analyzes these projects with respect to their software process; in other words, the activities they do to produce, manage and ensure the quality of their software. In the initial sections, I perform a large review of related work in this field, and provide an overview of the main characteristics of free software projects. The main contents of this dissertation is based on two years of participation in free software projects, and on a survey based on a questionnaire that describes over five hundred different free software projects. 1 present thirteen initial hypothesis, using them as a framework to analyze the results of the survey. Among the projects evaluated in this survey, some common aspeets were observed. For instance, most projects have a small team, with less than five developers. I also found a balanced distribution of leadership systems described in other works, including Eric Raymond\'s \'benevolent dictator\' and the committee exemplified by the Apache project. The domains in which these projects tend to concentrate are software engineering and development, networks and security, and multimédia applications. Concerning the software process activities, most projects have their functional requirements established by their authors: the user base for most of the projects includes the development team and the free software community. A large proportion of the projects surveyed are based on pre-existing software, or on previously published standards. Little emphasis is placed on usability and conventional fornis of quality assurance. Remarkably, this lack of emphasis on conventional process includes activities like review and testing. Among the tools used by the projects, mailing lists and versioning systems such as CVS come out ahead by a strong margin. A correlation was identified between the size of the project\'s team and the software engineering activities that it realizes, but I could not establish a link between the age of the project and these activities. Other correlations were established between the size of the project\'s codebase (in terms of lines of code) and its age, size and application domain. The dissertation concludes describing essential parts of the software process in free software projects, and offering suggestions for future work.
|
28 |
Agile requirements engineering in globally distributed software development projects / Agil kravhantering i globalt utspridda mjukvaruutvecklingsprojektLindström, Erik January 2020 (has links)
Requirements engineering remains an important discipline to reduce costs, development times and improve quality in software engineering projects. With Agile methods gaining prominence in a rapidly globalized world, many requirements engineering efforts are today made in distributed contexts, with both teams and stakeholders being separated by physical and organisational distances. At the same time, it is not well understood how agile methods for requirements engineering apply to distributed contexts. This thesis investigates the implementation and use of agile methods for requirements engineering in distributed software engineering contexts. Observations made over a three-month study of the CHAMP project, a joint IT and process development effort between major European truck manufacturers Scania and MAN, are used to assess how commonly practices agile methods perform when implemented over distances. The case study of the CHAMP study suggests that the implementation of agile methods is highly context-sensitive, with limited current opportunities to formulate general heuristics for successful applications. The results of the CHAMP study indicate that distributed contexts hamper team communications when compared to co-located efforts, making it more difficult to implement an overall agile project model. However, individual methods, particularly the use of work backlogs, are found to offer increased structural flexibility beneficial to distributed workflows. Additionally, the CHAMP observations suggest implementing agile methods in new contexts requires an organisational mandate, as agile workflows are less predictable than linear models and can expose the surrounding organisation to higher uncertainty. / Kravhantering är fortsatt ett viktigt verktyg för att reducera kostnader, utvecklingstider och öka leveranskvalitet i mjukvaruutveklingsprojekt. Då agila metoder har blivit allt vanligare i en snabbt globaliserad värld, genomförs idag många kravhanteringsprocesser i utspridda sammanhang, där både projektets personal och intressenter är separerade av fysiska och organisatoriska avstånd. Samtidigt är det inte väl förstått hur agila metoder för kravhantering applicerar i utspridda sammanhang. Detta examensarbete undersöker hur agila metoder han implementeras och användas för kravhanteringsprocesser i utspridda mjukvaruutvecklingsprocesser. Observationer insamlade under en tremånadersstudie av CHAMP-projektet, ett gemensamt IT- och affärsutvecklingsprojekt mellan de stora europeiska lastbilstillverkarna Scania och MAN, används för att bedöma hur vanligt förekommande agila metoder fungerar när de tillämpas i agila sammanhang. Fallstudien av CHAMP-projektet indikerar att den specifika kontexten kan kraftigt påverka implementationen ag agila metoder, vilket för närvarande begränsar möjligheten att formulera generella tumregler för hur de framgångsrikt kan lanseras. CHAMP-studiens resultat påvisar att utspridda projekt har svårare att kommunicera jämför med samlokaliserade grupper, vilket gör det svårare att implementera sammanhållet agila projektmodeller. Samtidigt kan enskilda agila metoder, särskilt användningen av backlogs, hjälpa till att öka flexibiliteten i projekt, vilket är värdefullt i utspridda arbetsprocesser. Slutligen påvisar observationerna från CHAMP-projektet att det är viktigt med ett organisatoriskt mandat vid implementationen av agila metoder, då de är mindre förutsägbara än linjära processer och kan utsätta omkringliggande organisationer för högre osäkerhet.
|
Page generated in 0.1395 seconds