156,627 research outputs found

    Towards 'ontology'-based software engineering for multi-site software development

    Get PDF
    The purpose of this paper is to discuss the research issues related to multi-site distributed software development environments. We describe a potential approach in which we utilize 'Ontologies' as part of a communication framework for multi-site distributed software development environments. We organise software engineering concepts, ideas and knowledge, software development methodologies, tools and techniques into an - 'ontology' -, and use it as the basis for classifying the concepts in communication thereby enabling questions, problem solving and sharing solution development and knowledge to be shared between multi-site teams

    Management Strategies for Adopting Agile Methods of Software Development in Distributed Teams

    Get PDF
    Between 2003 and 2015, more than 61% of U.S. software development teams failed to satisfy project requirements, budgets, or timelines. Failed projects cost the software industry an estimated 60 billion dollars. Lost opportunities and misused resources are often the result of software development leaders failing to implement appropriate methods for managing software projects. The purpose of this qualitative multiple case study was to explore strategies software development managers use in adopting Agile methodology in the context of distributed teams. The tenets of Agile approach are individual interaction over tools, working software over documentation, and collaboration over a contract. The conceptual framework for the study was adapting Agile development methodologies. The targeted population was software development managers of U.S.-based companies located in Northern California who had successfully adopted Agile methods for distributed teams. Data were collected through face-to-face interviews with 5 managers and a review of project-tracking documentation and tools. Data analysis included inductive coding of transcribed interviews and evaluation of secondary data to identify themes through methodological triangulation. Findings indicated that coaching and training of teams, incremental implementation of Agile processes, and proactive management of communication effectiveness are effective strategies for adopting Agile methodology in the context of distributed teams. Improving the efficacy of Agile adoption may translate to increased financial stability for software engineers across the world as well as accelerate the successful development of information systems, thereby enriching human lives

    Effective communication in globally distributed Scrum teams

    Get PDF
    Trends in information systems development include the use of globally distributed teams and agile methodologies such as Scrum. Globally distributed (GD) software development challenges team communication. Before we can evaluate effective communication in GD teams using Scrum, we need to know what effective communication means in that context. This study captures the understanding of effective communication based on interviews with industry professionals working in GD Scrum teams and reports on Scrum practices that keep communication effective. From these interviews, we developed a model consisting of communication transparency, communication quality, and communication discipline, leading to the alignment of team understanding. This paper contributes to practitioners’ knowledge about what effective communication means in GD Scrum and describes tools that support communication. The theoretical contribution of the study is a model of effective communication that lays the ground for future research on evaluating Scrum’s effect on communication in GD contexts

    Applying global software development approaches to building high-performing software teams

    Get PDF
    The rapid progress of communication technologies combined with the growing competition for talents and knowledge has made it necessary to reassess the potential of distributed development which has significantly changed the landscape of the IT industry introducing a variety of cooperation models and making notable changes to the software team work environment. Along with this, enterprises pay more attention to teams’ performance improvement, employing emerging management tools for building up efficient software teams, and trying to get the most out of understanding factors which significantly impact a team’s overall performance. The objective of the research is to systematize factors characterizing high-performing software teams; indicate the benefits of global software development (GSD) models positively influencing software teams’ development performance; and study how companies’ strategies can benefit from distributed development approaches in building high-performing software teams. The thesis is designed as a combination of a systematic literature review followed by qualitative research in the form of semi-structured interviews to validate the findings regarding classification of GSD models’ benefits and their influence on the development of high-performing software teams. At a literature review stage, the research (1) introduces a team performance factors’ model reflecting the aspects which impact the effectiveness of development teams; (2) suggests the classification of GSD models based on organizational, legal, and temporal characteristics, and (3) describes the benefits of GSD models which influence the performance of software development teams. Within the empirical part of the study, we refine the classification of GSD models’ benefits based on the qualitative analysis results of semi-structured interviews with practitioners from IT industry, form a comparison table of GSD benefits depending on the model in question, and introduce recommendations for company and team management regarding the application of GSD in building high-performing software teams. IT corporations, to achieve their strategic goals, can enrich their range of available tools for managing high-performing teams by considering the peculiarities of different GSD models. Company and team management should evaluate the advantages of the distributed operational models, and use the potential and benefits of available configurations to increase teams’ performance and build high-performing software teams

    Multi-site software engineering ontology instantiations management using reputation based decision making

    Get PDF
    In this paper we explore the development of systems for software engineering ontology instantiations management in the methodology for multi-site distributed software development. Ultimately the systems facilitate collaboration of teams in multi-site distributed software development. In multi-site distributed environment, team members in the software engineering projects have naturally an interaction with each other and share lots of project data/agreement amongst themselves. Since theyare not always residing at the same place and face-to-face meetings hardly happen, there is a need for methodology and tools that facilitate effective communication for efficient collaboration. Whist multi-site distributed teams collaborate, there are a lot of shared project data updated or created. In a large volume of project data, systematic management is of importance. Software engineering knowledge is represented in the software engineering ontology whose instantiations, which are undergoing evolution, need a good management system. Software engineering ontology instantiations signify project information which is shared and has evolved to reflect project development, changes in the software requirements or in the design process, to incorporate additional functionality to systems or to allow incremental improvement, etc

    SAFe metodologian vaikutus kommunikaatioon ja yhteistyöhön

    Get PDF
    Nowadays, with the influence of global economy large corporations use global software development to utilise advantages of geographically decentralised organisations and global outsourced software development. Through distributed organisations the work can be done around the clock. Global software development is impacted by three distance dimensions: time distance, geographical distance, and socio-cultural distance, which all bring some challenges. At the same time agile way of working has become more and more popular method in software development. As agile practises are created for co-located teams there is a demand for having working online solutions for communication and collaboration in distributed teams. Corporations use scaled agile way of working to support software develop-ment of large initiatives and projects. Scaled Agile Framework (SAFe) is the most popular among the scaled agile methods. This thesis was conducted as a case study in a multinational corporation. Objective of the case study was to research effectiveness of scaled agile methodology SAFe on communication and collaboration in teams and agile release trains. The case study included two parts: a web-survey and interviews. The results of the analyses of the case study support findings from the literature in the field. The results indicate the importance of communication and collaboration in agile practices and the significance of the online tools that support it

    A self-organising awareness system for distributed software engineering

    Get PDF
    Software engineers and other collaborative disciplines rely on informal "out-of-band" communication for ef- fective coordination of their activities, especially in agile methods. This type of communication is lost when development is distributed, with consequent deleterious effects on engineer effectiveness. In order to effectively support distributed software engineering, a replacement for this informal communication must be found. Much previous research focussed on either synchronous awareness such as radar views and shared editors, where participants were distributed in space not time, or asynchronous awareness such as change notification, which did not explicitly support concurrent activities. A unified approach is necessary to support software engineering. Furthermore, requiring co-location of engineering teams is not possible in today's marketplace where development is often outsourced, consequently a definite requirement for awareness tools to replace informal communication exists. To implement an awareness tool capable of providing awareness of activities distributed both in time (asyn- chronous awareness) and space (synchronous awareness). The tool will not rely on a centralised reflector; instead information will be distributed over a peer-to-peer network arranged using a self-organisation algorithm. Consequently awareness information need not travel more than a few hops from its originating peer, reducing network load and increasing relevance of information received. Unlike reflector-based CSCW systems, the network will scale and will not have a single point of failure in the reflector. Furthermore, without the need to setup a reflector, there is the capability for ad-hoc awareness, using low-complexity peer discovery by local broadcast for example. The tool will be integrated with the Eclipse development environment. The files a user is currently editing will determine the data they are interested in and fuzzy similarity metrics will be used to compare the collections of each peer in the network in order to drive the self-organisation process. To evaluate the success of self-organisation, a simulation approach will be used before deploying the algorithms in the wild. To evaluate the effectiveness of the awareness provision, initial deployment and controlled experiments will be conducted within the Distributed Software Engineering group at the University of Lincoln and a later version of the tool will be trialled with existing Eclipse user

    Using Scrum in a side project with distributed teams

    Get PDF
    Scrum is the most popular agile software development methodology in use today (VersionOne, 2013), (West & Grant, 2010), (Begel & Nagappan, 2007). Many of the Scrum teams work in virtual distributed formations (VersionOne, 2013). The distributed work model introduces multiple burdens, like communication issues, matter of trust, time zones and cultural differences to the teams, which can severely affect performance (Deemer, s.a.). As a result, dislocated Scrum teams have a considerably lower success rate than collocated ones according to various surveys (Ambler S. W., 2008), (Ambler S. W., Agility at Scale Survey 2012, 2012), (Cohn, 2010). This paper researches the topic of “Using Scrum in a side project with distributed teams” and consist of three main parts: theoretical background, methods and results. In the theoretical background we cover the different software development methodologies, agile methodology in particular. We take a deeper look into Scrum; it's history, roles in Scrum, Scrum artifacts and ceremonies. We also briefly discuss virtual teams theory. In the methods we cover the online contract bridge card game development, Lean Startup and Business Model Generation as part of business development, background info on contract bridge, validating the idea, the design and development tools used to build the minimum viable product and the methods of data collection for Scrum. In the results we describe our implementation of Scrum, the building of the minimum viable product, and research made into other early stage startup teams to support our own findings.http://tartu.ester.ee/record=b2656166~S1*es

    An empirical study of the coordination in a distributed software development team

    Get PDF
    Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Civil and Environmental Engineering, 2004.Includes bibliographical references (p. 89-92).As today's software systems become more and more complicated, coordinating the development of such systems has been an important factor to their successful implementation. The need for good coordination is especially important when the development team is geographically distributed and has to rely on information and communication technologies to support its activities. With limited available coordination mechanisms, distributed software teams need to carry out a set of coordination functions effectively throughout the software development process. In addition, in response to the changes in context and task, distributed software teams needed to be adaptive in their coordination. In this study, I try to understand how different coordination methods and tools could serve the changing coordination needs in software development through an empirical study of a distributed software team's practice.by Xusong Xie.S.M
    • 

    corecore