6 research outputs found
Alignment and Granularity of Requirements and Architecture in Agile Development: A Functional Perspective
Context: Requirements engineering and software architecture are tightly linked disciplines. The Twin Peaks model suggests that requirements and architectural components should stay aligned while the system is designed and as the level of detail increases. Unfortunately, this is hardly the case in practical settings. Objective: We surmise that a reason for the absence of conjoint evolution is that existing models, such as the Twin Peaks, do not provide concrete guidance for practitioners. We propose the Requirements Engineering for Software Architecture (RE4SA) model to assist in analyzing the alignment and the granularity of functional requirements and architectural components. Methods: After detailing the RE4SA model in notation-independent terms, we propose a concrete instance, called RE4SA-Agile, that connects common artifacts in agile development, such as user stories and features. We introduce metrics that measure the alignment between the requirements and architecture, and we define granularity smells to pinpoint situation in which the granularity of one high-level requirement or high-level component is not uniform with the norm. We show two applications of RE4SA-Agile, including the use of the metrics, to real-world case studies. Results: Our applications of RE4SA-Agile, which were discussed with representatives from the development teams, prove to be able to pinpoint problematic situations regarding the relationship between functional requirements and architecture. Conclusion: RE4SA and its metrics can be seen as a first attempt to provide a concrete approach for supporting the application of the Twin Peaks model. We expect future research to apply our metrics to additional cases and to provide variants for RE4SA that support different concrete notations, and extend the perspective beyond the functional perspective of this research, similar to what we did with RE4SA-Agile in this paper
Summarization of Elicitation Conversations to Locate Requirements-Relevant Information
[Context and motivation] Conversations around requirements, such as interviews and workshops, are a key activity of requirements elicitation, and play a significant role in the creation of requirements specifications. [Question/problem] While these conversations contain a wealth of knowledge, requirements engineers use them mainly through note-taking during the conversation and by recalling the information from their memory. There is potential for supporting practitioners by retrieving important information from the recordings of these conversations. [Principal ideas/results] Although transcriptions can be automatically generated with good accuracy, they often contain excessive text to be efficiently used for processing requirements elicitation sessions. Thus, we observed a need to transform these datasets into a useful format for requirements engineers to analyze. [Contribution] We present RECONSUM, a prototype that utilizes Natural Language Processing (NLP) to summarize requirements conversations. RECONSUM takes as input a transcribed conversation, and it filters the speaker turns by keeping only those that include a question and that are expected to contain, or to be answered with, requirements-relevant information. In addition to presenting RECONSUM, we experiment with different algorithms to assess the most effective combination
Requirements Elicitation via Fit-Gap Analysis: A View through the Grounded Theory Lens
While requirements elicitation remains a key success factor for software projects, there is little empirical research on the elicitation methods. We focus on fit-gap analysis, a requirements elicitation technique that is common in practice, but hardly studied in requirements engineering research. Fit-gap analysis is a method for matching software products with the needs of customers, with the aim to identify needs that are supported as fits, and needs that are not as gaps. Through a grounded theory investigation of recording transcripts from fit-gap analysis sessions, we provide empirical knowledge about this elicitation technique. We determine and discuss the different categories of the topics contained in a fit-gap analysis. Additionally, as a first step toward assisting analysts in processing and exploring their analyses, we build and share a set of keywords and phrases that can help automatically identify those categories within the transcripts. We conduct an experiment for early validation, involving both students and practitioners, that determines the relative perceived importance of the identified fit-gap categories. Finally, we derive implications for research in the field that include our perspective on how tooling can assist analysts in fit-gap analysis
Explicit Alignment of Requirements and Architecture in Agile Development
[Context & Motivation] Requirements and architectural components are designed concurrently, with the former guiding the latter, and the latter restricting the former. [Question/problem] Effective communication between requirements engineers and software architects is often experienced as problematic. [Principal ideas/results] We present the Requirements Engineering for Software Architecture (RE4SA) model with the intention to support the communication within the development team. In RE4SA, requirements are expressed as epic stories and user stories, which are linked to modules and features, respectively, as their architectural counterparts. Additionally, we provide metrics to measure the alignment between these concepts, and we also discuss how to use the model and the usefulness of the metrics by applying both to case studies. [Contribution] The RE4SA model employs widely adopted notations and allows for explicitly relating a system’s requirements and architectural components, while the metrics make it possible to measure the alignment between requirements and architecture
Alignment and Granularity of Requirements and Architecture in Agile Development: A Functional Perspective
Context: Requirements engineering and software architecture are tightly linked disciplines. The Twin Peaks model suggests that requirements and architectural components should stay aligned while the system is designed and as the level of detail increases. Unfortunately, this is hardly the case in practical settings. Objective: We surmise that a reason for the absence of conjoint evolution is that existing models, such as the Twin Peaks, do not provide concrete guidance for practitioners. We propose the Requirements Engineering for Software Architecture (RE4SA) model to assist in analyzing the alignment and the granularity of functional requirements and architectural components. Methods: After detailing the RE4SA model in notation-independent terms, we propose a concrete instance, called RE4SA-Agile, that connects common artifacts in agile development, such as user stories and features. We introduce metrics that measure the alignment between the requirements and architecture, and we define granularity smells to pinpoint situation in which the granularity of one high-level requirement or high-level component is not uniform with the norm. We show two applications of RE4SA-Agile, including the use of the metrics, to real-world case studies. Results: Our applications of RE4SA-Agile, which were discussed with representatives from the development teams, prove to be able to pinpoint problematic situations regarding the relationship between functional requirements and architecture. Conclusion: RE4SA and its metrics can be seen as a first attempt to provide a concrete approach for supporting the application of the Twin Peaks model. We expect future research to apply our metrics to additional cases and to provide variants for RE4SA that support different concrete notations, and extend the perspective beyond the functional perspective of this research, similar to what we did with RE4SA-Agile in this paper
Requirements Elicitation via Fit-Gap Analysis: A View through the Grounded Theory Lens
While requirements elicitation remains a key success factor for software projects, there is little empirical research on the elicitation methods. We focus on fit-gap analysis, a requirements elicitation technique that is common in practice, but hardly studied in requirements engineering research. Fit-gap analysis is a method for matching software products with the needs of customers, with the aim to identify needs that are supported as fits, and needs that are not as gaps. Through a grounded theory investigation of recording transcripts from fit-gap analysis sessions, we provide empirical knowledge about this elicitation technique. We determine and discuss the different categories of the topics contained in a fit-gap analysis. Additionally, as a first step toward assisting analysts in processing and exploring their analyses, we build and share a set of keywords and phrases that can help automatically identify those categories within the transcripts. We conduct an experiment for early validation, involving both students and practitioners, that determines the relative perceived importance of the identified fit-gap categories. Finally, we derive implications for research in the field that include our perspective on how tooling can assist analysts in fit-gap analysis