Software requirements negotiation is the process where the customers' needs in a software project are identified. This process is regarded as one of the most important parts of building a software system because during this stage it is decided precisely what will be built. Requirements negotiation is an iterative process where, through reflection and experience, users become familiar with the technology and developers become familiar with the user needs. For example, scenarios, prototypes or mock-ups provide the opportunity for the users to "experience" the new technology and for the developers to "experience" the work practice. Cooperation between participants in the process is quite difficult, even if they meet in a physical meeting room.
Requirements engineering in large-scaled industrial, government, and international projects can be a highly complex process involving thousands, or even hundreds of thousands of potentially distributed stakeholders. The process can result in massive amounts of noisy and semistructured data that must be analyzed and distilled in order to extract useful requirements. As a result, many human intensive tasks in requirements elicitation, analysis, and management processes can be augmented and supported through the use of recommender system and machine learning techniques. In this article we describe several areas in which recommendation technologies have been applied to the requirements engineering domain, namely stakeholder identification, domain analysis, requirements elicitation, and decision support across several requirements analysis and prioritization tasks. We also highlight ongoing challenges and opportunities for applying recommender systems in the requirements engineering domain.
Use cases have been around for almost 30 years as a requirements approach and have been part of the inspiration for more recent techniques such as user stories. Now the inspiration has flown in the other direction. Use-Case 2.0 is the new generation of use-case-driven development--light, agile, and lean--inspired by user stories and the agile methodologies Scrum and Kanban. Use-Case 2.0 has all the popular values from the past--not just supporting requirements, but also architecture, design, test, and user experience--and it is instrumental in business modeling and software reuse.
Adepetu, Adedamola (Masdar Institute of Science and Technology, Abu Dhabi) | Khaja, Ahmed Altaf (Masdar Institute of Science and Technology, Abu Dhabi) | Abd, Yousif Al (Masdar Institute of Science and Technology, Abu Dhabi) | Zaabi, Aaesha Al (Masdar Institute of Science and Technology, Abu Dhabi) | Svetinovic, Davor (Masdar Institute of Science and Technology, Abu Dhabi)
This paper describes CrowdREquire, a platform that supports requirements engineering using the crowdsourcing concept. The power of the crowd is in the diversity of talents and expertise available within the crowd and CrowdREquire specifies how requirements engineering can harness skills available in the crowd. In developing CrowdREquire, this paper designs a crowdsourcing business model and market strategy for crowdsourcing requirements engineering irrespective of the professions and areas of expertise of the crowd involved. This is also a specific application of crowdsourcing which establishes the general applicability and efficacy of crowdsourcing. The results obtained could be used as a reference for other crowdsourcing systems as well.