goal to a few questions, which are then answered through
insights obtained from machine learning based on given data.
Washizaki et al. [179] reviews architectural patterns and de-
sign patterns for ML systems covering different ML related
tasks, such as datalake for storage, provision of raw data for
analytics, decoupling of business logic from machine learning
workflow, adoption of event-driven micro-services, version
management of machine learning models, etc. The knowhow
is rich and reusable but cannot cover ML application design
process systematically. Trustworthiness of ML applications
requires the compliance to applicable laws and regulations,
as well as a series of domain specific physical laws. Hence
the elicitation and evaluation of the compliance has become
another major topic of interest in RE for ML. Sothilingam et al.
[180] conducted an empirical case study of three ML software
project organizations, and examined variations in project team
designs using i* concepts of Agents, Roles, and Positions to
support the analysis of complex organizational relationships
for insufficient roles and expertises mapping.
There are related study on integrating scientific knowledge
with machine learning for engineering and environmental
systems, as well as hybrid modelling approaches that combine
machine learning and simulations [181]. The integration could
go both ways, either using ML to enhance domain models
where the cause-effect relations are not fully evident [182],
or using common-sense knowledge, common knowledge and
domain knowledge models to modify generic models for
specific domain. This is also called physics-aware learning or
informed machine learning [98].
A. RQ1: What are the roles involved in engineering data-
driven intelligence applications?
In requirements engineering for traditional software de-
velopment, the main roles are business experts, software
requirements engineers and development engineers. A gen-
eral requirements process starts with defining the scope of
the business problem, which identifies the stakeholders by
establishing the extent of the work. The software requirements
engineer further identifies the requirements after requirements
elicitation and specification through communication with the
stakeholders, especially the business expert. When it comes to
requirements of machine learning (or data-driven intelligence)
functionalities, data scientists will take part in the RE process,
and domain experts also play an irreplaceable role in industrial
applications since domain knowledge are always necessary for
understanding relevant theory and scenarios.
We summarize the concerns and challenges in process of
RE for ML in Table II. It is not an exhaustive list, but include
the ones that are most mentioned in the literature related to
data-driven intelligence requirements. For example, fairness is
introduced into the non-functional requirements since machine
learning models can be biased by chosing training datasets in
favor of certain group. And stability becomes more important
than ever as the predictive results generated by machine
learning models are unreliable when there is minor changes
of situation.
The challenges stand for urgent problems to be solved from
each role. For business experts, building a reasonable cognition
on related technologies is quite meaningful, which would give
the proposed business goals more supports. For requirements
engineers, researchers have proposed some novel requirements
modeling methods for machine learning applications in recent
years, considering factors like privacy [183], security [76],
scenarios [47] and goal revision [184]. For the other roles, the
challenges mainly come from multidisciplinary and technical
bottlenecks.
B. RQ2: What are the areas for the engineers to collaborate
during requirements stage?
In RE, there are many proven practices for the elicitation,
modeling, specification, verification and management of re-
quirements. These include goal-oriented modeling and analysis
of functional requirements using KAOS and non-functional
requirements using NFR, actor-based analysis to organiza-
tional structures with iStar, and scenario-based description
of use-system interactions with use cases and use stories.
These approaches well apply to the requirements processes
for current industrial applications. For one example, the Volere
Reqirements Process [185] is generally applicable to any early
requirements stage when we try to understand the business
context, form a system design idea, and verify it.
However, as we discussed in section III-A, the concerns
of each role have changed and more roles must be involved.
Digging into the concerns of each role, we can see the con-
nection between them. For example, the business goals from
business experts should be fulfilled by the prototypes from de-
velopment engineers, while the prototypes must correctly use
the machine learning models from data scientists. We decribe
the connections in Fig. 1, where the roles are represented by
circles, and red lines highlight the analysis process of using
data-driven ML approach to address a problem.
Here we list the most widely discussed collaboration-related
issues covered by the references.
•What should be considered if we want to use machine
learning models as expected? This issue covers a wide
range, including the widely concerned topic, XAI (or
trustworthy AI). The collaboration on this issue gener-
ally happens between requirements engineers and data
scientists. [77]
•How can software architectures be designed to enable
robust integration of machine learning models? This issue
exists because there is a huge gap between software
development technologies and data science. The architec-
tures design considerations have to include data quality,
uncertainty, privacy and so on. Obviously this belongs
to the partnership of development engineers and data
scientists. [85]
•How can the process of requirements analysis be adaptive
to machine learning systems? Due to big gap between tra-
ditional software and machine learning systems, existing
requirements methods have to be improved accordingly.