Before, during, and after requirements elicitation interviews: a comprehensive support for improving the quality of requirements
Requirements engineering is the set of activities concerned with determining and communicating the expectations for a new or modified product, and the contexts in which it will be used. Requirements elicitation, i.e., the practice of collecting these features, called requirements, is the first of these activities and is recognized as a critical and difficult stage in the development of software systems. Among the available elicitation techniques, interviews with stakeholders are the most commonly used in practice. Normally, they involve two actors: a customer and a requirements analyst; and their goal is to allow the knowledge transfer from the first to the second one so that the analyst can collect precise, correct, and complete requirements. The importance of interviews is widely recognized and many of the factors that might affect the knowledge transfer in interviews have been analyzed. However, a comprehensive approach to improve the effectiveness and the quality of requirements elicitation interviews has not been studied yet. This research aims at filling this gap by providing a set of novel techniques and tools to support the analyst before, during, and after the interview. The "before support" is concretized in developing a training for students and inexperienced analysts to teach them, with a hands-on approach, how to perform interviews, how to avoid the most common mistakes, and how to recognize ambiguous situations and exploit them to discover hidden knowledge. This part of the research includes also the creation of a course for undergraduate students to allow them to better develop their skills as analysts. The "during support" is a tool-based approach which uses biofeedback and voice analysis to help the analyst during the interview in identifying the increasing level of frustration in the customer, which might cause mistrust in the analyst. Finally, the "after support" consists of a protocol that uses an external observer to analyze recorded interviews to extract additional knowledge from them and possibly to identify additional common mistakes. This research has the potential to dramatically improve the requirements elicitation process, and consequently the software development process. This can lead to better software, thus benefiting the large segment of the population that uses and relies on software.
- NSF SHF Small Award #1718377, $399,940, 8/17-7/20
- KSU OVPR Seed Grant, $9,733.00, 1/16-6/16
Immersive Virtual Reality for Requirements Elicitation
Contemporary Virtual Reality (VR) technologies offer an increasing number of functionalities, such as head-mounted displays, haptic and sound feedback, as well as motion tracking. This gives the opportunity to leverage the immersive power offered by these technologies also in the context of requirements elicitation, especially to surface those requirements that have a relevant tacit component, and can be better discovered by observing users in a controlled Virtual Environment. The goal of our research is to understand to which extent contemporary VR technologies can be used for requirements elicitation, with a particular focus on those requirements that can hardly be elicited with traditional techniques, such as interviews, or focus groups.
- KSU OVPR Seed Grant, $1,500.00, 8/17-6/18
Verification of Incomplete Systems
Software development is a process through which the model of a system and its specification gradually evolve over time until an implementation of the system is produced and then verified against its specification. During the process the model is often incomplete: the implementation of certain functionalities is postponed to a later stage or it may be delegated to third parties. An incomplete functionality may be later replaced by alternative solutions, which may be iteratively explored to evaluate tradeoffs. Verification techniques (and model checking in particular) assume that a complete model of the system and the fully specified requirements are given: they do not support incompleteness. A verification-driven design process would instead benefit from the ability to apply formal verification at any stage, hence also to incomplete models. To achieve this goal, our research aims at extending classic techniques and development models to deal with incompleteness.
The role of undergraduate research in a comprehensive university
High Impact Practices (HIPs) are recognized as a crucial tool that can transform the educational experience of students. Among the different possible HIPs, undergraduate research is an important activity that not only can enrich the curricula, but can also represent an initial and encouraging step for undergraduate students in the direction of graduate studies. Being a good researcher depends on many factors and requires knowledge of the research process and related methodologies. The College of Computing and Software Engineering at KSU is now offering an undergraduate research course and the focus of this project is to analyze the impact of this course (and related activities) on the students experience in our institution, which is not a research university.
- KSU OVPR Seed Grant, $1,500.00, 8/17-6/18