34,310 research outputs found

    OntoMaven: Maven-based Ontology Development and Management of Distributed Ontology Repositories

    Full text link
    In collaborative agile ontology development projects support for modular reuse of ontologies from large existing remote repositories, ontology project life cycle management, and transitive dependency management are important needs. The Apache Maven approach has proven its success in distributed collaborative Software Engineering by its widespread adoption. The contribution of this paper is a new design artifact called OntoMaven. OntoMaven adopts the Maven-based development methodology and adapts its concepts to knowledge engineering for Maven-based ontology development and management of ontology artifacts in distributed ontology repositories.Comment: Pre-print submission to 9th International Workshop on Semantic Web Enabled Software Engineering (SWESE2013). Berlin, Germany, December 2-5, 201

    Lessons Learned from Distributed Agile Software Projects: A Case-Based Analysis

    Get PDF
    Agile software development in a distributed setting is challenging. The teams involved in the process face difficulties in communication, personnel selection, work culture, and knowledge management. The shortcomings associated with working in different time zones and the inabilities to develop trusting relationships between developers are well known. Companies often take recourse to agile software development methods in a distributed environment in search of reduced cost, higher efficiency, increased flexibility, and good customization. However, it is not clear whether agile methods can be successfully followed and their benefits realized in a distributed setting. This paper revisits and synthesizes the lessons learnt from twelve case studies detailing successful implementation of distributed agile software projects. The cases are analyzed from the perspective of the agile manifesto to determine how closely they follow its values and principles and to what extent they realize the benefits of the agile methodology. The cases lead to the discovery of disparate and innovative solutions adopted by different companies for overcoming the challenges of distributed agile software development. Some solutions are commonplace and others are unique and their combination in the context of the challenges is enlightening. The list of solutions can suitably guide companies that plan to adopt the agile methodology in distributed software development environments in future

    Continuous Rationale Management

    Get PDF
    Continuous Software Engineering (CSE) is a software life cycle model open to frequent changes in requirements or technology. During CSE, software developers continuously make decisions on the requirements and design of the software or the development process. They establish essential decision knowledge, which they need to document and share so that it supports the evolution and changes of the software. The management of decision knowledge is called rationale management. Rationale management provides an opportunity to support the change process during CSE. However, rationale management is not well integrated into CSE. The overall goal of this dissertation is to provide workflows and tool support for continuous rationale management. The dissertation contributes an interview study with practitioners from the industry, which investigates rationale management problems, current practices, and features to support continuous rationale management beneficial for practitioners. Problems of rationale management in practice are threefold: First, documenting decision knowledge is intrusive in the development process and an additional effort. Second, the high amount of distributed decision knowledge documentation is difficult to access and use. Third, the documented knowledge can be of low quality, e.g., outdated, which impedes its use. The dissertation contributes a systematic mapping study on recommendation and classification approaches to treat the rationale management problems. The major contribution of this dissertation is a validated approach for continuous rationale management consisting of the ConRat life cycle model extension and the comprehensive ConDec tool support. To reduce intrusiveness and additional effort, ConRat integrates rationale management activities into existing workflows, such as requirements elicitation, development, and meetings. ConDec integrates into standard development tools instead of providing a separate tool. ConDec enables lightweight capturing and use of decision knowledge from various artifacts and reduces the developers' effort through automatic text classification, recommendation, and nudging mechanisms for rationale management. To enable access and use of distributed decision knowledge documentation, ConRat defines a knowledge model of decision knowledge and other artifacts. ConDec instantiates the model as a knowledge graph and offers interactive knowledge views with useful tailoring, e.g., transitive linking. To operationalize high quality, ConRat introduces the rationale backlog, the definition of done for knowledge documentation, and metrics for intra-rationale completeness and decision coverage of requirements and code. ConDec implements these agile concepts for rationale management and a knowledge dashboard. ConDec also supports consistent changes through change impact analysis. The dissertation shows the feasibility, effectiveness, and user acceptance of ConRat and ConDec in six case study projects in an industrial setting. Besides, it comprehensively analyses the rationale documentation created in the projects. The validation indicates that ConRat and ConDec benefit CSE projects. Based on the dissertation, continuous rationale management should become a standard part of CSE, like automated testing or continuous integration

    Managing risks in virtual-agile it projects: The paradigm of responsiveness

    Get PDF
    Managing risks in IT projects has always been a critical area of study for many researchers and practitioners. Due to the rapid advances in information and communication technologies (ICTs), there is an increasing number of challenges and issues for the IT organisations. Virtual-Agile IT projects being virtually operated and based on Agile methodology principles are facilitating IT industry having their main application in the software development industry, where entities from diverse backgrounds have varied working practices, languages and culture, and works together for achieving common aims. There have been several benefits integrated with the application of Virtual-Agile IT projects but the intersection of these two unique working concepts (Virtual-Agile) gives rise to several risks and uncertainties which have now become a point of concern for these organisations. The need for minimising the possibility of such evolving risks and uncertainties became the foundation of conducting this study from a theoretical viewpoint, where the researcher aimed to propose a conceptual framework helping organisations meet their business objectives constructively. The study is exploratory in nature which discovers all those appropriate practices, strategies and guidelines which support reducing risk and uncertainties between the distributed stakeholders during the product development phase. The research methodology used is primarily dependent on qualitative methods combined with the grounded theory methodology to gather rich and rigorous information from experienced and professional personnel from different geographical regions. Depending upon the procedures of grounded theory methodology, the data were collected and analysed simultaneously under the principles of constant comparison and theoretical sampling. The procedures helped to determine thought-provoking results and highlighted various dimensions of the phenomenon under investigation. Responsiveness which emerged as the central phenomenon to overcome risks and uncertainties in Virtual-Agile IT project environments proposes for a proactive system which could be able to deal with project uncertainties, thus reducing the likelihood of potential risks, and enhancing opportunities for the organisations. Responsiveness, which is an ability of the system to perceive, reflect and adapt changes in the project environments is dependent upon efficiently management of three major components, i.e. technology, timeliness and communication. Technology which is the most critical element when operating in virtual environments requires standardization and should be extensively used to develop strong networks and integration between various locations around the world. Timeliness is elementary and a pre-requisite for completion of on-going multiple projects in IT organisations Communication which is the utmost component, is required at various levels for evolving synchronisation in the overall system, such as when developing correlation and satisfaction among distributed stakeholders, estimating the level of required competency and ensuring an efficient knowledge transfer process. Responsiveness, which is required throughout the development cycle, also further influences formal risk management practices undertaken at various levels of the project. Risk management planning and implementation of the response strategies are dependent upon Responsiveness i.e. how well, timely and using technical resources the entities communicate for determining a solution to a problem. The paradigm developed, thus reflects industrial practices undertaken in the software development industry to meet project objectives and would support organisations and their prominent stakeholders to overcome risks and uncertainties in the future Virtual-Agile IT projects

    Customising software products in distributed software development a model for allocating customisation requirements across organisational boundaries

    Get PDF
    Requirements engineering plays a vital role in the software development process. While it is difficult to manage those requirements locally, it is even more difficult to communicate those requirements over organisational boundaries and to convey them to multiple distribution customers. This paper discusses the requirements of multiple distribution customers empirically in the context of customised software products. The main purpose is to understand the challenges of communicating and allocating customisation requirements across distributed organisational boundaries. We conducted an empirical survey with 19 practitioners, which confirmed that communicating customisation requirements in a DSD context is a significant challenge. We therefore propose a model for allocating customisation requirements between a local, customer-based agile team and a distributed development team that uses a traditional development approach. Our conjecture is that the model would reduce the challenge of communicating requirements across organisational boundaries, address customers’ requirements and provide a focus for future empirical studies

    Bridging the gap between research and agile practice: an evolutionary model

    Get PDF
    There is wide acceptance in the software engineering field that industry and research can gain significantly from each other and there have been several initiatives to encourage collaboration between the two. However there are some often-quoted challenges in this kind of collaboration. For example, that the timescales of research and practice are incompatible, that research is not seen as relevant for practice, and that research demands a different kind of rigour than practice supports. These are complex challenges that are not always easy to overcome. Since the beginning of 2013 we have been using an approach designed to address some of these challenges and to bridge the gap between research and practice, specifically in the agile software development arena. So far we have collaborated successfully with three partners and have investigated three practitioner-driven challenges with agile. The model of collaboration that we adopted has evolved with the lessons learned in the first two collaborations and been modified for the third. In this paper we introduce the collaboration model, discuss how it addresses the collaboration challenges between research and practice and how it has evolved, and describe the lessons learned from our experience
    • …
    corecore