72,583 research outputs found

    A canonical software process family based on the Unified Process

    Get PDF
    The Unified Process (UP) is a processes framework widely known and used by the software industry and academic community. UP was developed under the conception of a universal application, but even a single process is not appropriate to address all development projects since optimal process depends on the particularities of each project or organization. Frequently, many process components need to be adapted to the organization or project needs, a complex task because the experience and knowledge required. Perform adaptation in an inappropriate way is prone to error due to the difficulties for taking tailoring decisions. The paper goal is proposing a canonical software processes family based on the Unified Process to support software process tailoring. Our methodology was based on the meta-process CASPER to build a software process family and we use the Case Study method as a strategy for validating the canonical process family empirically. As a result, we show a canonical software processes family, which will serve as a platform for determining a process family based on Unified process in a small software organization. This canonical family has the advantage that uses a tailoring mechanism following a transformation strategy that encapsulates tailoring decisions in order to systematize this activity. In this work, we show the initial results in the applicability of a canonical software process family as base in the building the software process families based on UP in the small companies context, and also we conclude that the UP is a process framework with spread spectrum, which limited its formulation like a general software process family, due to that a process family requires determining carefully the application domain known as software process family scop

    Supporting the tailoring of the product owner role to hybrid development environments

    Get PDF
    Product Owners have an important role in the agile software development process. While the description of the Product Owner role heavily depends on its particular agile framework, the application of a single development framework is seldom in practice. In fact, customized hybrid development approaches, where frameworks/methods are tailored or combined with others, are state of the art. Although it is common knowledge that processes need to be tailored to project needs, as they become, otherwise, a project risk - the tailoring of the Product Owner role has been neglected in research so far. Consequently, there is a lack of knowledge about how to tailor the Product Owner role to hybrid development environments. As this knowledge gap can put projects in a hybrid environment to a risk, the goal of this thesis is to close this gap. To achieve this, a knowledge-base of Product Owner peculiarities needs to be established and consolidated with knowledge from the area of Software Process Tailoring. To generate the knowledge-base of the Product Owner peculiarities, a number of case studies as well as a systematic mapping study was conducted to identify Product Owner tasks, characteristics and structures in hybrid development environments. This resulted in the identification of 13 frequently conducted tasks, 6 favorable characteristics and 12 different structures of Product Owners that apply in hybrid development environments. From the area of Software Process Tailoring, 14 influencing factors on the Product Owner role were extracted along with its respective action items. The consolidation of this knowledge results in a catalog which combines the influencing factors, the Product Owner tasks, characteristics & structures as well as the respective implications on the Product Owner role according to the research results of this thesis. Based on this catalog, any project environment can be assessed and distinct recommendations for a tailored Product Owner role can be deduced. Overall, this thesis generated 84 different recommendations on how to tailor the Product Owner role to a particular hybrid development. With this, so far missing knowledge was gained to systematically support the tailoring of the Product Owner role to hybrid development environments and thus, to support projects to complete successfully. To share the gained knowledge to other researchers as well as practitioners, this thesis also provides an expert system in the form of a proof of concept web-application. The so-called Hybrid Product Owner (short: HyPrO) Expert System represents the research results of this thesis. Its user-friendly interface enables the user to assess the project environment and displays the respective recommendations. The HyPrO Expert System validated the results of this thesis, as it surpassed human experts by providing more comprehensive recommendations in a comparative case study

    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

    Software development: A paradigm for the future

    Get PDF
    A new paradigm for software development that treats software development as an experimental activity is presented. It provides built-in mechanisms for learning how to develop software better and reusing previous experience in the forms of knowledge, processes, and products. It uses models and measures to aid in the tasks of characterization, evaluation and motivation. An organization scheme is proposed for separating the project-specific focus from the organization's learning and reuse focuses of software development. The implications of this approach for corporations, research and education are discussed and some research activities currently underway at the University of Maryland that support this approach are presented

    Naming the Pain in Requirements Engineering: A Design for a Global Family of Surveys and First Results from Germany

    Get PDF
    For many years, we have observed industry struggling in defining a high quality requirements engineering (RE) and researchers trying to understand industrial expectations and problems. Although we are investigating the discipline with a plethora of empirical studies, they still do not allow for empirical generalisations. To lay an empirical and externally valid foundation about the state of the practice in RE, we aim at a series of open and reproducible surveys that allow us to steer future research in a problem-driven manner. We designed a globally distributed family of surveys in joint collaborations with different researchers and completed the first run in Germany. The instrument is based on a theory in the form of a set of hypotheses inferred from our experiences and available studies. We test each hypothesis in our theory and identify further candidates to extend the theory by correlation and Grounded Theory analysis. In this article, we report on the design of the family of surveys, its underlying theory, and the full results obtained from Germany with participants from 58 companies. The results reveal, for example, a tendency to improve RE via internally defined qualitative methods rather than relying on normative approaches like CMMI. We also discovered various RE problems that are statistically significant in practice. For instance, we could corroborate communication flaws or moving targets as problems in practice. Our results are not yet fully representative but already give first insights into current practices and problems in RE, and they allow us to draw lessons learnt for future replications. Our results obtained from this first run in Germany make us confident that the survey design and instrument are well-suited to be replicated and, thereby, to create a generalisable empirical basis of RE in practice

    Influential factors of aligning Spotify squads in mission-critical and offshore projects – a longitudinal embedded case study

    Get PDF
    Changing the development process of an organization is one of the toughest and riskiest decisions. This is particularly true if the known experiences and practices of the new considered ways of working are relative and subject to contextual assumptions. Spotify engineering culture is deemed as a new agile software development method which increasingly attracts large-scale organizations. The method relies on several small cross-functional self-organized teams (i.e., squads). The squad autonomy is a key driver in Spotify method, where a squad decides what to do and how to do it. To enable effective squad autonomy, each squad shall be aligned with a mission, strategy, short-term goals and other squads. Since a little known about Spotify method, there is a need to answer the question of: How can organizations work out and maintain the alignment to enable loosely coupled and tightly aligned squads? In this paper, we identify factors to support the alignment that is actually performed in practice but have never been discussed before in terms of Spotify method. We also present Spotify Tailoring by highlighting the modified and newly introduced processes to the method. Our work is based on a longitudinal embedded case study which was conducted in a real-world large-scale offshore software intensive organization that maintains mission-critical systems. According to the confidentiality agreement by the organization in question, we are not allowed to reveal a detailed description of the features of the explored project

    Spotify tailoring for promoting effectiveness in cross-functional autonomous squads

    Get PDF
    Organisations tend to tailor agile methods to scale employed practices to have cross-functional autonomous teams while promoting sustainable creative and productive development at a constant pace. Thus, it is important to investigate how organisations tailor agile practices to get the balance right between teams' autonomy and alignment. Spotify model is originally introduced to facilitate the development of music streaming services in a very large-scale project with a Business-to-Consumer (B2C) model. However, developing a large-scale mission-critical project with a Business-to-Business (B2B) model is not essentially supported by the Spotify model. Thus, embracing Spotify model for such projects should be concerned about the question of how Spotify practices are adjusted to promote the effectiveness of cross-functional autonomous squads in a mission-critical project with B2B model? In this paper, we conduct a longitudinal embedded case study, which lasted 21 months during which 14 semi-structured interviews were conducted. The Grounded Theory (GT) is adopted to analyse the collected data. As a result, we identify practices and processes that promote effectiveness in cross-functional autonomous squads, which have never been discussed in terms of Spotify model before. We also present Spotify Tailoring by highlighting modified and newly introduced practices by the organisation in which the case study was conducted
    • …
    corecore