首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
While most studies in psychology and forecasting stress the possible hazards of group processes when predicting effort and schedule, agile software development methods recommend the use of a group estimation technique called planning poker for estimating the size of user stories and developing release and iteration plans. It is assumed that the group discussion through planning poker helps in identifying activities that individual estimators could overlook, thus providing more accurate estimates and reducing the over-optimism that is typical for expert judgment-based methods. In spite of the widespread use of agile methods, there is little empirical evidence regarding the accuracy of planning poker estimates. In order to fill this gap a study was conducted requiring 13 student teams to develop a Web-based student records information system. All teams were given the same set of user stories which had to be implemented in three Sprints. Each team estimated the stories using planning poker and the estimates provided by each team member during the first round were averaged to obtain the statistical combination for further comparison. In the same way the stories were estimated by a group of experts. The study revealed that students’ estimates were over-optimistic and that planning poker additionally increased the over-optimism. On the other hand, the experts’ estimates obtained through planning poker were much closer to actual effort spent and tended to be more accurate than the statistical combination of their individual estimates. The results indicate that the optimism bias caused by group discussion diminishes or even disappears as the expertise of the people involved in the group estimation process increases.  相似文献   

2.
ContextUser stories have become widely accepted in agile software development. Consequently, a great number of software tools that provide, inter alia, support for practices based on user stories have emerged in recent years. These tools may have different features and focus in terms of support for agile requirements engineering (RE) concepts and practices.ObjectiveThe present study aims to provide a deep insight into the current capabilities and future trends of software support for agile RE practices based on user stories.MethodA comparative qualitative study of a set of agile software tools has been conducted according to the following criteria: coverage of the key functional requirements, support for basic agile RE concepts and practices, and user satisfaction with the tool. The criteria for tool selection were: diversity of software tools, high rating on the user-stories community Web site (http://www.userstories.com), and availability for review.ResultsThe results show a generally good coverage of key functional requirements related to management of user stories and epics, high-level release planning and low-level iteration planning. On the other hand, user-role modeling and persona support have not been addressed at all, and it has been found that requirements for acceptance testing support were completely covered by only one tool. More importantly, the study has revealed significant differences in the way different tools support agile RE concepts and practices (if at all). Finally, qualitative analysis of user reviews has demonstrated that practitioners prefer tools that are easy to set up, easy to learn, easy to use, and easy to customize, over more sophisticated but simultaneously more demanding tools.ConclusionAlthough the progress that has been made since the inception of these tools is quite clear, there is still room for improvements in terms of support for various agile RE practices within a specific agile process.  相似文献   

3.
基于风险测试揭错能力分析   总被引:2,自引:0,他引:2  
在介绍了基于风险测试的基本原理后,通过简化的测试模型讨论了基于风险测试的方法在软件揭错能力上的改善。并进一步讨论了 该方法在实际操作中的实施关健,认识其本身风险性及规避方法。  相似文献   

4.
信息技术的发展日新月异,市场的快速变化对软件产品的开发过程要求既能快速发布又要能够迅速适应市场变化以便赢得市场,由此敏捷开发孕育而生。软件测试作为产品质量保证的一个重要环节,敏捷过程中的测试改进逐渐得到更多的关注。本文针对敏捷过程中由于快速应对变化导致的测试覆盖充分性与测试时间压力的矛盾冲突,从测试管理的角度,重点分析敏捷测试中的组织、策略和过程管理流程,以确保缩短测试时间,提高测试中对过程和状态的监控能力,保证测试覆盖率、测试有效性和产品质量。  相似文献   

5.
In many development projects, testing has to be conducted under severe pressure due to limited resources and a challenging time schedule. Risk-based testing, which utilizes identified risks of the system for testing purposes, has a high potential to improve testing as it helps to optimize the allocation of resources and provides decision support for management. But for many organizations, the integration of a risk-based approach into established testing activities is a challenging task, and there are several options to do so. In this article, we analyze how risk is defined, assessed, and applied to support and improve testing activities in projects, products, and processes. We investigate these questions empirically by a multiple case study of currently applied risk-based testing activities in industry. The case study is based on three cases from different backgrounds, i.e., a test project in context of the extension of a large Web-based information system, product testing of a measurement and diagnostic equipment for the electrical power industry, as well as a test process of a system integrator of telecommunication solutions. By analyzing and comparing these different industrial cases, we draw conclusions on the state of risk-based testing and discuss possible improvements.  相似文献   

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

7.
We present an empirically grounded and theoretically informed model for the assessment and mitigation of risks to effective knowledge sharing in agile development. The model is anchored in empirical insights from four agile projects across two software companies and in extant research on risk‐strategy analysis and knowledge sharing in software development. We develop the model as part of the long‐standing tradition of presenting risk management models dedicated to specific issues in software development and confirm its practical usefulness in one of the software companies studied. The model offers concepts and processes to assess a project's knowledge sharing risk profile and articulate an overall resolution strategy plan to mitigate the risks. The results highlight how different knowledge sharing risk management profiles can lead to different project performance outcomes. We conclude with a discussion of research opportunities that the results offer software development scholarship. © 2016 John Wiley & Sons Ltd  相似文献   

8.
Context: The use of system requirements and their risks enables software testers to identify more important test cases that can reveal the faults associated with system components.Objective: The goal of this research is to make the requirements risk estimation process more systematic and precise by reducing subjectivity using a fuzzy expert system. Further, we provide empirical results that show that our proposed approach can improve the effectiveness of test case prioritization.Method: In this research, we used requirements modification status, complexity, security, and size of the software requirements as risk indicators and employed a fuzzy expert system to estimate the requirements risks. Further, we employed a semi-automated process to gather the required data for our approach and to make the risk estimation process less subjective.Results: The results of our study indicated that the prioritized tests based on our new approach can detect faults early, and also the approach can be effective at finding more faults earlier in the high-risk system components compared to the control techniques.Conclusion: We proposed an enhanced risk-based test case prioritization approach that estimates requirements risks systematically with a fuzzy expert system. With the proposed approach, testers can detect more faults earlier than with other control techniques. Further, the proposed semi-automated, systematic approach can easily be applied to industrial applications and can help improve regression testing effectiveness.  相似文献   

9.
基于CMMI的软件项目风险缓解策略优化模型研究   总被引:1,自引:0,他引:1  
在基于CMMI的软件工程实践过程中,风险管理被集成在CMMI框架下的第三级,与过程管理融于同一个框架之中。因此,基于CMMI的软件项目风险管理能够得到来自组织的有效信息,使软件开发朝着有规律、可预测的方向发展。本文针对目前基于CMMI的软件项目风险管理尚缺乏有效技术支持的现状,初步探讨了风险响应计划的制定问题,并针对实际提出一种风险缓解策略优化模型,为软件项目管理人员的风险决策提供辅助手段。  相似文献   

10.
风险管理和危机管理是软件开发项目管理中两个重要的方面,风险管理是预测、控制和管理项目风险,而危机管理则是应对项目的突发问题,他们是项目成功的有效保障。本文重点讨论了风险和危机产生的原因,以及风险和危机的管理方法。  相似文献   

11.
Manual testing of software requirements written in natural language for agile or any other methodology requires more time and human resources. This leaves the testing process error prone and time consuming. For satisfied end users with bug‐free software delivered on time, there is a need to automate the test oracle process for natural language or informal requirements. The automation of the test oracle is relatively easier with formal requirements, but this task is difficult to achieve with natural language requirements. This study proposes an approach called Restricted Natural Language Agile Requirements Testing (ReNaLART) to automate the test oracle from restricted natural language agile requirements. For this purpose, it uses an existing user story template with some modifications for writing user stories. This helps in identifying test input and expected output for a user story. For comparison of expected and observed outputs it makes use of a regex pattern and string distance functions. It is capable of assigning different types of verdicts automatically depending upon the similarity/dissimilarity between observed and expected outputs of user stories. ReNaLART is validated using several case studies of different domains, namely, OLX Pakistan, Mental Health Tests, McDelivery Pakistan, BlueStacks, Power Searching with Google, TensorFlow Playground, w3Schools 2018 offline and Touch'D. It revealed several faults in five of the above listed eight applications. Plus, the proposed test oracle on an average took 0.02 s for test data generation, expected output generation and verdict assignment. Both these facts show the fault revealing effectiveness and efficiency of ReNaLART.  相似文献   

12.
敏捷开发采用用户故事表达用户需求.一般采用格式受限的自然语言编写,但在用户故事编写过程中经常出现一些表述上的缺陷.典型的缺陷包括缺失必要信息、意思表达含糊不清、故事间有重复或存在冲突等.这很大程度上影响了需求的质量,影响软件开发项目的进行.提出一种用户故事需求质量提升方法.从故事缺陷定位的角度出发,该方法构建了用户故事...  相似文献   

13.
Risk identification is a knowledge-based process that requires the time-consuming and laborious identification of project-specific risk factors. Current practices for risk identification in construction rely heavily on an expert’s subjective knowledge of the current project and of similar historical projects to determine if a risk may affect the project under study. When quantitative risk-related data are available, they are often stored across multiple sources and in different types of documents complicating data sharing and reuse. The present study introduces an ontology-based approach for construction risk identification that maps and automates the representation of project context and risk information, thereby enhancing the storage, sharing, and reuse of knowledge for the purpose of risk identification. The study also presents a novel wind farm construction project risk ontology that has been validated by a group of industry experts. The resulting ontology-based risk identification approach is able to accommodate project context in the risk identification process and, through implementation of the proposed approach, has identified risk factors that affect the construction of onshore wind farm projects.  相似文献   

14.
牛颖蓓 《软件》2020,(3):268-271
针对航天软件高可靠性的特点,构建一种输入与输出模型测试方案,提出基于覆盖测试算法的测试方法,测试覆盖算法主要包含三种功能测试方法和三种结构测试方法。功能测试主要使用基于边界的方法、定义等价类、使用决策表分析三种方法。结构测试主要使用基于路径的测试、数据流测试、片测试三种方法。实例验证,该方法清晰明了、便于发现航天软件缺陷、降低航天软件开发风险与代价以及保证航天软件质量。  相似文献   

15.
敏捷方法在企业应用系统开发中的应用与改进   总被引:3,自引:0,他引:3  
面对传统方法在适应需求变化方面的不足,近年来出现了一些敏捷型软件开发方法,它灵活的开发机制能有效控制需求变化带来的风险。本文以极限编程为例介绍了敏捷方法的思想、价值观和过程实践规则。另外,本文还分析了企业应用系统开发的特点和难点,并结合ERP项目开发的实践经验,介绍了敏捷方法在企业应用系统开发中的应用和改进过程。  相似文献   

16.
风险在软件开发过程中无处不在,如何控制软件项目中出现的各种风险一直是软件工程领域研究的主要问题之一软件开发过程方法对控制软件风险有积极的作用,RUP、CMM等方法对软件项目风险有着良好的控制能力很多学者都使用不同的方法或技术对软件项目风险进行分析或管理。  相似文献   

17.
The number of success stories being reported concerning agile software development has led to an increase in interest among industries and research communities. The purpose of this paper is to identify strengths and barriers for ‘successful agile deployment’ in the software companies. This knowledge can benefit software companies planning their current strategy for agile deployment. Analysis of 57 developers, architects, project managers, customers, quality managers, and line and product managers in three case companies identifies 71 strengths and 169 barriers of agile deployment. The analysis revealed the importance of management providing the necessary goals and support for agile development. It also indicated the significance of defining a tailored process model and giving developers the freedom to improve their own agile development process continuously during agile deployment. The identified barriers, strengths and recommendations can be used as a checklist for planning and/or monitoring the effectiveness of agile deployment in software companies. By identifying the barriers and strengths of agile deployment, the paper deepens understanding of this highly relevant but relatively under-researched phenomenon and contributes to the literature on agile deployment and software process improvement.  相似文献   

18.
Risk-based testing has a high potential to improve the software development and test process as it helps to optimize the allocation of resources and provides decision support for the management. But for many organizations, its integration into an existing test process is a challenging task. In this article, we provide a comprehensive overview of existing work and present a generic testing methodology enhancing an established test process to address risks. On this basis, we develop a procedure on how risk-based testing can be introduced in a test process and derive a stage model for its integration. We then evaluate our approach for introducing risk-based testing by means of an industrial study and discuss benefits, prerequisites and challenges to introduce it. Potential benefits of risk-based testing identified in the studied project are faster detection of defects resulting in an earlier release, a more reliable release quality statement as well as the involved test-process optimization. As necessary prerequisites for risk-based testing, we identified an inhomogeneous distribution of risks associated with the various parts of the tested software system as well as consolidated technical and business views on it. Finally, the identified challenges of introducing risk-based testing are reliable risk assessment in the context of complex systems, the availability of experts for risk assessment as well as established tool supports for test management.  相似文献   

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

20.
Agile development aims at rapidly developing software while embracing the continuous evolution of user requirements along the whole development process. User stories are the primary means of requirements collection and elicitation in the agile development. A project can involve a large amount of user stories, which should be clustered into different groups based on their functionality’s similarity for systematic requirements analysis, effective mapping to developed features, and efficient maintenance. Nevertheless, the current user story clustering is mainly conducted in a manual manner, which is time-consuming and subjective to human bias. In this paper, we propose a novel approach for clustering the user stories automatically on the basis of natural language processing. Specifically, the sentence patterns of each component in a user story are first analysed and determined such that the critical structure in the representative tasks can be automatically extracted based on the user story meta-model. The similarity of user stories is calculated, which can be used to generate the connected graph as the basis of automatic user story clustering. We evaluate the approach based on thirteen datasets, compared against ten baseline techniques. Experimental results show that our clustering approach has higher accuracy, recall rate and F1-score than these baselines. It is demonstrated that the proposed approach can significantly improve the efficacy of user story clustering and thus enhance the overall performance of agile development. The study also highlights promising research directions for more accurate requirements elicitation.  相似文献   

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

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