299,956 research outputs found

    The dimensions of software engineering success

    Get PDF
    Software engineering research and practice are hampered by the lack of a well-understood, top-level dependent variable. Recent initiatives on General Theory of Software Engineering suggest a multifaceted variable – Software Engineering Success. However, its exact dimensions are unknown. This paper investigates the dimensions (not causes) of software engineering success. An interdisciplinary sample of 191 design professionals (68 in the software industry) were interviewed concerning their perceptions of success. Non-software designers (e.g. architects) were included to increase the breadth of ideas and facilitate comparative analysis. Transcripts were subjected to supervised, semi-automated semantic content analysis, including a software developer vs. other professionals comparison. Findings suggest that participants view their work as time-constrained projects with explicit clients and other stakeholders. Success depends on stakeholder impacts – financial, social, physical and emotional – and is understood through feedback. Concern with meeting explicit requirements is peculiar to software engineering and design is not equated with aesthetics in many other fields. Software engineering success is a complex multifaceted variable, which cannot sufficiently be explained by traditional dimensions including user satisfaction, profitability or meeting requirements, budgets and schedules. A proto-theory of success is proposed, which models success as the net impact on a particular stakeholder at a particular time. Stakeholder impacts are driven by project efficiency, artifact quality and market performance. Success is not additive, e.g., ‘low’ success for clients does not average with ‘high’ success for developers to make ‘moderate’ success overall; rather, a project may be simultaneously successful and unsuccessful from different perspectives

    Diabetes Tracker and Volunteer+ Software Engineering for Sustainability

    Get PDF
    In a world where sustainability is increasingly important, we must look for ways to promote it; the Sustainable Development Goals (SDGs) fulfill this function. In software engineering, one of the main challenges for the success of a software solution is to achieve sustainability. This chapter introduces the development of two mobile applications on Android: Diabetes Tracker and Volunteer+ that are inspired by the SDGs, incorporating the principles and dimensions of the Karlskrona Manifesto in relation to the software development phases. In this investigation, a customized adaptation of the Scrum agile methodology was used, with a concern to promote software engineering for sustainability. To achieve this end, an iterative approach is used, allowing the principles of the manifesto to be crossed to emphasize the various dimensions of sustainability. The main results can be seen in the applications developed, specifically to facilitate the control of the diabetes disease and promote quality health, as well as enhance the participation of citizens by promoting volunteering

    An investigation into the notion of non-functional requirements

    Full text link
    Although Non-Functional Requirements (NFRs) are recognized as very important contributors to the success of software projects, studies to date indicate that there is still no general consensus in the software engineering community regarding the notion of NFRs. This paper presents the result of an extensive and systematic analysis of the extant literature over three NFRs dimensions: (1) definition and terminology; (2) types; and (3) relevant NFRs in various types of systems and application domains. Two different perspectives to consider NFRs are described. A comprehensive catalogue of NFRs types as well as the top five NFRs that are frequently considered are presented. This paper also offers a novel classification of NFRs based on types of systems and application domains. This classification could assist software developers in identifying which NFRs are important in a particular application domain and for specific systems. © 2010 ACM

    ‘Computing’ Requirements in Open Source Software Projects

    Get PDF
    Due to high dissimilarity with traditional software development, Requirements Engineering (RE) in Open Source Software (OSS) remains poorly understood, despite the visible success of many OSS projects. In this study, we approach OSS RE as a sociotechnical and distributed cognitive activity where multiple actors deploy heterogeneous artifacts to ‘compute’ requirements as to reach a collectively-held understanding of what the software is going to do. We conduct a case study of a popular OSS project, Rubinius (a Ruby programming language runtime environment). Specifically, we investigate the ways in which this project exhibits distribution of cognitive efforts along social, structural, and temporal dimensions and how its requirements computation takes place accordingly. In particular, we seek to generalize to a theoretical framework that explains how three temporally-ordered processes of distributed cognition in OSS projects, denoted excavation, instantiation, and testing-in-the-wild, tie together to form a powerful distributed computational structure to manage requirements

    Culture dimensions in software development industry: The effects of mentoring

    Get PDF
    Software development is a human centric and sociotechnical activity and like all human activities is influenced by cultural factors. However, software engineering is being further affected because of the globalization in software development. As a result, cultural diversity is influencing software development and its outcomes. The software engineering industry, a very intensive industry regarding human capital, is facing a new era in which software development personnel must adapt to multicultural work environments. Today, many organizations present a multicultural workforce which needs to be managed. This paper analyzes the influence of culture on mentoring relationships within the software engineering industry. Two interesting findings can be concluded from our study: (1) cultural differences affect both formal and informal mentoring, and (2) technical competences are not improved when implementing mentoring relationships

    Conversion Casting From A36 Steel to Grey Iron

    Get PDF
    Conversion castings are used in manufacturing to reduce time and costs of the production of machined parts. This project incorporated a machined production component from a local manufacturer and designed and produced an equivalent component using the casting process. The casting material chosen needed to be able to withstand all tension and compression forces when the component is used in service along with locations and dimensions of holes needed to be in accordance with all specified tolerances. The casting design process had to account for draft issues, shrinkage during material solidification, porosity and internal cavities formed during solidification, and overall optimization of material used for the casting process. The use of computer simulated solidification software aided in the design of runner and gating dimensions as well as predetermining significant problem areas for porosity and internal cavities within the castings. The manufacture of the mold pattern and core boxes was completed using the additive manufacturing process of three dimensional printing. Using this process eliminates the use of any machining processes for the manufacture of the casting along with significantly reducing the amount of man hours for fabrication. The patterns were made as well as the castings poured at Central Washington University using the 3-D printers and the foundry located in the engineering building. Success of this project will be determined through comparison of all dimensions to the current machined components and performance testing when put into service.https://digitalcommons.cwu.edu/cwu_met/1018/thumbnail.jp

    Requirements: The Key to Sustainability

    Get PDF
    Software's critical role in society demands a paradigm shift in the software engineering mind-set. This shift's focus begins in requirements engineering. This article is part of a special issue on the Future of Software Engineering

    Creating Responsive Information Systems with the Help of SSADM

    Get PDF
    In this paper, a program for a research is outlined. Firstly, the concept of responsive information systems is defined and then the notion of the capacity planning and software performance engineering is clarified. Secondly, the purpose of the proposed methodology of capacity planning, the interface to information systems analysis and development methodologies (SSADM), the advantage of knowledge-based approach is discussed. The interfaces to CASE tools more precisely to data dictionaries or repositories (IRDS) are examined in the context of a certain systems analysis and design methodology (e.g. SSADM)
    corecore