13,775 research outputs found

    Changing situational contexts present a constant challenge to software developers.

    Get PDF
    A software process can take many forms and its optimality demands that it should be harmonised with the needs of the given software development situational context. This theoretical proposition is reasonably clear. However, the finer details of the interaction between the software process and the factors of the situational context are much less obvious. In previously published research, the authors have elaborated a reference framework that identifies the factors of a situational context that affect the software process [1]. In this paper, we report on the application of our reference framework in an examination of the changing nature of software development situational contexts. Our corresponding study of fifteen software development companies indicates that certain factors appear more subject to change than others. This finding is a potentially important insight that can help us with the recurring challenge of adapting the software process to changing circumstances

    A Conceptual Model of Client-driven Agile Requirements Prioritization: Results of a Case Study

    Get PDF
    ABSTRACT Requirements (re)prioritization is an essential mechanism of agile development approaches to maximize the value for the clients and to accommodate changing requirements. Yet, in the agile Requirements Engineering (RE) literature, very little is known about how agile (re)prioritization happens in practice. Conceptual models about this process are missing, which, in turn, makes it difficult for both practitioners and researchers to reason about requirements decision-making at inter-iteration time. We did a multiple case study on agile requirements prioritization methods to yield a conceptual model for understanding the inter-iteration prioritization process. The model is derived by using interview data from practitioners in 8 development organizations. Such a model makes explicit the concepts that are used tacitly in the agile requirements prioritization practice and can be used for structuring future empirical investigations about this topic, and for analyzing, supporting, and improving the process in real-life projects

    The changing role of the software engineer

    Get PDF
    In this paper we will discuss the changing role of a software engineer. We will examine this from four major standpoints, the software development life cycle, the influence of open source software, testing and deployment and the emergence of new technologies. We will first analyze what the role of a software engineer was in the past. We will examine limitations associated with software development life cycle models, and software failures that catalyzed increased importance for quality assurance. We then outline the current role of a software engineer. We discuss the impact of agile software development and automation on the software development cycle, the influence of open source software and how new technologies such as Function-as-a-Service and machine learning may impacted the role. Based on our research, we analyze why the software engineer role has changed and postulate prospective changes to the role of software engineer, and in particular how new responsibilities may affect the day to day work of future software engineers. We ultimately find that the role of a “software engineer” is nowadays widely varied and very broad, and it only generally indicates the type of work that the software engineer may undertake

    Managing Evolutionary Method Engineering by Method Rationale

    Get PDF
    This paper explores how to integrate formal meta-models with an informal method rationale to support evolutionary (continuous) method development. While the former provides an exact and computer-executable specification of a method, the latter enables concurrent learning, expansion, and refinement of method use (instances of meta-models) and meta-models (evolution of method specifications). We explain the need for method rationale by observing the criticality of evolving method knowledge in helping software organizations to learn, as well as by the recurrent failure to introduce rigid and stable methods. Like a design rationale, a method rationale establishes a systematic and organized trace of method evolution. Method rationale is located at two levels of type-instance hierarchy depending on its type of use and the scope of the changes traced. A method construction rationale garners a history of method knowledge evolution as part of the method engineering process, which designs and adapts the method to a given organizational context. A method use rationale maintains knowledge of concrete use contexts and their history and justifies further method deployment in alternative contexts, reveals limitations in its past use, and enables sharing of method use experience. The paper suggests how a method rationale helps share knowledge of methods between method users and engineers, explores how method engineers coordinate the evolution of the existing method base through it, and suggests ways to improve learning through method rationale

    Refactoring software development process terminology through the use of ontology

    Get PDF
    In work that is ongoing, the authors are examining the extent of software development process terminology drift. Initial findings suggest there is a degree of term confusion, with the mapping of concepts to terms lacking precision in some instances. Ontologies are concerned with identifying the concepts of relevance to a field of endeavour and mapping those concepts to terms such that term confusion is reduced. In this paper, we discuss how ontologies are developed. We also identify various sources of software process terminology. Our work to date indicates that the systematic development of a software development process ontology would be of benefit to the entire software development community. The development of such an ontology would in effect represent a systematic refactoring of the terminology and concepts produced over four decades of software process innovation

    Blinded by Simplicity: Locating the Social Dimension in Software Development Process Literature

    Get PDF
    The software development process is a complex human, intellectual and labor-intensive activity and human related factors have shown to be the most significant contributors to software system failures. Lacking the ability to identify or quantify these factors, software practitioners will not learn from the failures caused by them. Although, social factors give rise to high failure rates in software development projects they tend to be ignored. Business continues as usual. The inability for software engineers to attain a holistic and inclusive approach will leave the social dimension out and undermine the realization of a fully sustainable software development process.This paper builds on the master’s thesis with the same title completed in December 2019 at Stockholm University. The thesis demonstrates how research literature on software development processes addresses (or not) the social dimension of sustainability from a holistic point of view. The results indicate that the practice of dealing holistically with complexity including the social dimension is still underdeveloped. Further research is suggested regarding the development of adequate supporting tools, social skills, and managerial attitudes and behaviors

    Refactoring software development process terminology through the use of ontology

    Get PDF
    peer-reviewedIn work that is ongoing, the authors are examining the extent of software development process terminology drift. Initial findings suggest there is a degree of term confusion, with the mapping of concepts to terms lacking precision in some instances. Ontologies are concerned with identifying the concepts of relevance to a field of endeavour and mapping those concepts to terms such that term confusion is reduced. In this paper, we discuss how ontologies are developed. We also identify various sources of software process terminology. Our work to date indicates that the systematic development of a software development process ontology would be of benefit to the entire software development community. The development of such an ontology would in effect represent a systematic refactoring of the terminology and concepts produced over four decades of software process innovation

    PRIMA — Privacy research through the perspective of a multidisciplinary mash up

    Get PDF
    Based on a summary description of privacy protection research within three fields of inquiry, viz. social sciences, legal science, and computer and systems sciences, we discuss multidisciplinary approaches with regard to the difficulties and the risks that they entail as well as their possible advantages. The latter include the identification of relevant perspectives of privacy, increased expressiveness in the formulation of research goals, opportunities for improved research methods, and a boost in the utility of invested research efforts
    • 

    corecore