首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 437 毫秒
1.
Today, organizations tailor the practices from several agile methodologies to serve their particular environment. But are there situations that drive how an organization should tailor methodologies in a particular manner? This article places 12 commonly used agile development practices into a typology based upon whether they are primarily project management focused or software development approach focused and examines how organizations’ motivations for adopting agile impact the practices they adopt. Finally, it explores how a fit between an organization’s motives for agile method adoption and the tailored agile practices it adopts may lead (or not lead) to differences in project performance.  相似文献   

2.
ContextAgile software development is an alternative software development methodology that originated from practice to encourage collaboration between developers and users, to leverage rapid development cycles, and to respond to changes in a dynamic environment. Although agile practices are widely used in organizations, academics call for more theoretical research to understand the value of agile software development methodologies.ObjectiveThis study uses shared mental models theory as a lens to examine practices from agile software methodologies to understand how agile practices enable software development teams to work together to complete tasks and work together effectively as a team.MethodA conceptual analysis of specific agile practices was conducted using the lens of shared mental models theory. Three agile practices from Xtreme Programming and Scrum are examined in detail, system metaphor, stand-up meeting, and on-site customer, using shared mental models theory.ResultsExamining agile practices using shared mental models theory elucidates how agile practices improve collaboration during the software development process. The results explain how agile practices contribute toward a shared understanding and enhanced collaboration within the software development team.ConclusionsThis conceptual analysis demonstrates the value of agile practices in developing shared mental models (i.e. shared understanding) among developers and customers in software development teams. Some agile practices are useful in developing a shared understanding about the tasks to be completed, while other agile practices create shared mental models about team processes and team interactions. To elicit the desired outcomes of agile software development methods, software development teams should consider whether or not agile practices are used in a manner that enhances the team’s shared understanding. Using three specific agile practices as examples, this research demonstrates how theory, such as shared mental models theory, can enhance our understanding regarding how agile practices are useful in enhancing collaboration in the workplace.  相似文献   

3.
What happens when agile methods are introduced in global outsourcing set-ups? Agile methods are designed to empower IT developers in decision-making through self-managing collocated teams. We studied how agile methods were introduced into global outsourcing from the Indian IT vendor’s perspective. We explored how agile processes in global outsourcing impacts work conditions of the Indian IT developers, and were surprised to find that agile methodologies, even after 3 years of implementation, created a stressful and inflexible work environment negatively impacting their personal lives. Many of the negative aspects of work, which agile methodologies were developed to reduce, were evident in the global agile outsourcing set-up. We propose translocality to repudiate the dichotomy of global/local reminding us that methodologies and technologies must be understood as immediately localized and situated. Translocality helps us to explain why we cannot determine the impact of global agile as a methodology independent of how it unfolds at particular sites. Instead, we must attend to concrete practices of use when evaluating the impact of new methods.  相似文献   

4.
ContextAgile software development approaches are currently becoming the industry standard for Web Application development. On the other hand, Model-Driven Web Engineering (MDWE) methodologies are known to improve productivity when building this kind of applications. However, current MDWE methodologies tend to ignore important aspects of Web Applications development supported by agile processes, such as constant customer feedback or early design of user interfaces.ObjectiveIn this paper we analyze the difficulties of supporting agile features in MDWE methodologies. Then, we propose an approach that eases the incorporation of well-known agile practices to MDWE.MethodWe propose using User Interface prototypes (usually known as mockups) as a way to start the modeling process in the context of a mixed agile-MDWE process. To assist this process, we defined a lightweight metamodel that allows modeling features over mockups, interacting with end-users and generating MDWE models. Then, we conducted a statistical evaluation of both approaches (traditional vs. mockup-based modeling).ResultsFirst we comment on how agile features can be added to MDWE processes using mockups. Then, we show by means of a quantitative study that the proposed approach is faster, less error-prone and still as complete as traditional MDWE processes.ConclusionThe use of mockups to guide the MDWE process helps in the reduction of the development cycle as well as in the incorporation of agile practices in the model-driven workflow. Complete MDWE models can be built and generated by using lightweight modeling over User Interface mockups, and this process suggests being more efficient, in terms of errors and effort, than traditional modeling in MDWE.  相似文献   

