228 research outputs found
Process Models and Distribution of Work in Offshoring Application Software Development
Common process models for the development of application software (AS) are examined as to how well they are suited for offshoring projects. The need for communication and interaction among onsite and offshore project stakeholders is identified as a critical success factor. Process models used by organizations providing offshoring services are discussed, and a generalized offshoring life cycle model is developed. A specific focus is set on the distribution of work between the organization that outsources AS development and the offshore organization that carries out the major share of the development work. Problems and challenges that have to be faced, making offshoring a difficult task, are discussed. --
Agile Software Development: Exploring the Values and Principles, Collaboration and Boundary Objects
Agile software development, both a movement and a set of software development methods, guided by the values and principles state in the Manifesto for Agile development (Beck et al. 2001), should not be seen only as a collection of development methods. This thesis proposes that in order to understand what constitutes differences or similarities between Agile organisations, one should apply a holistic view of Agile development. This view consists of three elements that form the Agile development environment: the perspective the organisations have towards Agile, the Agile process the organisations follow and the Agile structures that form the basis for the process. By proposing this framework of Agile engagement, the thesis answers following research questions: 1. How does collaboration in organisations differ under the various approaches towards Agile? 2. How do organisations structure collaboration between Agile teams and business stakeholders? 3. How are boundary objects used in collaboration between these groups? As research method, I followed the eight steps of the SPS approach and conducted a qualitative, interpretive case study. The study consists of three case studies. First, the Extreme Inc. case is an example of an organisation where the members hold an Avid perspective towards Agile methods. The organisation had arranged the collaboration to follow a tightly integrated model where boundary objects are applied to support the pair programming method and foster face-to-face collaboration. The case of Escapade and Carmine presents an example of an Inclusive Agile perspective, where organisations strive to focus on collaboration and boundary mitigation. The organisations had set up a collaboration configuration, where boundary spanners and all boundary objects were designed to create a sense of presence and ease of collaboration. The last case, the PrecautionCorp program, is a study of an organisation where the members of the organisation have chosen to observe Agile methods in a Pragmatic way. All collaboration between the stakeholders was organised via selected boundary spanners who mitigated the boundaries but also maintained a level of control over the chaos by applying a variety of boundary objects. By analysing the three case studies, I have identified three main elements that impact Agile software development: the perspective the organisations have towards the Agile philosophy which impacts the Agile process, that is, how the Agile methods are applied in practice; the configuration of the business stakeholder collaboration; and the application of the boundary objects. Based on this analysis, I have presented the framework for Agile engagement, a holistic theory that tied together the elements of Agile development. The practical contributions of this thesis are several: practitioners can apply the framework for Agile engagement when analysing their own positions, can benefit from better understanding of the relations between Agile process, Agile perspective and Agile structures, and can enhance their understanding of the best possible application of boundary objects
Análise do impacto sobre a metodologia XP da inclusão de modelos de processos de negócio na elicitação de requisitos
La metodología ágil de desarrollo de software eXtreme Programming (XP) utiliza Historias de Usuario [HU] como una estrategia de elicitación de requerimientos. Las HU utilizan lenguaje natural, el cual aunque debería ser claro para todos, pues causar confusiones y diferencias en la comprensión de los problemas, entre el equipo de desarrolladores y los interesados [stakeholders]. Este artículo propone incluir el modelamiento de procesos de negocio [PN] en la metodología XP, como una alternativa a las historias de usuario capaz de mejorar la calidad u cantidad de información recolectada. En el desarrollo de esta investigación se evaluó un total de once proyectos (HU vs PN), durante todas las fases propuestas por XP. Las dos estrategias y su efectividad fueron analizadas a través de métricas de software para demostrar el mejoramiento en el desarrollo de los procesos. El trabajo realizado evidenció que el uso de PN mejora la comunicación e incrementa la calidad del proceso y la productividad del equipo de desarrollo. XP (eXtreme Programming) agile methodology uses the User Stories as a requirements elicitation strategy. The user stories are based on natural language, which may cause some misunderstanding and miscomprehension problems between software development team and stakeholders. The paper proposes the inclusion of Business Process Models (BPN) in the XP methodology as an alternative to user stories, seeking to improve the quality and quantity of the information collected. The proposal was evaluated using user stories vs. BPN in 11 projects during all phases proposed by XP. Both strategies –and their effectiveness– were analyzed through software metrics, in order to demonstrate the improvement in the development process. By applying software metrics, it was shown that the use of BPN: improves communication between analysts and others involved, increase approval rate of customer requirements, shortens delivery requirement, fewer changes are made in each iteration and a lower percentage of defects are found by the stakeholder, regarding the use of user stories.A metodologia ágil de desenvolvimento de software Extreme Programming (XP) utiliza Histórias de Usuário [HU] como uma estratégia elicitação de requisitos. As HU usam linguagem natural, que embora devesse ficar claro para todos, pode causar confusão e diferenças na compreensão de problemas entre a equipe de desenvolvimento e as partes interessadas [skateholders]. Este artigo propõe a inclusão da modelagem de processos de negócios [PN] na metodologia XP, como uma alternativa às Histórias de Usuário, capaz de melhorar a qualidade ou quantidade de dados coletados. No desenvolvimento deste trabalho foram avaliados um total de onze projetos (HU vs PN) em todas as fases propostas pelo XP. As duas estratégias e a sua eficácia foram analisadas através de métricas de software para demonstrar o melhoramento no desenvolvimento dos processos. O trabalho mostrou que o uso de PN melhora a comunicação e aumenta a qualidade do processo e a produtividade da equipe de desenvolvimento
Agile Software Development Practices in Remote Working Contexts: A Systematic Literature Review
Information Scienc
The Theory of One Team: Agile Software Development with Distributed Teams
Team co-location is a hallmark of Agile software development that advocates face-to-face interaction and close collaboration among team members. Distributed teams, however, use Agile methods despite the separation of team members through space, time and culture. Little is known about how distributed teams use Agile methods for software development. A Grounded Theory research study that involved 55 participants from 38 different software companies in the USA, India, and Australia was carried out to investigate the key concern of distributed teams in Agile software development. This thesis proposes “The Theory of One Team” which explains how a distributed team in Agile software development adopts explicit strategies for bridging spatial, temporal, and socio-cultural distances, while facing critical impact factors, in order to become one team. This thesis primarily describes how a distributed team resolves the key concern of becoming one team. This thesis also provides the members of a distributed team with techniques for building trust with one another. In addition, this thesis serves to inform senior managers about the importance of supporting distributed teams in Agile software development
An agile based integrated framework for software development.
Doctor of Philosophy in Management. University of KwaZulu-Natal. Durban, 2018.Software development practice has been guided by practitioners and academics along an evolutionary path that extends from a Waterfall approach, characterised as highly prescriptive, to an approach that is agile, embracing the dynamic context in which software is developed. Agile Methodology is informed by a set of generic principles and agile methods that are customised by practitioners to meet the requirements of the environment in which it is used. Insight into the customisation of agile methods is pivotal to uphold the evolutionary trajectory of software development methodology.
The study adopted a ‘socio-technical’ orientation to enhance the implementation of Agile Methodology. The social component of the study was aligned to the role played by organisational culture in the adoption of software development methodology. The amorphous concept of organisational culture has been operationalised by implementing the Competing Values Framework to develop a model that aligns organisational culture to an optimal methodology for software development. The technical component of the study has a software engineering focus. The study leveraged experiential knowledge of software development by South African software practitioners to develop a customised version of a prominent agile software development method. The model has been developed so that it is compatible with a variant of organisational culture that is aligned with agile methodology.
The study implemented a sequential research design strategy consisting of two phases. The first phase was qualitative consisting of a phenomenological approach to develop the study’s main models. The second phase was quantitative, underpinned by technology acceptance theory, consisting of a survey based approach to determine South African software practitioners’ acceptance of the agile-oriented technical model that was developed in the study. The results from the survey indicated an 80% acceptance of the model proposed in study. Structural Equation Modelling was used to demonstrate that the inclusion of organisational culture as an independent construct improved the predictive capacity of technology acceptance theory in the context of software development methodology adoption. The study’s overall theoretical contribution was to highlight the significance of organisational culture in the implementation of agile methodology and to extend the evolutionary path of software development methodology by proposing an agile oriented model that scales the software process to an organisational infrastructure level
A framework for the analysis and evaluation of software development methodologies based on formal, intrinsic and pragmatic criteria
Includes bibliographical references (leaves 143-151)
Recommended from our members
Globally Distributed Agile Teams: An Exploratory Study of the Dimensions Contributing to Successful Team Configuration
Drawing upon configurational theory, work group design research, virtualness concepts, and the software agility literature, the purpose of this study was to provide a starting point for theorizing about the successful configuration of globally distributed agile teams by exploring the dimensions of team structure, virtualness, and agility. Due to the complex nature of this topic, the need to examine the phenomenon within its natural setting, and the limited amount of research that has been conducted in this particular area, this study adopted an embedded multiple-case research design. The primary data collection method consisted of semi-structured interviews involving members of globally distributed agile teams within three U.S. based organizations with members located in distributed sights in multiple countries. Additional data were collected from archival records. Within-case and cross-analysis was conducted using qualitative data analysis software. This study provides a starting point for answering the question of how the configuration of globally distributed agile teams differs from the configuration of other types of globally distributed teams; it synthesizes past research and findings into a comprehensive theoretical framework; it provides a starting point for theorizing about the successful configuration of globally distributed agile teams; it helps practitioners to identify and address the challenges related to the configuration of globally distributed agile teams; and it presents a set of best practices which will inform organizations on how to configure their globally distributed agile teams
Human Factors in Agile Software Development
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
Recommended from our members
Exploring the emergence of collaborative practices in globally distributed agile software development
This thesis was submitted for the award of Doctor of Philosophy and was awarded by Brunel University LondonAgile software development approaches have emerged as a response to perceived frustrations of more heavyweight plan-driven methods, and have now become well established within the information systems field. More recently, there has been a tremendous growth in applying agile methods in globally distributed settings. In light of this, there is a pressing need to understand how agile practices are adapted which were originally conceived for collocated settings, and now actually being used in globally distributed settings, taking into account the challenges posed by such contexts. The aim of this thesis is to contribute to this research gap, with a quest to better understand and unpack the “black-box” of how collaborative practices evolve within global agile settings. The value of this research lies in improving and advancing our understanding of the challenges the team members go through in adapting agile practices in global contexts. The research also explores how collaborative practices can support agility in globally distributed settings. In order to contribute to knowledge and increase conceptual clarity, there is a need to carry out in-depth and in-situ research within an organisational context. By taking a socio-technical perspective this study intends to extend our existing knowledge on how collaborative practices are evolving in real-time practice within globally distributed agile settings. The empirical evidence is drawn from a globally distributed team, operating in a global financial bank with offices based in London and Delhi. Interpretive research methods including semi-structured interviews and observations are used to understand team members’ experiences of developing collaborative practices in a globally distributed context. Although existing literature on agile software development acknowledges the intrinsic significance of collaboration for effective functioning of agile methods, current studies fail to demonstrate a situated practice perspective on how collaborative practices are adapted in globally distributed settings. This study enlists the analytical concepts of boundary objects and Pickering’s “mangle of practice” to better understand the process of how collaborative practices evolve in globally distributed agile teams. The resulting analysis provides us with a much more nuanced understanding of how interactions take place in developing collaborative practices in globally distributed contexts. The findings reveal that collaborative practices within such settings tend not to follow from pre-set expectations of how agile practices should work, but are temporally emergent. Team members have to revise collaborative practices through an ongoing process of mutual “tuning” within their situated contexts, in order to achieve a gradual state of interactive stability or a steadiness of practices. The results demonstrate how actors address the challenges in developing shared understandings to drive forward the joint software development process across global locations and move towards supporting agility within the projects. The thesis presents a pluralistic conceptual framework called the Collaborative Tuning Approach, which aids in gaining critical insights of issues related to adapting agile practices and also demonstrates how collaborative practices can act as enabler to achieving agility in such settings. The framework explains the challenges the team members face and how these are overcome when attempting to modify practices and indeed how these evolve through an ongoing state of flux and uncertainty leading to hybrid agile practices
- …