54,401 research outputs found

    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

    Examining Organizational Implications of Innovations in Software Development: Agile and Simulation

    Get PDF
    Software development is a complex process involving stakeholders with divergent perspectives, skills, and responsibilities who must work together to create a software product of high quality. Problems such as miscommunications and misunderstandings among project stakeholders, especially between the IS and business functions, exist in software development. To help address these issues, innovative methods are being increasingly adopted such as the Agile software development methodology and software simulation. These two methods share the same goal of bringing stakeholders together to establish a common understanding so that the system can be built quicker and better than with traditional approaches. This dissertation, which consists of two essays, focuses on these two innovative methods of software development – Agile methodology and software simulation – and examines how they can be best applied and under what conditions they lead to positive outcomes. The first essay studies the introduction of the Agile methodology in a company steeped in the traditional Waterfall software development method. The essay reports on how the Agile methodology was integrated with the traditional software development process including an in-depth analysis of the organizational and project controller-controlee relationships before and after the Agile methodology implementation. We find that outcome control, which was the predominant control mechanism, used in the company’s Waterfall development process, gave way to a hybrid control mechanism that possesses attributes of emergent control while maintaining vestiges of some Waterfall-like outcome control mechanisms. In addition, we find that the IS function must relinquish some influence over software development resources with the introduction of the Agile method. Lessons learned from this case study point to the complexity of designing organizational and project control mechanisms during the transition from the Waterfall to an Agile approach.As much as innovations in software development methods improve the software creation process, the risk of failing to create a quality software product are heightened when requirements are misinterpreted. Recent innovations in requirements simulations provide stakeholders with an opportunity to see realistic simulations of the system before it is built to quickly reach a common understanding of the requirements. Hence, the second essay empirically examines how the use of software simulations with various degrees of realism can help mitigate project requirements risk including project novelty, data interdependence, system interdependence, requirements instability, and requirements diversity, leading to higher software product quality. Results suggest that simulation realism partially mediates the relationship between project requirement risk and software product quality indicating the importance of investing in highly realistic simulations in software project requirement risk mitigation.Overall, this dissertation sheds light on how software development managers can employ innovative methods such as an Agile method and software simulation to bring greater stakeholders unity and produce higher quality software products

    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

    Artefacts and agile method tailoring in large-scale offshore software development programmes

    Get PDF
    Context: Large-scale offshore software development programmes are complex, with challenging deadlines and a high risk of failure. Agile methods are being adopted, despite the challenges of coordinating multiple development teams. Agile processes are tailored to support team coordination. Artefacts are tangible products of the software development process, intended to ensure consistency in the approach of teams on the same development programme. Objective: This study aims to increase understanding of how development processes are tailored to meet the needs of large-scale offshore software development programmes, by focusing on artefact inventories used in the development process. Method: A grounded theory approach using 46 practitioner interviews, supplemented with documentary sources and observations, in nine international companies was adopted. The grounded theory concepts of open coding, memoing, constant comparison and saturation were used in data analysis. Results: The study has identified 25 artefacts, organised into five categories: feature, sprint, release, product and corporate governance. It was discovered that conventional agile artefacts are enriched with artefacts associated with plan-based methods in order to provide governance. The empirical evidence collected in the study has been used to identify a primary owner of each artefact and map each artefact to specific activities within each of the agile roles. Conclusion: The development programmes in this study create agile and plan-based artefacts to improve compliance with enterprise quality standards and technology strategies, whilst also mitigating risk of failure. Management of these additional artefacts is currently improvised because agile development processes lack corresponding ceremonies

    Video Game Development in a Rush: A Survey of the Global Game Jam Participants

    Full text link
    Video game development is a complex endeavor, often involving complex software, large organizations, and aggressive release deadlines. Several studies have reported that periods of "crunch time" are prevalent in the video game industry, but there are few studies on the effects of time pressure. We conducted a survey with participants of the Global Game Jam (GGJ), a 48-hour hackathon. Based on 198 responses, the results suggest that: (1) iterative brainstorming is the most popular method for conceptualizing initial requirements; (2) continuous integration, minimum viable product, scope management, version control, and stand-up meetings are frequently applied development practices; (3) regular communication, internal playtesting, and dynamic and proactive planning are the most common quality assurance activities; and (4) familiarity with agile development has a weak correlation with perception of success in GGJ. We conclude that GGJ teams rely on ad hoc approaches to development and face-to-face communication, and recommend some complementary practices with limited overhead. Furthermore, as our findings are similar to recommendations for software startups, we posit that game jams and the startup scene share contextual similarities. Finally, we discuss the drawbacks of systemic "crunch time" and argue that game jam organizers are in a good position to problematize the phenomenon.Comment: Accepted for publication in IEEE Transactions on Game

    The Perceived Impact of the Agile Development and Project Management Method Scrum on Information Systems and Software Development Productivity

    Get PDF
    This research contributes to the body of knowledge in information systems development (ISD) with an empirical investigation in form of a case study that demonstrates the positive impact of the agile development and project management method Scrum on information systems and software development productivity and it provides a useful operationalization of the concept through seven identified indicators for productivity. Despite the fact that the case unit had challenges with the use of Scrum, the indicators identified the areas where the company had managed to exploit the potential of Scrum and its practices with regard to increasing productivity. The research results are discussed both with regard to the existing Scrum literature as well as to complex adaptive systems (CAS) as a foundation for ISD and agile development

    Agile Succes Factors : a qualitative study about what makes agile projects successful

    Get PDF
    Various studies show great improvements in software projects when agile software development is applied. However, there are still remaining problems and there are also reports about project failures in the agile community. This raises the question of what factors distinguish successful agile software projects and teams from less successful ones? The authors of the Swiss Agile Study wanted to shed some light on these questions. We conducted a qualitative interview study with eight successful agile IT companies. We asked them about the essential success factors in their agile projects. The findings are divided into three different categories: Engineering practices, management practices and the values, or culture, they live. On the engineering level it was found that these companies apply many technical practices in a very disciplined way, with a strong emphasis on quality assuring practices like unit testing, continuous integration and automation, and clean coding. On the management level it was pointed out that clear requirements, which are verified and validated in very close collaboration with the customer, are essential. The same was true for very close communication within the team. The third aspect that was found, was that in each successful team there was a kind of Agile Champion who motivated and inspired the team to use agility. On the value level we found that successful agile teams live a culture of openness and transparency. They establish an agile culture at least on the team and organizational level (we found only one company who had established the agile method in the whole company). Third, they live an attitude of craftsmanship, being proud of their work and striving for high quality work. Finally we noticed, that while putting high emphasize on the above practices, mature agile teams start adapting these practices and the agile process to their needs, when they notice that some of the practices do not work or that following the recipe is insufficient. A constant probing, sensing and appropriate responding was observed. This is the typical pattern for moving forward in complex adaptive systems. Applying a sense-making methodology like the Cynefin framework, theoretically explains the observations in the present study. Companies should therefore be aware, that software projects are often located in the complex domain, i.e. can be modeled as complex adaptive systems. These kinds of problems rather require emergent practices instead of good or best practices and an understanding of the implications of complexity theory is of merit

    Using the Work and Organizational Psychology Perspective in Research on Agile Software Development Teams

    Get PDF
    Background: The development of software has gone from more strict plan-driven projects to involve more human interaction and communication due to approaches like agile software development. With the realization of the importance of psychological aspect comes the possibility of learning from other more established research fields instead of reinventing the wheel. Objective: In the field of work and organizational psychology there is an extensive body of knowledge of work-life in many different contexts. The objective of this thesis is to show some examples of how both methods and models from psychology research can be used in software engineering and specifically to understand agile software development teams. The selected models and tools were; new aspects of work motivation in agile teams in larger organizations, statistical tests of validation (factor analysis), and using the social psychology model of group development in connection to agile teams. Method: The appended papers consist of both exploratory, correlative and validation studies. The research methods range from interviews, focus groups, and survey data as well as qualitative and quantitative interpretations. Eight companies participated consisting of two European-based and six US-based organizations, and a total of 76 people participated in the studies. The data collection procedures were also diverse ranging from recorded in-person interviews and focus groups, to online surveys and remotely recorded phone interviews. Results: The analysis included thematic ditto of interview transcripts, correlation of variables in survey data, and statistical validation tests of a survey itself. Some studies used one research methodology while other triangulate the research question in order to increase the validity of the results. The results strongly indicate that many agile maturity models need more validation, that there are work motivational aspects of employees working on agile teams in a more traditional structure, and that the group development aspect of building agile teams contributes with concrete guidance on moving teams forward. Conclusions: We conclude that there are a set of useful methods and models in work and organizational psychology that are applicable, specifically, to the agile software development context of teams, but also, more generally to a larger perspective of software engineering that involves human factors. This thesis will hopefully convince researchers and practitioners of the usefulness of adding the psychological dimension when trying to understand such social and complex systems

    The Perceived Impact of the Agile Development and Project Management Method Scrum on Team Leadership in Information Systems Development

    Get PDF
    This research contributes to the body of knowledge in information systems development (ISD) with an empirical investigation in the form of a case study that demonstrates the positive impact of the agile development and project management method Scrum on team leadership in information systems and software development projects. It also provides a useful operationalization of the concept through six identified indicators for team leadership. Despite the fact that the case unit had challenges with the use of Scrum, the indicators identified the areas where the company had managed to exploit the potential of Scrum and its practices with regard to increasing team leadership. The research results are discussed with regard to the existing Scrum literature and briefly related to complex adaptive systems (CAS) as a foundation for ISD and agile developmen

    Techniques and Practices for Software Architecture Work in Agile Software Development

    Get PDF
    Since the publishing of Agile Manifesto in 2001, the agile software development has taken the world by storm. Agile software development does not emphasize the importance of software architecture, even though software architecture is often seen as a key factor for achieving the quality goals set for the software system. It has been even said that agile software development and software architecture are a clash of two cultures.In many software projects there is no need to consider software architecture anymore. For example, when designing a mobile application, the ecosystem forces the developer to use certain architecture style provided by the platform. In web development ready-made frameworks and project templates are available offering complete software architecture designs for the application developer.There are still domains and systems where careful architecture design is needed. When developing complex systems or systems with a long lifecycle, diligent software architecture design is a key to avoid massive rework during the development. It cannot be a coincidence that companies developing these kinds of systems struggle with agile software development the most.On the one hand, the goal of this thesis was to study software architecture practices used in agile software development in the industry. On the other hand, the goal was to develop new methods and techniques to support incremental software architecture working practices which can be aligned with agile methods such as Scrum. The study applied case study, interviews and design science as the main research methods.The results show that there are four main ways to carry out software architecture work while using agile methods. Basing on this result, models for aligning software architec-ture knowledge management were developed. These models can be used as guidelines for selecting the appropriate software architecture practices in an organization.As a part of the research work, an architecture knowledge repository was developed for sharing the knowledge in agile projects and for automatic software architecture document generation. Additionally, the results of this study show that by taking a decision-centric approach to software architecture evaluation, the evaluation method can be lightweight enough to make incremental evaluation a viable option. Similarly, existing software architecture evaluation methods can be boosted to fit agile software development by utilizing domain knowledge
    • …
    corecore