Systems Engineering Trends

Donnerstags in 5 Minuten für Ingenieure und Entscheider: Systems Engineering ohne Hype, dafür mit Tiefgang

AnforderungenVeranstaltungen

Gojko Adzic: 5 Vorhersagen für das Anforderungsmanagement in den nächsten 20 Jahren

Was Gojko Adzic auf der diesjährigen REConf versucht, ist gewagt: Wie wird sich das Anforderungsmanagement in den nächsten 20 Jahren weiterentwickeln? Als erfolgreicher Buchautor und langjähriger Experte in der softwarelastigen Produktentwicklung bringt Gojko die passende Expertise mit. Aber 20 Jahre ist eine lange Zeit — besonders, wenn es um Vorhersagen bezüglich Technologie geht.

Im Folgenden eine Zusammenfassung der vier Herausforderungen und fünf Voraussagen von Gojko bezüglich der nächsten 20 Jahre im Anforderungsmanagement. Um ein bisschen vorzugreifen: Interessanterweise sieht er Systemmodellierung nicht als wichtigen Teil davon.

Gojko Adzic

Gojko Adzic ist Autor mehrerer Bücher zum Thema Software. Dazu gehören die für die ReConf relevanten Titel wie  Specification by exampleBehavior Driven DevelopmentTest Driven Development und Agile Testing

Die Folien zum Vortrag hat Gojko freundlicherweise allen zum Download bereitgestellt.

Was ist das Problem?

Das Ziel im Anforderungsmanagement ist es, salopp gesagt, Probleme zu erkennen und diese für die Stakeholder effektiv zu lösen. Das war früher einfacher als heute. Klassisches Beispiel: Wir wollen ein angenehmes Klima. Die Anforderung an die Heizung ist dann, die Temperatur des Raums auf 21°C zu bringen und dort zu halten.

Auf der Entscheiderebene geht es dann in der Regel darum, Werte zu schaffen. Beim Heizungsbeispiel ist das leicht und vor allem Nachvollziehbar. Doch je komplexer die Systeme werden und damit die kausalen Ketten, desto schwieriger wird es, analytisch die richtigen Anforderungen zu erfassen.

Niemand versteht AlphaGo

Domänenexperten und Programmierer halten das Verhalten von AlphaGo für fehlerhaft. Doch das Verhalten führte letzten Endes zum Sieg.

Gojko Adzic

Als Beispiel nannte Gojko Adzic das Verhalten von AlphaGo, einer KI, welche den Weltmeister im Brettspiel Go geschlagen hat. AlphaGo hat mehrfach Züge durchgeführt, welche zu dem Zeitpunkt weder die Go-Experten noch die AlphaGo-Programmierer verstanden hatten, bzw. für fehlerhaft hielten. Dennoch stellte sich später heraus, dass genau diese Züge zum Sieg führten.

Da stellt sich die Frage: Wie sollen wir ein System vernünftig spezifizieren, wenn wir nicht wirklich verstehen, welches Verhalten zum Besten Ergebnis führt?

Und damit sind wir dann auch schon bei der ersten Herausforderung:

Herausforderung #1: Es wird sehr viel schwieriger werden, mit Sicherheit zu wissen, was „richtig“ ist

Bei AlphaGo könnten wir sagen, dass es beim aktuellen Stand der Forschung nicht immer klar ist, wie ein Machine-Learning-System zum Ergebnis kommt. Doch es gibt auch wesentlich einfachere Beispiele. Der Farbton der Werbelinks bei Google hat zu Umsatzdifferenzen von bis zu 200 Millionen Dollar geführt. Die Anordnung von Feldern auf Formularen kann die Anzahl der erfolgreich ausgefüllten Formulare beeinflussen und vieles mehr.

Bei diesen und ähnlichen Beispielen ist es müßig zu versuchen, das Nutzerverhalten vorherzusagen. Und das führt zu der ersten Vorhersage:

Vorhersage #1: Der Anteil von Forschung und Modellierung im Anforderungsmanagement wird drastisch ansteigen

Wichtig: Hier geht es um Datenmodellierung, nicht um Systemmodellierung.

Herausforderung #2: Die Zeitpläne werden enger

Ist das, was wir machen, effektiv? Oft wissen wir dies erst (viel) später. Als Beispiel nannte Gojko Adzic das uns allen sicher bekannte Problem bei manchen Duschen, bei der eine Zeitverzögerung zwischen Verstellen des Wasserhahns und der Änderung der Wassertemperatur besteht.

Als etwas ernsthafteres Beispiel nannte er das „agile“ IT-Projekt der BBC, welches 75 Millionen Pfund gekostet hat, ohne nachweislich einen Mehrwert geschaffen zu haben.

Dies ist sicher zu großen Teilen auf fehlende Kompetenz zurückzuführen. Allerdings hätten schnelleres (und messbares) Feedback sicher auch geholfen. Und damit sind wir bei der nächsten Vorhersage:

Vorhersage #2: RE muss schnelleres und genaueres Feedback ermöglichen

Herausforderung #3: Entscheidungen werden immer mehr Menschen / Belange / Disziplinen einbeziehen

Wenn wir schneller reagieren sollen, dann müssen wir auch schneller Entscheidungen fällen. Doch auch das ist leichter gesagt als getan.

