2 research outputs found

    Understanding and improving requirements discovery in open source software development: an initial exploration

    Get PDF
    In proprietary or closed source software (CSS) development, there is a formal requirements engineering (RE) phase for discovering the requirements for an application. The requirements engineering process in CSS development is comprised of many formal practices (e.g., elicitation/generation). With the advent of the Internet and web-based tools and technologies, a new and different form of software development has emerged – globally distributed, typically volunteer driven, open source software (OSS) development. OSS development largely occurs in an informal, ad hoc manner and often lacks the formal developmental practices and processes of CSS development. The goal of this research is to gain a better understanding of the current state of RE in OSS, to identify potential directions for improving RE in OSS, and to empirically investigate the potential of some specific RE practices to improve OSS development. In pursuit of the research goal, in the initial phase of this research a web-based survey of practicing OSS developers was conducted to explore the current state of RE in OSS. Results supported the claims about informality of RE in OSS. as well as pointed towards potential directions for improvement. In the second phase of the research, a web-based experiment was conducted to investigate the actual benefits from a particular CSS development requirements generation practice – requirements reuse (operationalized as the availability of a library of reusable requirements within OSS development environment) – for OSS development. Analysis of the experimental data revealed that that the experimental treatment (availability of a library of reusable requirements) had a significant effect on the size of requirements message, requirements quantity and requirements completeness after controlling for covariates, indicating usefulness of the reusable library. The final phase of the research focused on OSS issue gathering approaches, a source of requirements for OSS. In this phase, a qualitative study of OSS developers explored how an OSS issue gathering approach, enforcing classification (versus free-form OSS issue gathering), may contribute to the misclassification problem (erroneous classification of OSS issues), and what can be done at the issue gathering interface level to mitigate the misclassification problem. Insights from the analysis of data from the final phase of the research shed light on the desirable characteristics that OSS issue gathering interfaces should possess for mitigating misclassification

    "is it really a defect?": an empirical study on measuring and improving the process of software defect reporting

    No full text
    Testing is one of the most labor-intensive activities in software development life cycle and consumes between 30% and 50% of total development costs according to many studies. The communication gap between testers and developers that is caused by unclear or even invalid defect reporting usually makes the testing schedule delay, and contributes large amount of testing effort to rework and re-communication. Defect reporting's efficiency directly influences testing efficiency and effectiveness. From our observation and improvement practices on a software product with recent 4 increments: 1) the percentage of unclear defect reports is around 23%, but more than 82% testers, more or less, reported unclear defect reports,; 2) the percentage of invalid defect reports is around 26%, but more than 35% testers reported invalid defect reports. Improvement practices that we took on training testers on how to report defect in a clearer and more efficient way further bridged the communication gap between testers and developers, and it can reduce 15.7% unclear defect reports and 19.53% invalid defect reports, which finally led to the improvement of testing efficiency. © 2011 IEEE.Microsoft Research; Alberta Innovates; Siemens; University of Calgary; RIMTesting is one of the most labor-intensive activities in software development life cycle and consumes between 30% and 50% of total development costs according to many studies. The communication gap between testers and developers that is caused by unclear or even invalid defect reporting usually makes the testing schedule delay, and contributes large amount of testing effort to rework and re-communication. Defect reporting's efficiency directly influences testing efficiency and effectiveness. From our observation and improvement practices on a software product with recent 4 increments: 1) the percentage of unclear defect reports is around 23%, but more than 82% testers, more or less, reported unclear defect reports,; 2) the percentage of invalid defect reports is around 26%, but more than 35% testers reported invalid defect reports. Improvement practices that we took on training testers on how to report defect in a clearer and more efficient way further bridged the communication gap between testers and developers, and it can reduce 15.7% unclear defect reports and 19.53% invalid defect reports, which finally led to the improvement of testing efficiency. © 2011 IEEE
    corecore