5.
This paper describes empirical research into agile requirements engineering (RE) practices. Based on an analysis of data collected in 16 US software development organizations, we identify six agile practices. We also identify seven challenges that are created by the use of these practices. We further analyse how this collection of practices helps mitigate some, while exacerbating other risks in RE. We provide a framework for evaluating the impact and appropriateness of agile RE practices by relating them to RE risks. Two risks that are intractable by agile RE practices emerge from the analysis. First, problems with customer inability and a lack of concurrence among customers significantly impact agile development. Second, risks associated with the neglecting non‐functional requirements such as security and scalability are a serious concern. Developers should carefully evaluate the risk factors in their project environment to understand whether the benefits of agile RE practices outweigh the costs imposed by the challenges.  相似文献   

6.
Since the late 1990s, agile or lightweight software development methodologies have experienced a meteoric rise of interest among systems developers who consider traditional systems development methodologies (such as Structured Systems Development, Information Engineering, and Rational Unified Process) too inflexible for building systems having unpredictable and changing requirements. Agile methodologies try to adapt to rapid requirement changes by having short, iterative development cycles and by encouraging frequent, open communication with customers. However, agile methodologies are still in the process of devising systematic approaches on how to be adaptive to unpredictable and changing requirements and how to incorporate customers into the systems development process. In this study, we show how an ethnographic research process called Strip Resolution can be applied as a systematic complement to projects applying agile development principles. We illustrate, in detail, how the Strip Resolution Process (SRP) enabled us, in the role of systems developers, to adapt to changing and unpredictable user requirements and to incorporate customers into the systems development process.  相似文献   

7.
Maturity in software development is currently defined by models such as CMMI-DEV and ISO/IEC 15504, which emphasize the need to manage, establish, measure and optimize processes. Teams that develop software using these models are guided by defined, detailed processes. However, an increasing number of teams have been implementing agile software development methods that focus on people rather than processes. What, then, is maturity for these agile teams that focus less on detailed, defined processes? This is the question we sought to answer in this study. To this end, we asked agile practitioners about their perception of the maturity level of a number of practices and how they defined maturity in agile software development. We used cluster analysis to analyze quantitative data and triangulated the results with content analysis of the qualitative data. We then proposed a new definition for agile software development maturity. The findings show that practitioners do not see maturity in agile software development as process definition or quantitative management capabilities. Rather, agile maturity means fostering more subjective capabilities, such as collaboration, communication, commitment, care, sharing and self-organization.  相似文献   

8.
Regression testing is a well-established practice in software development, but in recent years it has seen a change of status and emphasis with the increasing popularity of agile methods, which stress the central role of regression testing in maintaining software quality. The objectives of this article are to investigate regression testing strategies in agile development teams and identify the factors that can influence the adoption and implementation of this practice. We have used a mixed methods approach to our research, beginning with an analysis of the literature to identify research themes related to the adoption of regression testing techniques under agile methodologies, from which we developed an analytical framework for the study. This was followed by three exploratory case studies that we used to exercise the main elements of the framework, develop some key themes of interest, and devise a questionnaire for the final stage of the study, an on-line survey to explore the main issues identified in the case studies across different contexts. Within our specific sample, our results suggest that organizational maturity is a key factor in effective regression testing practices and that the adoption of such practices is helped by a coherent testing philosophy and change management processes. We also found that the return on investment in automated regression testing was positive for our respondents and that adopting these practices in the context of agile methods had been a relatively painless process for the organizations in our survey. We conclude that investing in regression testing tools and processes is likely to be beneficial for organizations. However, further work is needed in assessing how organizational culture impacts on the quality process and the financial outcomes for commercial software development organizations.  相似文献   

