41,348 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

    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

    OpenScrum: Scrum methodology to improve shared understanding in an open-source community

    Get PDF
    While we continue to see rise in the adoption of agile methods for software development, there has been a call to study the appropriateness of agile methods in open-source and other emerging contexts. This paper examines Scrum methodology adopted by a large, globally distributed team which builds an open-source electronic medical records platform called OpenMRS. The research uses a mixed method approach, by doing quantitative analysis of source-code, issue tracker as well as community activity (IRC logs, Mailing lists, wiki) in pre and post Scrum adoption, covering a period of 4 years. Later we conducted semi-structured interviews with core developers and followed it up with group discussions to discuss the analysis of the quantitative data and get their views on our findings. Since the project is "domain heavy", contributors (developers and implementers) need to have certain health informatics understanding before making significant contributions. This puts knowledge-sharing and "bus factor" as critical points of management for the community. The paper presents ideas about a tailored Scrum methodology that might better suited for open-source communities to improve knowledge-sharing and community participation, instead of just agilit

    Boundary Objects and their Use in Agile Systems Engineering

    Full text link
    Agile methods are increasingly introduced in automotive companies in the attempt to become more efficient and flexible in the system development. The adoption of agile practices influences communication between stakeholders, but also makes companies rethink the management of artifacts and documentation like requirements, safety compliance documents, and architecture models. Practitioners aim to reduce irrelevant documentation, but face a lack of guidance to determine what artifacts are needed and how they should be managed. This paper presents artifacts, challenges, guidelines, and practices for the continuous management of systems engineering artifacts in automotive based on a theoretical and empirical understanding of the topic. In collaboration with 53 practitioners from six automotive companies, we conducted a design-science study involving interviews, a questionnaire, focus groups, and practical data analysis of a systems engineering tool. The guidelines suggest the distinction between artifacts that are shared among different actors in a company (boundary objects) and those that are used within a team (locally relevant artifacts). We propose an analysis approach to identify boundary objects and three practices to manage systems engineering artifacts in industry
    • …
    corecore