Hier brachte Gojko ein Beispiel von seinem jetzigen Arbeitgeber, ein SaaS-Unternehmen, welches Sprachdienste anbietet. Dort ging die Nutzung plötzlich drastisch hoch, um einen Faktor zehn. Die erste Reaktion war Freude, da mehr Nutzer ein hohes Interesse ausdrückt. Doch da es sich bei den Nutzern um kostenlose Pläne handelte, kosteten diese Nutzer dem Unternehmen eine Menge Geld.

Lange Geschichte kurz, es stellte sich heraus, dass ein Youtuber einen Hack veröffentlichte hatte, um die Nutzungsbegrenzung mit VPN zu umgehen. Gojko konnte in einem kurzen Zeitrahmen VPN-Verbindungen blocken und die Nutzung von VPN in ein kommerzielles Feature überführen. Diese Handlungsfreiheit war essentiell um mit einer Situation umzugehen, welche der Firma viel Geld gekostet hätte — oder sie sogar in den Bankrott hätte treiben können.

Vorhersage #3: Requirements Engineering wird zu kontinuierlichem Reengineering

Damit sind wir bei der vierten Herausforderung:

Herausforderung #4: Die Werkzeuge, die all dies beherrschen können, gibt es noch nicht

Karl Klammer (Clippy) ist ein Beispiel für ein Werkzeug, dass schon in den 1990ern erfolglos versuchte, Nutzer bei Ihrer Arbeit zu unterstützen. Und auch heute haben wir zwar generative KI wie ChatGPT, die das wesentlich besser zu tun scheint.

Bemerkenswert: ChatGPT besteht Prüfungen von Universitäten für Recht und Wirtschaft.

Doch auch dort gibt es dramatische Fehler und Probleme. Kurz, wir brauchen Werkzeuge für all diese Herausforderungen. Und diese Werkzeuge gibt es zumindest heute noch nicht. Daher die Vorhersage:

Vorhersage #4: Es werden neue Tools erscheinen, die die Analyse, Dokumentation und das Zusammenfassen unterstützen und beschleunigen.

Es wird garantiert neue Tools geben, klar. Schließlich bleibt die Entwicklung nicht stehen. Allerdings geht Gojko davon aus, dass diese KI-basiert sein werden.

Verantwortungsvoller Umgang mit Technik

Der Abgasskandal hat dazu geführt, dass ein VW-Mitarbeiter in den USA zu einer Gefängnisstrafe verurteilt wurde. Das war jedoch nicht das erste Mal, dass bei einem Produkthersteller geschummelt wurde. Gojko Adzic gab als weiteres Beispiel nVidia an, deren Grafikkarten Benchmarks erkannt hatten und dann eine größere Performance vorgetäuscht hatten. Doch das führte eher zu einem generellen Achselzucken.

Der Unterschied? Sicherlich ist es eine größere Straftat, die Umwelt zu verschmutzen als ein paar Gamer zu frustrieren. Aber der andere Unterschied ist, dass der nVidia-Betrug 10 Jahre früher stattfand. Je mehr Software in unser tägliches Leben eindringt, desto kritischer beurteilen Behörden und Anwender solche Vorfälle. Das führte zu einer weiteren Vorhersage:

Vorhersage #5: Gesellschaftliche, ethische und moralische Belange werden in Zukunft eine viel größere Rolle spielen.

Zu diesem Thema gab Gojko noch weitere Beispiele, wie die Erstellung von nichtexistenten Kundenkonten des FinTech-Startups Frank, was ebenfalls zu einer Gefängnisstrafe führte.

Und auch ohne vorsätzlichen Betrug steigt die Anzahl an ethischen Fragen, die wir uns schon während der Entwicklung stellen müssen. Gojko Adzic erwähnte hier eine Variation des klassischen Trolley-Problems.

Und was ist mit Systemmodellierung?

Persönlich bin ich der Meinung, dass wir ohne ein zentral verwaltetes Systemmodell die hier beschriebenen Herausforderungen nicht meistern können. Insofern war ich dann doch überrascht, dass das Thema nicht aufkam. In der anschließenden Fragerunde konnte ich diese Frage stellen. Gojko sah das Thema der Modellierung als verfrüht an, insbesondere, weil seine Antwort implizierte, dass er ein grafisches Modell vor Augen hatte. Weiterhin wies er drauf hin, dass sich Text, im Gegensatz zu (grafischen) Modellen, auch hervorragend für das Änderungsmanagement eignet.

Der Rahmen ließ keine leidere längere Diskussion zu. Insbesondere gibt es schon lange textbasierte Modellierungssprachen (B, VDM), zu denen auch bald die SysML v2 zählen wird. Dennoch ist natürlich beeindruckend, wie mächtig moderne generative KI ist, auch ohne ein formales Systemmodell dahinter. Persönlich glaube ich jedoch, dass der Ansatz ohne Systemmodell relativ bald auf Grenzen stoßen wird. Die Zeit wird es zeigen.

Fazit: RE in 20 Jahren

Vorhersagen über einen Zeitraum von 20 Jahren in der heutigen Zeit sind schwerer denn je. Dementsprechend waren die Vorhersagen auf einer hohen Abstraktionsebene. Doch gerade wenn es um strategische Zielsetzung geht, kann so eine Sicht helfen, über den tagtäglichen Hype hinwegzusehen.

Michael Jastram

Creator and Author of SE-Trends