A much more crucial question is how to approach the topic in a targeted and at the same time agile way. The starting point for all considerations should always be the direct customer benefit. It is therefore important, as is common in Design Thinking, to first develop a deeper understanding of the problem in order to literally “get a feeling” for the problems and challenges actually faced by the customer. Based on this, several hundred ideas can quickly emerge in the context of so-called innovation workshops, where various creativity techniques and exercises are used. Starting with the most promising ideas, the greatest challenge is to quickly and systematically reach an assessment regarding whether the ideas with the highest priority are technically feasible or not. To formalize this process, we speak of “data science significant requirements”, i.e., non-functional requirements that must be fulfilled by data-driven digital services in order to assure that they are technically feasible. Specifically, data science significant requirements are used to specify which data is fundamentally required and in what quality, resolution, frequency, and quantity it must be available so that the statistical methods used can yield satisfactory results or, for example, that neural networks can be sufficiently trained. The concrete design of these non-functional requirements strongly depends on the functionality and the quality requirements placed on the digital service, for instance in connection with prediction accuracy. It is a fact, however, that these can only be elaborated and evaluated in a team and in cooperation with a wide variety of experts (domain experts, data scientists, statisticians, software engineers, lawyers, ..). Software engineering has always been teamwork, but in the area of Data Science and AI, this is even more true.
In order to enable the data-driven service to be developed to generate insights on a high professional level that are actually “valuable“ for end users, the entire team must have both a very high understanding of the domain and pronounced empathy for the actual problems and needs of the end users. This means that the different experts in the team must cooperate in a highly interdisciplinary and interactive manner. And this is the case to a far greater extent than in software engineering projects in the past.