Domain specific Requirements Elicitation (RE) — a user-centric approach
Can we build a mobile app that gathers requirements from our customers for a software project? Can we make our app smart enough to export those requirements into development environment? By doing so can we ease our work? Let's figure out!
Domain modelling is an activity of creating a domain model that represents important and relevant aspects of the problem to be solved—- and the solution is a software. Domain modelling demands rigours domain knowledge, and such domain knowledge can only be uncovered through effective RE. Traditional RE methods are not suitable enough for domain specific demands during the elicitation phase e.g. discovering and specifying domain entities, their behaviours and their relationships with each other . There exist domain-specific requirements languages (DSRLs) to overcome this barrier. However, it adds the burden of learning a new language for requirements engineer or business analyst.
The research question we are interested in is- "How can we engage non-technical stakeholders in elicitation process to discover and specify domain knowledge in a format which is more suitable for domain modelling?". A similar attempt has been done where semi-structured mind maps built by non-technical stakeholders are used to automatically build structured class diagrams .
In recent years, the requirements elicitation community has seen the use of mobile RE tools to tackle problems such as availability of elicitation tools at the stakeholder's workplace to capture the contextual information about their work more accurately and easily . A requirements negotiation mobile tool (app) based on building scenarios (a technique to capture requirements) has been proposed . Another example includes camera and audio recording features of a mobile used to capture contextual information for a specific user task . This prototype was built for Bada system (https://en.wikipedia.org/wiki/Bada).
We propose an approach to build a mobile solution that can be used to discover and specify domain specific concepts and relationships. We aim for the approach not to be restricted only to requirements negotiation and scenarios, but to also use diverse elicitation techniques such as SWOT analysis, in app interviews and questionnaires etc. Natural language processing when applied on the collected data, can bring additional advantage in discovering domain concepts and their behaviour automatically.
The proposed approach has multifaceted advantages:
- Stakeholders can express their needs, ideas, goals whenever they want, and complement those with rich contextual data such as photos of workplace, rough drawings etc. which would serve as a requirements model
- It helps to build a domain specific Ontology
- Domain modellers get entire contextual data around domain entities and relationships, so that they can build a more accurate conceptual and design models
- It makes it easier to establish a tight and natural coupling between requirements and their implementation, and also eases their co-evolution
Reference papers:  Domain-Specific Software Engineering  Domain Specific - a Binary Decision?  Determining Stakeholder Needs in the Workplace: How Mobile Technologies Can Help  iRequire: Gathering End-User Requirements for New Apps  Using Mobile RE Tools to Give End-Users their Own Voice  MindDomain: An Interoperability Tool to Generate Domain Models Through Mind Maps