46,920 research outputs found

    Requirements Engineering that Balances Agility of Teams and System-level Information Needs at Scale

    Get PDF
    Context: Motivated by their success in software development, large-scale systems development companies are increasingly adopting agile methods and their practices. Such companies need to accommodate different development cycles of hardware and software and are usually subject to regulation and safety concerns. Also, for such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: The overall aim of this thesis is to investigate the challenges and solution candidates of performing effective requirements engineering in an agile environment, based on empirical evidence. Illustrated with studies on safety and system-level information needs, we explore RE challenges and solutions in large-scale agile development, both in general and from the teams’ perspectives. Method: To meet our aim, we performed a secondary study and a series of empirical studies based on case studies. We collected qualitative data using interviews, focus groups and workshops to derive challenges and potential solutions from industry. Findings: Our findings show that there are numerous challenges of conducting requirements engineering in agile development especially where systems development is concerned. The challenges discovered sprout from an integration problem of working with agile methods while relying on established plan-driven processes for the overall system. We highlight the communication challenge of crossing the boundary of agile methods and system-level (or plan-driven) development, which also proves the coexistence of both methods. Conclusions: Our results highlight the painful areas of requirements engineering in agile development and propose solutions that can be explored further. This thesis contributes to future research, by establishing a holistic map of challenges and candidate solutions that can be further developed to make RE more efficient within agile environments

    Requirements engineering challenges and practices in large-scale agile system development

    Get PDF
    Context: Agile methods have become mainstream even in large-scale systems engineering companies that need to accommodate different development cycles of hardware and software. For such companies, requirements engineering is an essential activity that involves upfront and detailed analysis which can be at odds with agile development methods. Objective: This paper presents a multiple case study with seven large-scale systems companies, reporting their challenges, together with best practices from industry. We also analyze literature about two popular large-scale agile frameworks, SAFe (R) and LeSS, to derive potential solutions for the challenges. Methods: Our results are based on 20 qualitative interviews, five focus groups, and eight cross company workshops which we used to both collect and validate our results. Results: We found 24 challenges which we grouped in six themes, then mapped to solutions from SAFe (R), LeSS, and our companies, when available. Conclusion: In this way, we contribute a comprehensive overview of RE challenges in relation to largescale agile system development, evaluate the degree to which they have been addressed, and outline research gaps. We expect these results to be useful for practitioners who are responsible for designing processes, methods, or tools for large scale agile development as well as guidance for researchers

    Managing Human Factors and Requirements in Agile Development of Automated Vehicles: An Exploration

    Get PDF
    Context: Automated Vehicle (AV) technology has evolved significantly incomplexity and impact; it is expected to ultimately change urban transporta-tion. However, research shows that vehicle automation can only live up to thisexpectation if it is defined with human capabilities and limitations in mind.Therefore, it is necessary to bring human factors knowledge to AV developers.Objective: This thesis aims to empirically study how we can effectivelybring the required human factors knowledge into large-scale agile AV develop-ment. The research goals are 1) to explore requirements engineering and humanfactors in agile AV development, 2) to investigate the problems of requirementsengineering, human factors, and agile way of working in AV development, and3) to demonstrate initial solutions to existing problems in agile AV development.Method: We conducted this research in close collaboration with industry,using different empirical methodologies to collect data—including interviews,workshops, and document analysis. To gain in-depth insights, we did a qualita-tive exploratory study to investigate the problem and used a design scienceapproach to develop initial solution in several iterations.Findings and Conclusions: We found that applying human factorsknowledge effectively is one of the key problem areas that need to be solved inagile development of artificial intelligence (AI)-intense systems. This motivatedus to do an in-depth interview study on how to manage human factors knowl-edge during AV development. From our data, we derived a working definitionof human factors for AV development, discovered the relevant properties ofagile and human factors, and defined implications for agile ways of working,managing human factors knowledge, and managing requirements. The designscience approach allowed us to identify challenges related to agile requirementsengineering in three case companies in iterations. Based on these three casestudies, we developed a solution strategy to resolve the RE challenges in agileAV development. Moreover, we derived building blocks and described guide-lines for the creation of a requirements strategy, which should describe howrequirements are structured, how work is organized, and how RE is integratedinto the agile work and feature flow.Future Outlook: In future work, I plan to define a concrete requirementstrategy for human factors knowledge in large-scale agile AV development.It could help establishing clear communication channels and practices forincorporating explicit human factors knowledge into AI-based large-scale agileAV development

    Strategic project management approach to the study of large-scale software development using system dynamics

    Get PDF
    Thesis (S.M.)--Massachusetts Institute of Technology, Engineering Systems Division, 2012.Cataloged from PDF version of thesis.Includes bibliographical references (p. 122-123).Large-scale software engineering organizations have traditionally used plan-driven, heavyweight, waterfall-style approaches for the planning, execution, and monitoring of software development efforts. This approach often results in relatively long development schedules that are susceptible to failure, especially in a rapidly changing environment: Schedule pressure, defects and requirements changes, can drive endless redesign, delay the project, and incur extra cost. Many in the commercial software world have dealt with these pressures by adopting Agile Software Development, an approach designed to be flexible and responsive to high-change environments. Software development teams that are said to employ "Agile development" in effect practice a variety of "agile methods". These practices are advertised to reduce coordination costs, to focus teams, and to produce stable product iterations that can be released incrementally. Agile software development has become a de-facto approach to the engineering of software systems in the commercial world, and is now entering the aerospace and defense sectors. The APD model developed in this research aids in the understanding of the impact that alternative combinations of Agile practices, combined with different management policies, have on project performance, compared to a waterfall approach. This research culminates in a formulation of insights and recommendations for how to integrate Agile practices into a large-scale software engineering organization.by Firas Glaiel.S.M

    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

    Agile development for a multi-disciplinary bicycle stability test bench

    Get PDF
    Agile software development methods are used extensively in the software industry. This paper describes an argument to explain why these methods can be used within a multi-disciplinary project and provides a concrete description on how to implement such a method, using a case-study to support the rationale. The SOFIE (Intelligent Assisted Bicycle) project was created to develop mechatronic appliances to make bicycles more stable, i.e. safer. A bicycle stability test bench is created within this project and is used as the case study for this research. The relative complexity of the test bench development and partner structure within the SOFIE project has many similarities with large-scale complex projects found in industry. Thus it provides a good environment to research the application of Agile software methods to a multi-disciplinary project

    The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development

    Get PDF
    With the general trend towards data-driven decision making (DDDM), organizations are looking for ways to use DDDM to improve their decisions. However, few studies have looked into the practitioners view of DDDM, in particular for agile organizations. In this paper we investigated the experiences of using DDDM, and how data can improve decision making. An emailed questionnaire was sent out to 124 industry practitioners in agile software developing companies, of which 84 answered. The results show that few practitioners indicated a widespread use of DDDM in their current decision making practices. The practitioners were more positive to its future use for higher-level and more general decision making, fairly positive to its use for requirements elicitation and prioritization decisions, while being less positive to its future use at the team level. The practitioners do see a lot of potential for DDDM in an agile context; however, currently unfulfilled

    Incorporating Agile with MDA Case Study: Online Polling System

    Full text link
    Nowadays agile software development is used in greater extend but for small organizations only, whereas MDA is suitable for large organizations but yet not standardized. In this paper the pros and cons of Model Driven Architecture (MDA) and Extreme programming have been discussed. As both of them have some limitations and cannot be used in both large scale and small scale organizations a new architecture has been proposed. In this model it is tried to opt the advantages and important values to overcome the limitations of both the software development procedures. In support to the proposed architecture the implementation of it on Online Polling System has been discussed and all the phases of software development have been explained.Comment: 14 pages,1 Figure,1 Tabl
    • …
    corecore