Agile software development provides a way to organise the complex task of multi-participant software development while accommodating constant project change. Agile software development is well accepted in the practiti...
详细信息
Agile software development provides a way to organise the complex task of multi-participant software development while accommodating constant project change. Agile software development is well accepted in the practitioner community but there is little understanding of how such projects achieve effective coordination, which is known to be critical in successful software projects. A theoretical model of coordination in the agile software development context is presented based on empirical data from three cases of co-located agile software development. Many practices in these projects act as coordination mechanisms, which together form a coordination strategy. Coordination strategy in this context has three components: synchronisation, structure, and boundary spanning. Coordination effectiveness has two components: implicit and explicit. The theoretical model of coordination in agile software development projects proposes that an agile coordination strategy increases coordination effectiveness. This model has application for practitioners who want to select appropriate practices from agile methods to ensure they achieve coordination coverage in their project. For the field of information systems development, this theory contributes to knowledge of coordination and coordination effectiveness in the context of agile software development. (C) 2012 Elsevier Inc. All rights reserved.
The article examines an empirical study which focuses on the requirements engineering (RE) practices employed by agile software developers and the benefits and challenges posed by these practices. It discusses an anal...
详细信息
The article examines an empirical study which focuses on the requirements engineering (RE) practices employed by agile software developers and the benefits and challenges posed by these practices. It discusses an analysis of data from 16 software development organizations which reveals seven agile RE methodologies. The study has two phases including the carrying of case studies in 10 organizations involved in high-speed software development and the taking of data from six organizations which used extreme programming and Scrum. The study analyzes the difference between agile RE and traditional RE and suggests that the intensive communication between the developers and customers is the most important RE practice.
Almost all software engineering experts agree that continuous integration is superior to the \"big-bang\", integration approach employed in the dark ages. Especially agile methodologies such as extreme Progr...
详细信息
Almost all software engineering experts agree that continuous integration is superior to the \"big-bang\", integration approach employed in the dark ages. Especially agile methodologies such as extreme programming (XP) promote development processes that let developers add functionality little-by-little, thereby significantly reducing project risk.
Industry, particularly those following the extreme programming (XP) methodology [2], has popularized the use of pair-programming. The pair-programming model has also been found to be beneficial for student programmers...
详细信息
ISBN:
(纸本)1581133294
Industry, particularly those following the extreme programming (XP) methodology [2], has popularized the use of pair-programming. The pair-programming model has also been found to be beneficial for student programmers. Initial quantitative and qualitative results, which will be discussed in this paper, demonstrate that the use of pair-programming in the computer science classroom enhances student learning and satisfaction and reduces the frustration common among students. Additionally, the use of pair-programming relieves the burden on the educators because students no longer view the teaching staff as their sole form of technical information. We explore the nature of pair-programming, then examine the ways such a practice may enhance teaching and learning in computer science education.
The front-end phase of the innovation process constitutes up to two-thirds of the total cost of new product development (NPD). In response to the new open innovation paradigm, new ways to integrate customers' know...
详细信息
The front-end phase of the innovation process constitutes up to two-thirds of the total cost of new product development (NPD). In response to the new open innovation paradigm, new ways to integrate customers' knowledge into the innovation front-end must be explored. In an attempt to learn from analogous situations in which the interface between developers and customers has been managed successfully, this article analyses the extreme programming (XP) approach of software engineering. Through its iterative but disciplined probe-and-learn cycles, the approach helps companies effectively develop advanced products with the help of their customers. Using case studies from interviews with R&D directors of 20 technology-intensive companies, the applicability of successful practices from XP to traditional NPD is analysed. The authors identify four determinants for front-end management that reside between creativity and resource efficiency. These determinants dictate the potential for front-end effectiveness improvement and enable the maximum amount of knowledge generation and absorption from the customer.
Including architecture-centric design and analysis methods in the extreme programming framework helps address quality attributes in an explicit, methodical, engineering-principled way.
Including architecture-centric design and analysis methods in the extreme programming framework helps address quality attributes in an explicit, methodical, engineering-principled way.
Scrum has become popular among the agile methodologies due to the substantial support that it provides to the project management teams. The scrum process delivers quick functionality in the form of sprints. Most of th...
详细信息
Scrum has become popular among the agile methodologies due to the substantial support that it provides to the project management teams. The scrum process delivers quick functionality in the form of sprints. Most of the quality assurance and quality control activities are skipped in scrum because of its short lifecycle and due to the absence of a dedicated quality assurance team. The development team pays more attention to delivery of products according to the customer satisfaction, and the parameters used for this type of assessment are the story success criteria and user acceptance testing. Only acceptance testing and integration testing are not sufficient to achieve a quality product. There is still a clamouring need felt to incorporate other quality control activities in scrum to achieve a quality product. In this work, we have made an attempt to implement the quality control activities in the scrum philosophy by introducing the concept of test backlog. The enhanced scrum model provides quality assessment methodology on the basis of frequency of remaining functional bugs. The concept of test backlog proposed in this study aims at implementing state of the art testing process in scrum. A case study was carried out to validate the model, which produced satisfactory results. Besides, we conducted a survey to access the state of the quality control in scrum. The proposed model and case study results are reported herein.
Agile processes focus on the early facilitation and fast production of working code, and are based on software-development process models that support iterative, incremental development of software. Although agile met...
详细信息
Agile processes focus on the early facilitation and fast production of working code, and are based on software-development process models that support iterative, incremental development of software. Although agile methods have existed for a number of years now, answers to questions concerning the suitability of agile processes to particular software-development environments are still often based on anecdotal accounts of experiences. An appreciation of the (often unstated) assumptions underlying agile processes can lead to a better understanding of the applicability of agile processes to particular situations. Agile processes are less likely to be applicable in situations in which core assumptions do not hold. This article examines the principles and advocated practices of agile processes to identify underlying assumptions. It also identifies limitations that may arise from these assumptions and outlines how the limitations can be addressed by incorporating other software-development techniques and practices into agile development environments.
Agile methodologies and extreme programming are the new and highly promising endeavors in Software Engineering. By addressing the important issue of dealing with continuously changing requirements we are faced with pa...
详细信息
Agile methodologies and extreme programming are the new and highly promising endeavors in Software Engineering. By addressing the important issue of dealing with continuously changing requirements we are faced with panoply of new problems and a genuine need to revisit some principles and classic models of software developments. When it comes to the management of software projects and a way in which we are looking at the software processes and underlying practices, it becomes apparent that in the management practices the issue of uncertainty needs to be quantified and fully addressed. Similarly, it becomes of interest to develop lightweight models of software quality and software processes that are easy to construct and modify as well are transparent to the developer and manager. Given these arguments, in this study we propose logic models based upon the mechanisms of multivalued and fuzzy logic. The realization of such models gives rise to so-called logic networks that are easy to construct, calibrate and interpret. (C) 2006 Elsevier B.V. All rights reserved.
Context Developing software in distributed development environments exhibits coordination, control and communication challenges. Agile practices, which demand frequent communication and self-organization between remot...
详细信息
Context Developing software in distributed development environments exhibits coordination, control and communication challenges. Agile practices, which demand frequent communication and self-organization between remote sites, are increasingly found in global software development (GSD) to mitigate said challenges. Objective: We aim to provide detailed insight into what is reported on the successful application of agile practices in GSD from 1999 to 2016 and also identify the most frequently applied agile practices and reported distribution scenarios. We further strive to uncover research opportunities and gaps in the field of agile GSD. Method: We build our systematic literature review on top of a previous review, which investigated studies published between 1999 and 2009, and extend the review by years 2010-2016, for which we conduct both a quantitative and a qualitative analysis. Results: Our results show that the majority of the cases studied is global and involves complex distribution scenarios with Scrum or combined Scrum/extreme programming being the most used agile methods. Key results include that in contrast to 1999-2009, where four extreme programming practices were among the ten most frequently used agile practices, in 2010-2016 Scrum is in the center of agile GSD implementations with eight Scrum-based practices in the top ten agile practices used in GSD. Conclusion: Agile GSD is a maturing research field with higher quality contributions and a greater variety of publication types and methods from 2010 to 2016 than before from 1999 to 2009. However, researchers need to report full empirical contextual details of their studied cases in order to improve the generalizability of results and allow the future creation of stronger frameworks to drive the implementation of agile practices in GSD.
暂无评论