Interdisciplinarity as the silver bullet
More and more, our everyday life consists of software applications. But digital systems that permeate our lives have multiple dependencies. A successful system is the fruit of continuous cooperation with users and technology partners - a new requirement for requirements engineering.
En a branch of a well-known coffee house chain, customers who want to order a latte macchiato no longer do so at the counter, but at a terminal right at the entrance via touchscreen or smartphone app. Payment can then also be made immediately via credit card or smartphone. The entire ordering and payment process is therefore digital; the staff behind the counter no longer even have to press the right buttons on the coffee machine: The machine already knows the temperature and strength at which the customer wants his coffee and prepares it accordingly - thanks to interaction between the machine and the user profile of the smartphone app.
Thinking outside the box
The fact that such a thing is or will become reality at all stands and falls with the acceptance by the users. And a prerequisite for implementation is the interaction of requirements engineers, application developers and data scientists. However, this is far from being a matter of course. We therefore talked to Prof. Dr. Samuel A. Fricker and Prof. Dr. Doris Agotai about the entire development process and new possibilities for complex systems thanks to digitalization. They both work as lecturers at the Institute for 4D Technologies at the University of Applied Sciences Northwestern Switzerland and are experts in requirements engineering (Fricker) and user experience (Agotai). During the conversation, it quickly becomes clear that digitalization is forcing the entire field of computer science to think in different, new categories. Because it's about nothing more than scaling software systems down to the population level: "You bring services to the population via digital systems and use a common infrastructure in the process," is how Samuel A. Fricker sums it all up. This means, for example, that the customer no longer goes to the bank, but the bank comes to the customer. This will require greater cooperation between IT companies, telecommunications and society. "Information technology is changing into an interdisciplinary field," adds Doris Agotai. "Since we do many things differently today, digitally, IT is challenged to perform this translation work and fundamentally reinvent existing processes."
Trial and error as the method of choice
Requirements engineering, understood as the methodological backbone of project management, encompasses much more than the definition of requirements (by business analysts, for example), which are then to be implemented by application developers to create "products with sales potential". This view may have been valid just ten years ago. "Systems are developed by and for people. You're supposed to identify needs, understand their relevance to the digital solution, and negotiate a reasonable solution variant with each other," is how Samuel A. Fricker describes the current approach. But the problem is: "You can't just ask the customer what he wants - especially not when we have the broad public as users that digitalization is supposed to address," Fricker continues. Therefore, he said, future system development must consist of shared learning about what works and what doesn't. But not only this. "You have to increasingly combine the right competencies in development teams and identify the right partners for this, who already come up with partial solutions," Fricker adds. And Doris Agotai adds: "It's about merging the process between requirements engineering and user experience. The solutions developed must be constantly measured against how users react to them. In short, users also need to be embedded directly into the development processes. This is a must-have." Samuel A. Fricker also knows that "we can't fundamentally predict how users will behave. Brainstorming in a conference room does nothing for this. Therefore, observe the use of systems and approach users who are struggling. Measure the effect of the systems and improve what doesn't fit. This will help you mature systems across use cases, user groups, and use contexts."
Trust as a success factor
But it is by no means just about the users. It is also about data. These are actually at the very beginning. In more and more areas, vast amounts of data are being collected - even if it is only through records of visitor entries in restaurants. This data must not be collected and exploited solely by a few organisations. Data is a public good, Fricker demands. There must be a "democratization" of data, for example with the help of marketplaces that give users transparency and control over the use of their data. Only by handling data responsibly is it possible to gain the trust of users. After all, it is these users who ultimately decide whether it is worth disclosing personal information and enabling the development of applications in return. They decide, for example, whether an intelligent coffee machine can serve the preferred blend from the collected user profiles ... The coffee machine example also shows how strongly systems - ordering process, machine control, payment systems - must be interoperable. The
Not only users, but also companies need to trust each other.
requires interdisciplinary, open cooperation between companies. And trust, as Samuel A. Fricker explains: "Not only users, but also companies must trust each other. Only then can they jointly develop digital systems that permeate our lives. It would be exciting to have an indicator that would help us measure such trust." Trust, less standards for it? "Standards are a means to build trust. Standards also provide stability and thus enable agile development. However, especially young companies struggle with learning standards and assessing their importance. So, standards are a means with trade-offs and accordingly a challenge." According to Doris Agotai, it is important to include the entire customer journey in development. And that should be a departure from computer science, which focuses on developing isolated, monolithic systems.