首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 437 毫秒
1.
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.  相似文献   

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

3.
This paper draws attention to a major issue of Knowledge Management (KM) technology implementation: potential sources of incongruence between KM software and the adopting organization. Using the case of a global consultancy firm, the paper explains KM software-organization incongruences as the consequence of differences between organizational and KM software developer’s knowledge work context and practice. Such differences reflect the differing ‘situated’ knowledge work practices that KM software developers and adopting organizations deliberately acquire and evolve over time. Theoretically, this paper gives a more comprehensive account of how knowledge work practices emerged and were then embedded into the software or the organization. Practically, this study would help make organizations more aware of the factors influencing KM software adoption and implementation, particularly in the case of large firms that are characterized by high-value, text-based content for decision-making such as professional service, R&D, and healthcare organizations.  相似文献   

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

5.
BackgroundThe search for adherence to maturity levels by using lightweight processes that require low levels of effort is regarded as a challenge for software development organizations.ObjectiveThis study seeks to evaluate, synthesize, and present results on the use of the Capability Maturity Model Integration (CMMI) in combination with agile software development, and thereafter to give an overview of the topics researched, which includes a discussion of their benefits and limitations, the strength of the findings, and the implications for research and practice.MethodsThe method applied was a Systematic Literature Review on studies published up to (and including) 2011.ResultsThe search strategy identified 3193 results, of which 81 included studies on the use of CMMI together with agile methodologies. The benefits found were grouped into two main categories: those related to the organization in general and those related to the development process, and were organized into subcategories, according to the area to which they refer. The limitations were also grouped into these categories. Using the criteria defined, the strength of the evidence found was considered low. The implications of the results for research and practice are discussed.ConclusionAgile methodologies can be used by companies to reduce efforts in getting to levels 2 and 3 of CMMI, there even being reports of applying agile practices that led to achieving level 5. However, agile methodologies alone, according to the studies, were not sufficient to obtain a rating at a given level, it being necessary to resort to additional practices to do so.  相似文献   

6.
Many organizations aspire to adopt agile processes to take advantage of the numerous benefits that they offer to an organization. Those benefits include, but are not limited to, quicker return on investment, better software quality, and higher customer satisfaction. To date, however, there is no structured process (at least that is published in the public domain) that guides organizations in adopting agile practices. To address this situation, we present the agile adoption framework and the innovative approach we have used to implement it. The framework consists of two components: an agile measurement index, and a four-stage process, that together guide and assist the agile adoption efforts of organizations. More specifically, the Sidky Agile Measurement Index (SAMI) encompasses five agile levels that are used to identify the agile potential of projects and organizations. The four-stage process, on the other hand, helps determine (a) whether or not organizations are ready for agile adoption, and (b) guided by their potential, what set of agile practices can and should be introduced. To help substantiate the “goodness” of the Agile Adoption Framework, we presented it to various members of the agile community, and elicited responses through questionnaires. The results of that substantiation effort are encouraging, and are also presented in this paper.  相似文献   

7.

Context

Many organizations have started to deploy agile methods, but so far there exist only a few studies on organization-wide transformations. Are agile methods here to stay? Some claim that agile software development methods are in the mainstream adoption phase in the software industry, while others hope that those are a passing fad. The assumption here is that if agile would not provide real improvement, adopters would be eager at first but turn pessimistic after putting it into practice.

Objective

Despite the growing amount of anecdotal evidence on the success of agile methods across a wide range of different real-life development settings, scientific studies remain scarce. Even less is known about the perception of the impacts of agile transformation when it is deployed in a very large software development environment, and whether agile methods are here to stay. This study aims to fill that gap by providing evidence from a large-scale agile transformation within Nokia. While we have yet to confirm these findings with solid quantitative data, we believe that the perception of the impacts already pinpoints the direction of the impacts of large-scale agile transformation.

Method

The data were collected using a questionnaire. The population of the study contains more than 1000 respondents in seven different countries in Europe, North America, and Asia.

Results

The results reveal that most respondents agree on all accounts with the generally claimed benefits of agile methods. These benefits include higher satisfaction, a feeling of effectiveness, increased quality and transparency, increased autonomy and happiness, and earlier detection of defects. Finally, 60% of respondents would not like to return to the old way of working.

Conclusion

While the perception of the impact of agile methods is predominantly positive, several challenge areas were discovered. However, based on this study, agile methods are here to stay.  相似文献   

8.
Boehm  B. Turner  R. 《Software, IEEE》2005,22(5):30-39
Discussions with traditional developers and managers concerning agile software development practices nearly always contain two somewhat contradictory ideas. They find that on small, stand-alone projects, agile practices are less burdensome and more in tune with the software industry's increasing needs for rapid development and coping with continuous change. Managers face several barriers, real and perceived, when they try to bring agile approaches into traditional organizations. They categorized the barriers either as problems only in terms of scope or scale, or as significant general issues needing resolution. From these two categories, we've identified three areas - development process conflicts, business process conflicts, and people conflicts - that we believe are the critical challenges to software managers of large organizations in bringing agile approaches to bear in their projects.  相似文献   