9.
10.
Today's environments of increasing business change require software development methodologies that are more adaptable. This article examines how complex adaptive systems (CAS) theory can be used to increase our understanding of how agile software development practices can be used to develop this capability. A mapping of agile practices to CAS principles and three dimensions (product, process, and people) results in several recommendations for “best practices” in systems development.  相似文献   

11.
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.  相似文献   

12.
Agile software development that provides software development organizations, the ability to respond to changes in turbulent business environments, has been gaining wide adoption. Agile software development projects are characterized by ‘just enough’ planning and lack of upfront commitment to scope, cost, and schedule. These characteristics pose conflicting demands on managers responsible for making funding decisions, because traditional approaches to funding IT projects are often based on well-defined scope, cost, and schedule. These conflicts demand the adaptation of traditional funding processes to suit to agile projects. We draw from Adaptive Structuration Theory to understand the nature of conflicts between traditional IT project funding processes and the dynamic nature of agile projects, and how these conflicts are addressed by practices that are appropriated in the process of social interaction between funding decision makers and development teams. On the basis of a multisite case study, we present a framework that explains how organizations adapt traditional IT funding approaches to accommodate the unique characteristics of agile IT projects.  相似文献   

13.
It is widely believed that systems development methodologies (SDMs) can help improve the software development process. Nevertheless, their deployment often encounters resistance from systems developers. Agile methodologies, the latest batch of SDMs that are most suitable in dealing with volatile business requirements, are likely to face the same challenge as they require developers to drastically change their work habits and acquire new skills. This paper addresses what can be done to overcome the challenge to agile methodologies acceptance. We provide a critical review of the extant literature on the acceptance of traditional SDMs and agile methodologies, and develop a conceptual framework for agile methodologies acceptance based on a knowledge management perspective. This framework can provide guidance for future research into acceptance of agile methodologies, and has implications for practitioners concerned with the effective deployment of agile methodologies.  相似文献   

14.
Traceability is recognized to be important for supporting agile development processes. However, after analyzing many of the existing traceability approaches it can be concluded that they strongly depend on traditional development process characteristics. Within this paper it is justified that this is a drawback to support adequately agile processes. As it is discussed, some concepts do not have the same semantics for traditional and agile methodologies. This paper proposes three features that traceability models should support to be less dependent on a specific development process: (1) user-definable traceability links, (2) roles, and (3) linkage rules. To present how these features can be applied, an emerging traceability metamodel (TmM) will be used within this paper. TmM supports the definition of traceability methodologies adapted to the needs of each project. As it is shown, after introducing these three features into traceability models, two main advantages are obtained: 1) the support they can provide to agile process stakeholders is significantly more extensive, and 2) it will be possible to achieve a higher degree of automation. In this sense it will be feasible to have a methodical trace acquisition and maintenance process adapted to agile processes.  相似文献   

15.
Software development organizations that have been employing capability maturity models, such as SW-CMM or CMMI for improving their processes are now increasingly interested in the possibility of adopting agile development methods. In the context of project management, what can we say about Scrum’s alignment with CMMI? The aim of our paper is to present the mapping between CMMI and the agile method Scrum, showing major gaps between them and identifying how organizations are adopting complementary practices in their projects to make these two approaches more compliant. This is useful for organizations that have a plan-driven process based on the CMMI model and are planning to improve the agility of processes or to help organizations to define a new project management framework based on both CMMI and Scrum practices.  相似文献   

16.
Primavera Systems provides enterprise project portfolio management solutions that help customers manage their projects, programs, and resources. When we decided to improve how we build software and increase the quality of life for everyone on the team, we found our answer in agile software development. Adopting agile practices is a process of continuous learning and improvement. Primavera's development team is a model for others looking to adopt agile processes.  相似文献   

