42,883 research outputs found

    Project Management Tools in Agile Embedded Systems Development

    Get PDF
    Agile methods have become increasingly popular in the field of software engineering. While agile methods are now generally considered applicable to software projects of many different kinds, they have not been widely adopted in embedded systems development. This is partly due to the natural constraints that are present in embedded systems development (e.g. hardware–software interdependencies) that challenge the utilization of agile values, principles and practices. The research in agile embedded systems development has been very limited, and this thesis tackles an even less researched theme related to it: the suitability of different project management tools in agile embedded systems development. The thesis covers the basic aspects of many different agile tool types from physical tools, such as task boards and cards, to web-based agile tools that offer all-round solutions for application lifecycle management. In addition to these two extremities, there is also a wide range of lighter agile tools that focus on the core agile practices, such as backlog management. Also other non-agile tools, such as bug trackers, can be used to support agile development, for instance, with plug-ins. To investigate the special tool requirements in agile embedded development, the author observed tool related issues and solutions in a case study involving three different companies operating in the field of embedded systems development. All three companies had a distinct situation in the beginning of the case and thus the tool solutions varied from a backlog spreadsheet built from scratch to plug-in development for an already existing agile software tool. Detailed reports are presented of all three tool cases. Based on the knowledge gathered from agile tools and the case study experiences, it is concluded that there are tool related issues in the pilot phase, such as backlog management and user motivation. These can be overcome in various ways epending on the type of a team in question. Finally, five principles are formed to give guidelines for tool selection and usage in agile embedded systems development.Siirretty Doriast

    Work-in-Progress - AgiES: Agile Methods for Embedded System Development

    Get PDF
    AgiES project aims to develop and utilize agile methods for the development of embedded systems covering all of its parts such as electronic hardware, hardware dependent software, and digital integrated circuit design. Agile philosophy is famous in the field of software engineering but rarely used in the development of embedded systems due to the more rigid nature of it. Our goal is to gather a toolbox of agile practices which may be adopted by teams developing embedded systems. These practices originate from principles presented in Agile Manifesto and they are said to improve development team productivity and well-being at work. Attention will be also paid into collaboration between agile and traditionally working teams as well as intointeraction between developers and customers

    Prototype test insertion co-processor for agile development in multi-threaded embedded environments

    Get PDF
    Agile methodologies have been shown useful in constructing Enterprise applications with a reduced level of defects in the released product. Movement of Agile processes into the embedded world is hindered by the lack of suitable tool support. For example, software instrumented test insertion methods to detect race condition in multithreaded programs have the potential to increase code size beyond the limited embedded system memory, and degrade performance to an extent that would impair the real-time characteristics of the system. We propose a FPGA-based, hardware assisted, test insertion co-processor for embedded systems which introduces low additional system overhead and incurs minimal code size increase. In this preliminary study, we compare the ideal characteristics of a FPGA-based test insertion co-processor with our initial prototype and other proposed hardware assisted test insertion approaches

    The Vortex of Continuous Development of Embedded Systems: An Inquiry into Agility Orchestration

    Get PDF
    Agile methodologies have become a popular and widely accepted method for managing software development. Since the inception of the Agile Manifesto over ten years ago, agile development techniques have superseded waterfall methods in many, if not most, software development organizations. Despite its apparent success, many companies have struggled with the adoption and implementation of agile, and exactly what level of adoption provides optimum agility. Agility is commonly held in the literature to be constructed of elements external to a company or project but may in fact be composed of both external and internal elements. The exact relationship of the adoption of agile development techniques and their relationship to the actual agility of a business remain unclear. A primary contributor to this uncertainty is the somewhat amorphous definition of agile itself. In academic literature, the concept is still relatively young and loosely defined. In practice, organizations have largely opted for a hybrid approach to agile, mixing its concepts and methods with existing Stage Gate or waterfall methodologies. This has made the management of agile even more complex. Crucially, there is no definition or criterion available to determine the appropriate mix of agile and waterfall processes in an embedded software development context nor is there a method to determine the impact of one against the other. These issues beg the question: how do organizations manage agility? This interpretive case study provides an empirical account of how stakeholders manage both market and process agility in an embedded systems context via a hybrid agility implementation and product genesis. As a result, we provide the notion of agile vorticity, as the point at which market and process agility collide to produce business momentum at a specific point of innovation within the agile business vortex

    Introducing Agile/DevSecOps into the Space Acquisition Environment

    Get PDF
    Excerpt from the Proceedings of the Nineteenth Annual Acquisition Research SymposiumThe University of Southern California (USC) and its Information Sciences Institute (USC-ISI) is undertaking research into improving the space-based systems acquisition process through the adoption of agile and DevSecOps methodologies. The USC-ISI team is currently undertaking research and systems engineering analysis to explore the mission engineering methods, analysis, metrics and training needed to transition from a traditional DoDI 5000.02 waterfall development environment to an agile/DevSecOps space systems acquisition environment. Over the past several years, the project team has been embedded at the U.S. Space Force’s Space Systems Command, Production Corps (SSC/PC), developing performance measuring tools, collecting performance metrics and providing subject matter expertise on three projects – a traditional waterfall project, a hybrid parallel waterfall and agile development project and an on-going long-term highly agile development effort that is subject to traditional waterfall acquisition reporting requirements. This paper summarizes initial research results and lessons learned along with a discussion on next steps.Approved for public release; distribution is unlimited

    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

    A Platform-Based Software Design Methodology for Embedded Control Systems: An Agile Toolkit

    No full text
    A discrete control system, with stringent hardware constraints, is effectively an embedded real-time system and hence requires a rigorous methodology to develop the software involved. The development methodology proposed in this paper adapts agile principles and patterns to support the building of embedded control systems, focusing on the issues relating to a system's constraints and safety. Strong unit testing, to ensure correctness, including the satisfaction of timing constraints, is the foundation of the proposed methodology. A platform-based design approach is used to balance costs and time-to-market in relation to performance and functionality constraints. It is concluded that the proposed methodology significantly reduces design time and costs, as well as leading to better software modularity and reliability

    Safety-Critical Systems and Agile Development: A Mapping Study

    Full text link
    In the last decades, agile methods had a huge impact on how software is developed. In many cases, this has led to significant benefits, such as quality and speed of software deliveries to customers. However, safety-critical systems have widely been dismissed from benefiting from agile methods. Products that include safety critical aspects are therefore faced with a situation in which the development of safety-critical parts can significantly limit the potential speed-up through agile methods, for the full product, but also in the non-safety critical parts. For such products, the ability to develop safety-critical software in an agile way will generate a competitive advantage. In order to enable future research in this important area, we present in this paper a mapping of the current state of practice based on {a mixed method approach}. Starting from a workshop with experts from six large Swedish product development companies we develop a lens for our analysis. We then present a systematic mapping study on safety-critical systems and agile development through this lens in order to map potential benefits, challenges, and solution candidates for guiding future research.Comment: Accepted at Euromicro Conf. on Software Engineering and Advanced Applications 2018, Prague, Czech Republi

    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
    corecore