9.
This research investigates the relationship between the degree of agile methodology use and four types of control mechanisms that are widely used in the management of a software project and its personnel: outcome control, behavioral control, clan control, and self-control. We conducted two studies: a survey of software professionals and a follow-up interview in six organizations. We found the following: 1) software professionals reported high outcome and clan controls regardless of their levels of agile methodology use; 2) the high agile group reported some use of behavioral and self-controls while the low agile group did not; 3) even though behavioral control was minimum in the low agile group, all professionals we interviewed strongly agreed that using established materials and following existing procedures should be standardized practices in software development. Implications of this research are discussed.  相似文献   

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

12.
Inspired by the chasm between early adopters and early majority in diffusion of technological innovations, this paper investigates how agile improvement practices can help software organizations successfully implement new processes. An action research-based improvement initiative implemented a new change-request process and tool at the telecom company Ericsson AB in Gothenburg, Sweden. The study identifies a ‘guerilla tactic’ that change agents can use in software organizations to cross the chasm, and it discusses lessons learned in relation to literature on diffusion of innovation and software agility. The contribution of the study is that the guerrilla tactic supports agile improvement practices and facilitates successful implementation.  相似文献   

13.
ContextThe agile development paradigm has been extensively adopted in the industry. This adoption is highly dependent on the knowledge and good practices applied by most experienced practitioners in organizations. Hence, it would be valuable to count on appropriate support to preserve and systematically use this expert knowledge in configuring agile development processes aligned with organizational standards.ObjectiveThis paper presents a model-driven approach for representing and selecting good practices to configure agile practices in development processes aligned with organizational development practices and quality standards.MethodWe define a conceptual approach for configuring agile development processes that fulfills enterprise good practices and external quality standards. This approach was implemented in a tool suite and applied to an industrial development scenario related to ISO 9001 certification.ResultsThe approach was implemented in a model-driven tool that provides automatic support for identifying good practices when configuring agile development processes. The tool also verifies consistency with development methods and quality standards, such as ISO 9001.ConclusionsThe results obtained from the industrial application indicate that practitioners can reuse expert knowledge to configure agile development processes aligned with quality certifications. Moreover, the approach also facilitates the tailoring of agile practices into concrete development processes that take advantage of organizational good practices.  相似文献   

14.
Agile methods are often seen as providing ways to avoid overheads typically perceived as being imposed by traditional software development environments. However, few organizations are psychologically or technically able to take on an agile approach rapidly and effectively. Here, we describe a number of approaches to assist in such a transition. The Agile Software Solution Framework (ASSF) provides an overall context for the exploration of agile methods, knowledge and governance and contains an Agile Toolkit for quantifying part of the agile process. These link to the business aspects of software development so that the business value and agile process are well aligned. Finally, we describe how these theories are applied in practice with two industry case studies using the Agile Adoption and Improvement Model (AAIM).  相似文献   

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

16.
知识是竞争优势的根源,知识管理是挖掘这种竞争优势的有效手段,而知识管理的实施又是重中之重.首次将软件开发中业已成熟的生命周期法(SDLC)引入知识管理领域,以其系统化、阶段化的思想指导知识管理的实施.  相似文献   

17.
《Software, IEEE》2006,23(4):19-21
Four papers and a roundtable discussion shed light on the current state of software testing practices. Case studies from industry experience address topics including unit-testing practices, agile testing, and automating software testing. Although many of these approaches show promise, software testing is still one of the more neglected practices within the software development life cycle. Suggestions for improvements in industry and academia are offered.  相似文献   

18.
《Software, IEEE》2002,19(3):53-55
Knowledge management (KM) is important to software engineering, because organizations need more than just human capital to successfully distribute and use their employees' knowledge. Knowledge might be inexpensive, but effectively using and managing it is not. This article reviews KM practices at Infosys, highlighting KM's importance and benefits  相似文献   

19.
Adoption of agile values and principles and transformation of organizations towards agility are not easy and straightforward. Misinterpretation of agile principles and values, and adoption of partial solutions with few agile practices instead of holistic approaches prevent organizations to obtain full benefits of agile methods. We developed the Software Agility Assessment Reference Model (AgilityMod) for the appraisal of software projects from agility perspective and to provide guidance on specifying gaps on the road towards agility (agile maturity). The meta-model of AgilityMod was defined in relation with the ISO/IEC 15504-Process Assessment Model. AgilityMod was developed in an iterative and incremental manner by running successive case studies and getting opinions of experts for the evaluation and improvement of the Model. The multiple case study that we present here in detail included the implementation of the Model in eight software development companies. The results of this case study were evaluated by the case study participants. According to the significant majority of the case study participants, AgilityMod achieves its purpose.  相似文献   

20.
Agile software development is designed to achieve collaborative software development. A supporting pillar of collaboration is effective coordination, which is necessary to manage dependencies in projects. Understanding the dependencies arising in agile software development projects can help practitioners choose appropriate coordinative practices from the large number of practices provided by the various agile methods. To achieve this understanding, this article analyses dependencies in three typical cases of co-located agile software development and presents the dependencies as a taxonomy with decision rules for allocating dependencies into categories. Findings show that knowledge, process, and resource dependencies are present, with knowledge dependencies predominant. In addition, there are agile practices with a coordinative function that address multiple dependencies in these agile software development projects. These practices would be a good choice for coordinating a project and supporting collaboration in agile software projects.  相似文献   

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

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