17.
While face‐to‐face interaction is fundamental in agile software development, distributed environments must rely extensively on mediated interactions. Practicing agile principles in distributed environments therefore poses particular control challenges related to balancing fixed vs. evolving quality requirements and people vs. process‐based collaboration. To investigate these challenges, we conducted an in‐depth case study of a successful agile distributed software project with participants from a Russian firm and a Danish firm. Applying Kirsch's elements of control framework, we offer an analysis of how control was enacted through the project context and in the participants' mediated communication. The analysis reveals that formal measurement and evaluation control were persistently enacted through mediated communication. These formal control practices were, however, predominantly carried out in conjunction with informal roles and relationships such as clan‐like control inherent in agile development. Overall, the study demonstrates that, if appropriately applied, communication technologies can significantly support distributed, agile practices by allowing concurrent enactment of both formal and informal controls. The paper discusses these findings as they relate to previous research and concludes with their implications for future research.  相似文献   

18.
Bridging knowledge boundaries among project team members is essential to prevent delays or complete failure of software development projects. Prior researchers have reported that software prototypes can be used to help bridge knowledge boundaries between team members in traditional software development settings, yet their use in an agile development setting remains unexplored. Agile development centers the interactions between team members on emerging representations of the prototype whose properties are prone to change over time. Therefore, we conducted an in‐depth study of an agile development project to enhance our understanding on how software prototypes are used as boundary objects in a distributed team setting. Our analyses of team member interactions during 46 virtual meetings that took place over a period of 6 months revealed four different prototype use practices (exemplifying, contrasting, relating, framing) that were effective in bridging syntactic, semantic, or pragmatic knowledge boundaries. We also provide empirically grounded evidence of how variations in object properties can afford different use practices, how the use practices take advantage of these properties, and how object properties are reshaped through these use practices as different types of knowledge boundaries are bridged. These findings bear important implications for research on prototypes as boundary objects in software development in particular and boundary object use in general.  相似文献   

19.
Agile methods and product line engineering (PLE) have both proven successful in increasing customer satisfaction and decreasing time to market under certain conditions. Key characteristics of agile methods are lean and highly iterative development with a strong emphasis on stakeholder involvement. PLE leverages reuse through systematic approaches such as variability modeling or product derivation. Integrating agile approaches with product line engineering is an interesting proposition which – not surprisingly – entails several challenges: Product lines (PL) rely on complex plans and models to ensure their long-term evolution while agile methods emphasize simplicity and short-term value-creation for customers. When incorporating agility in product line engineering, it is thus essential to define carefully how agile principles can support particular PLE processes. For instance, the processes of defining and setting up a product line (domain engineering) and deriving products (application engineering) differ significantly in practices and focus with implications on the suitability of agile principles. This paper presents practical experiences of adopting agile principles in product line planning (a domain engineering activity). ThinkLets, i.e., collaborative practices from the area of collaboration engineering, are the building blocks of the presented approach as they codify agile principles such as stakeholder involvement, rapid feedback, or value-based prioritization. We discuss how our approach balances agility and the intrinsic needs of product line planning. A case study carried out with an industrial partner indicates that the approach is practicable, usable, and useful.  相似文献   

20.
Teaching agile practices is in the cutting-edge of Software Engineering education since agile methodologies are widely used in the industry. An effective strategy to teach agile practices is the use of a capstone project, in which students develop requirements following an agile methodology. To improve students’ learning experience, professors have to keep track and analyze the information generated by the students during the capstone project development. The problem here arises from the large amount of information generated in the learning process, which hinders professors to meet each student’s learning profile. Particularly, to know the students skills and preferences are key aspects on a learner-centered approach of education in order to personalize the teaching. In this work, we aim to discover the relationships between students’ performance along a Scrum-based capstone project and their learning style according to the Felder–Silverman model, towards a first step to build the profiles. To address this issue, we mined association rules from the interaction of 33 Software Engineering students with Virtual Scrum, a tool that supports the development of the capstone project in the course. In the present work we describe promising results in experiments with a case-study.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号