2,310 research outputs found

    Human Factors in Agile Software Development

    Full text link
    Through our four years experiments on students' Scrum based agile software development (ASD) process, we have gained deep understanding into the human factors of agile methodology. We designed an agile project management tool - the HASE collaboration development platform to support more than 400 students self-organized into 80 teams to practice ASD. In this thesis, Based on our experiments, simulations and analysis, we contributed a series of solutions and insights in this researches, including 1) a Goal Net based method to enhance goal and requirement management for ASD process, 2) a novel Simple Multi-Agent Real-Time (SMART) approach to enhance intelligent task allocation for ASD process, 3) a Fuzzy Cognitive Maps (FCMs) based method to enhance emotion and morale management for ASD process, 4) the first large scale in-depth empirical insights on human factors in ASD process which have not yet been well studied by existing research, and 5) the first to identify ASD process as a human-computation system that exploit human efforts to perform tasks that computers are not good at solving. On the other hand, computers can assist human decision making in the ASD process.Comment: Book Draf

    Communication Patterns and Strategies in Software Development Communities of Practice

    Get PDF
    Some of the greatest challenges in the relatively new field of software development lie in the decidedly old technology of communication between humans. Software projects require sophisticated and varied communication skills because software developers work in a world of incomplete, imperfect information where teams evolve rapidly in response to evolving requirements and changing collaborators. While prescriptive models for software process such as Agile suggest ways of doing, in reality these codified practices must adapt to the complexities of a real workplace. Patterns, rather than rules of behavior within software process are more suitable to the varied and mutable nature of software development. Software development communities are also learning communities, attempting to sustain themselves through internal ambiguity and external changes. We study different types of software development communities to fulfill our goal of understanding how these communities implement and evolve different communication strategies to sustain themselves through change. We observe student software development projects, open source software development, and a professional, rigorously Agile software development community. We employ Wenger\u27s concept of Community of Practice to frame our understanding, especially focusing on the notions of identity, participation, reification, negotiation of meaning and trajectory of the participants of the software development communities. From these different sources, we identify the emergent themes of mentoring and knowledge management as critical for sustainable communities. Through our long running, immersive, participant observer, ethnographic study of the Agile software development community, we contribute both a quantitative and qualitative analysis of the their communication practices and depict the evolving nature of their onboarding and mentoring strategies. We share our experience of implementing such an immersive industry ethnographic study. We employ a pattern language approach to capturing, analyzing and representing our results, thereby contributing and relating to the larger bodies of work in Scrum and Organizational Patterns. This work also informs our concurrent efforts to enhance our undergraduate computer science and software engineering curriculum, exposing students to the communication challenges of real software development and help them to develop skills to meet these challenges through practice in inquiry, critique and reflection

    Agile Processes in Software Engineering and Extreme Programming

    Get PDF
    This open access book constitutes the proceedings of the 21st International Conference on Agile Software Development, XP 2020, which was planned to be held during June 8-12, 2020, at the IT University of Copenhagen, Denmark. However, due to the COVID-19 pandemic the conference was postponed until an undetermined date. XP is the premier agile software development conference combining research and practice. It is a hybrid forum where agile researchers, academics, practitioners, thought leaders, coaches, and trainers get together to present and discuss their most recent innovations, research results, experiences, concerns, challenges, and trends. Following this history, for both researchers and seasoned practitioners XP 2020 provided an informal environment to network, share, and discover trends in Agile for the next 20 years. The 14 full and 2 short papers presented in this volume were carefully reviewed and selected from 37 submissions. They were organized in topical sections named: agile adoption; agile practices; large-scale agile; the business of agile; and agile and testing

    Learning Soft Skills through Distributed Software Development

    Get PDF

    Management Strategies for Adopting Agile Methods of Software Development in Distributed Teams

    Get PDF
    Between 2003 and 2015, more than 61% of U.S. software development teams failed to satisfy project requirements, budgets, or timelines. Failed projects cost the software industry an estimated 60 billion dollars. Lost opportunities and misused resources are often the result of software development leaders failing to implement appropriate methods for managing software projects. The purpose of this qualitative multiple case study was to explore strategies software development managers use in adopting Agile methodology in the context of distributed teams. The tenets of Agile approach are individual interaction over tools, working software over documentation, and collaboration over a contract. The conceptual framework for the study was adapting Agile development methodologies. The targeted population was software development managers of U.S.-based companies located in Northern California who had successfully adopted Agile methods for distributed teams. Data were collected through face-to-face interviews with 5 managers and a review of project-tracking documentation and tools. Data analysis included inductive coding of transcribed interviews and evaluation of secondary data to identify themes through methodological triangulation. Findings indicated that coaching and training of teams, incremental implementation of Agile processes, and proactive management of communication effectiveness are effective strategies for adopting Agile methodology in the context of distributed teams. Improving the efficacy of Agile adoption may translate to increased financial stability for software engineers across the world as well as accelerate the successful development of information systems, thereby enriching human lives

    Generative Artificial Intelligence for Software Engineering -- A Research Agenda

    Full text link
    Generative Artificial Intelligence (GenAI) tools have become increasingly prevalent in software development, offering assistance to various managerial and technical project activities. Notable examples of these tools include OpenAIs ChatGPT, GitHub Copilot, and Amazon CodeWhisperer. Although many recent publications have explored and evaluated the application of GenAI, a comprehensive understanding of the current development, applications, limitations, and open challenges remains unclear to many. Particularly, we do not have an overall picture of the current state of GenAI technology in practical software engineering usage scenarios. We conducted a literature review and focus groups for a duration of five months to develop a research agenda on GenAI for Software Engineering. We identified 78 open Research Questions (RQs) in 11 areas of Software Engineering. Our results show that it is possible to explore the adoption of GenAI in partial automation and support decision-making in all software development activities. While the current literature is skewed toward software implementation, quality assurance and software maintenance, other areas, such as requirements engineering, software design, and software engineering education, would need further research attention. Common considerations when implementing GenAI include industry-level assessment, dependability and accuracy, data accessibility, transparency, and sustainability aspects associated with the technology. GenAI is bringing significant changes to the field of software engineering. Nevertheless, the state of research on the topic still remains immature. We believe that this research agenda holds significance and practical value for informing both researchers and practitioners about current applications and guiding future research

    Addressing Communication, Coordination and Cultural Issues in Global Software Development Projects

    Get PDF
    The field of Global Software Development has been an active area of research for the last two decades due to its enormous benefits such as lower labor cost, faster development and easy access to the skilled labor pool. Apart from these benefits, it faces some challenges like communication, coordination, trust and configuration management etc. These challenges arise primarily due to physical, cultural and time zone differences. The empirical studies highlight that the existing Global Software Development solutions do not fully meet the user needs as there are still several gaps in these solutions. Therefore, to fulfill these gaps, there is a need to develop novel frameworks that address outstanding issues. In this paper, we have attempted to address the aforesaid GSD challenges. The practitioners can benefit from our proposed framework during the execution of GSD projects. The proposed framework mainly focuses on the root causes of the two principal challenges namely the communication and cultural differences. We believe that if the team members of a software project can communicate effectively and show considerations for others by imparting due reverence to the cultural norms, then the other residual issues can easily be reduced and minimized

    Agile Processes in Software Engineering and Extreme Programming: 18th International Conference, XP 2017, Cologne, Germany, May 22-26, 2017, Proceedings

    Get PDF
    agile software development; lean development; scrum; project management; software developmen
    corecore