{"id":1089,"date":"2017-05-18T08:00:37","date_gmt":"2017-05-18T06:00:37","guid":{"rendered":"https:\/\/se-trends.de\/?p=1089"},"modified":"2017-05-23T18:31:05","modified_gmt":"2017-05-23T16:31:05","slug":"neil-maiden","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/neil-maiden\/","title":{"rendered":"Interview with Neil Maiden: Reaching the goal with goals"},"content":{"rendered":"<p>Neil Maiden ist Professor f\u00fcr Digitale Kreativit\u00e4t an der Faculty of Management der Cass Business School, und Mitbegr\u00fcnder des Centre for Creativity in Professional Practice at City, University of London. Er f\u00fchrt interdisziplin\u00e4re Forschung durch im Softwareengineering, Kreativwissenschaften sowie integrierte Gesundheits- und Sozialwissenschaften.<\/p>\n<p>Auf der ReConf 2017 hielt er einen Vortrag \u00fcber kreatives Denken bei agilen Anforderungsprozessen (<a href=\"https:\/\/www.youtube.com\/watch?v=q6A9TqNLYbg\" target=\"_blank\" rel=\"noopener noreferrer\">anschauen<\/a>). Ich sprach auf der Konferenz mit Neil \u00fcber <a href=\"https:\/\/se-trends.de\/vom-ziel-zur-anforderung\/\" target=\"_blank\" rel=\"noopener noreferrer\">zielbasierte Systementwicklung<\/a>. Dies ist eine \u00dcbersetzung des Interviews, welches <a href=\"http:\/\/formalmind.com\/blog\/neil-maiden\/\" target=\"_blank\" rel=\"noopener noreferrer\">in Englisch im Formal Mind Blog<\/a> zu lesen ist.<!--more--><\/p>\n<h2>Wie werden Systeme entwickelt, wenn der Ausgangspunkt Ziele auf h\u00f6chster Ebene sind?<\/h2>\n<p>Unser Ansatz basiert auf dem i* (<a href=\"https:\/\/en.wikipedia.org\/wiki\/I*\" target=\"_blank\" rel=\"noopener noreferrer\">i-star<\/a>)-Framework f\u00fcr zielbasierte Modellierung. Zun\u00e4chst m\u00fcssen die Stakeholder und Akteure identifiziert werden. Es geht ja nicht um Ziele per se, sondern um die Ziele der verschiedenen Stakeholder und Akteure. Das k\u00f6nnen die Ziele einer Organisation sein, eines Individuums (mit einer Rolle), oder sogar Ziele eines Systems. Hierarchische Ziele funktionieren nur selten, da fr\u00fcher oder sp\u00e4ter Akteure gegens\u00e4tzliche Ziele haben. Nat\u00fcrlich gibt es auch Abh\u00e4ngigkeiten zwischen Zielen, aber letzten Endes geht es darum, die Ziele gegeneinander abzuw\u00e4gen und so viele Akteure \u2013 und deren Ziele \u2013 zu befriedigen.<\/p>\n<p>Daher beginnen wir normalerweise mit den Akteuren und bauen ein zielbasiertes Modell f\u00fcr jeden Akteur. In einem komplexen System, wie einem System zur Luftraum\u00fcberwachung, k\u00f6nnen dies 30 bis 40 Akteure sein. Dazu geh\u00f6ren Organisationen, wie eine Luftlinie, eine menschliche Rolle, wie ein Pilot, oder eine beliebige Anzahl von Systemen, wie einem Radarsystem. Aber unserer Erfahrung nach muss man von unten nach oben, oder zumindest \u201evon der Mitte aus\u201c das Modell aufbauen, um dabei alle Ziele, Aufgaben, Beschr\u00e4nkungen und Qualit\u00e4tsanspr\u00fcche von jedem Akteur zu verstehen. Dann erst werden die komplexen Beziehungen erstellt.<\/p>\n<blockquote><p>Man muss von unten nach oben, oder zumindest \u201evon der Mitte aus\u201c das Modell aufbauen. Erst dann werden die komplexen Beziehungen aufgebaut. [tweetthis]Man muss von unten nach oben, oder zumindest \u201evon der Mitte aus\u201c das Modell aufbauen.[\/tweetthis]<\/p><\/blockquote>\n<h2>Bei Euch wird i* eingesetzt, das ja nicht wirklich verbreitet ist. Kann man diese Ideen auch mit popul\u00e4ren Modellierungssprachen umsetzen?<\/h2>\n<p>Leider bekommt man solche Modelle nicht mit bestehenden Methoden, daher bezeichne ich sie als schwach. Bei i* geht es um strategische Zielmodellierung, nicht darum, jedes Ziel zu modellieren. Also muss der Ingenieur oder Analyst erst einmal entscheiden, was \u00fcberhaupt strategisch ist. Die Herausforderung ist es, sich nur die wirklich strategischen, f\u00fcr das System wichtigen Ziele, Aufgaben und Qualit\u00e4ten zu konzentrieren, um diese Modelle zu erstellen. Dadurch ergibt sich ein Modell mit 300 bis 400 Elementen, verteilt auf 30 bis 40 Akteure. Aber das ist immer noch auf einer hohen Abstraktionsebene.<\/p>\n<p>Von diesen Zielen und Aufgaben arbeiten wir uns herunter, indem wir Anwendungsf\u00e4lle erstellen. Wir haben mit der halbautomatischen Generierung von Use Case-Modellen experimentiert, die von den Modellen abgeleitet werden. Aber wir fanden diese zu beschreibend, es gab nicht genug Raum f\u00fcr Kreativit\u00e4t. Statt dessen haben wir eine Menge von Richtlinien zum Herunterbrechen erstellt. Man nimmt die strategischen Ziele, die strategischen Akteure, und schaut sich die Aufgaben an, die sie erf\u00fcllen m\u00fcssen. Dies nutzen wir als Bausteine, um eine konkrete Spezifikation aus Anwendungsf\u00e4llen zu erstellen. Dabei benutzen wir nur selten visuelle Use-Case-Modelle, also die Kartoffel-und-Strichm\u00e4nnchen-Darstellung, da die Semantik dieser Diagramme schon immer schwach war. Statt dessen benutzen wir die deskriptiven Anwendungsfall-Schablonen.<\/p>\n<p>Aber das Problem ist einfach, dass diese anspruchsvollen Zielmodelle einfach nicht weit genug verbreitet sind. Ich glaube nicht, dass die Notation das Problem ist. Das Problem ist eher der Kenntnisstand der Analysten, und Nutzer haben Probleme, die Modelle wirklich zu verstehen, wenn sie keine Ausbildung in Modellierung und Abstraktion bekommen haben. Es ist schwierig!<\/p>\n<p>Wir nutzen diese Modelle intern, und manchmal zeigen wir sie auch Ingenieuren oder entsprechend ausgebildeten Stakeholdern. Aber normalerweise benutzen wir Darstellungen, die von den internen Modellen abgeleitet wurden. Zum Beispiel haben wir eine Serie von Schablonen entwickelt, mit denen wir halbautomatisch Anforderungstexte generieren k\u00f6nnen. Mit einem einfachen Knopfdruck (mehr oder weniger), werden 200 bis 300 einfache Anforderungen generiert. Das scheint die Produktivit\u00e4t erheblich erh\u00f6ht zu haben.<\/p>\n<blockquote><p>Wir zeigen normalerweise eine abgeleitete Version des Modells, statt dem eigentlichen Modell. Das ist sehr effektiv f\u00fcr die Kommunikation mit den Stakholdern. [tweetthis]Wir zeigen normalerweise eine abgeleitete Version des Modells, statt dem eigentlichen Modell.[\/tweetthis]<\/p><\/blockquote>\n<h2>Das klingt nach einem guten Ansatz, um Anwendungsf\u00e4lle zu bekommen, die mit den Zielen konsistent sind. Was passiert \u00fcber einen l\u00e4ngeren Zeitraum?<\/h2>\n<p>Das ist ein guter Einwand. Wir haben immer angenommen, dass bidirektionale Nachverfolgbarkeit ein leicht zu l\u00f6sendes Problem des \u00c4nderungsmanagements w\u00e4re. Aber um ehrlich zu sein, Dort gibt es in der Tat ein Problem. Man kann nat\u00fcrlich argumentieren, dass das Modell nur der Ausgangspunkt ist: Das Modell ist nur zu einem einzigen Zeitpunkt wirklich korrekt. Direkt nach dessen Validierung ist das Modell potentiell schon wieder invalide. Wir m\u00fcssen auch umsichtig sein, wie viel uns das Modell wirklich geben kann. Es geht ja um einen iterativen Prozess: Per Definition versuchen wir, uns zu ver\u00e4ndern, zu einer besseren L\u00f6sung. Das Modell ist lediglich ein Snapshot zu einem Zeitpunkt in diesem Prozess. F\u00fcr uns ist das Modell nicht das Endprodukt, sondern Mittel zum Zweck. Das Modell hilft, die richtigen Fragen zu stellen und die richtigen Entscheidungen zu treffen, und das kann sogar ohne Referenz auf das Modell geschehen. Aber das Modell hat den Rahmen gesetzt, um die Entscheidungen zu finden, und diese richtig zu treffen. Nur selten machen wir das Modell zum Teil der Spezifikation. Es ist ein internes Werkzeug, welches die Stakeholder nur selten zu sehen bekommen.<\/p>\n<p>Au\u00dferdem ist das Modell dynamisch, und kein statisches Diagramm. Manchmal erwarten Menschen, dass das Modell als statisches Diagramm vollst\u00e4ndig visualisiert werden kann. Aber es werden ja st\u00e4ndig Dinge ein- oder ausgeschaltet, und mit ge\u00e4nderten Rahmenbedingungen bekommt man auch ein ver\u00e4ndertes Modell. Ein Modell ist ein viel komplexeres Artefakt, und wird auch Teil des zugrundeliegenden Dom\u00e4nenmodells. Entwickelt wird ein kombiniertes Ziel- und Dom\u00e4nenmodell f\u00fcr einen bestimmten Industriesektor.<\/p>\n<h2>Kannst Du eine Empfehlung aussprechen? Wer sollte zielbasierte Modellierung anwenden, und worauf sollte geachtet werden?<\/h2>\n<p>Um Ziele gut zu modellieren, braucht man extrem gute analytische F\u00e4higkeiten. Ich lese sowohl Forschungsergebnisse und sehe auch, was in der Industrie passiert. Und vieles, was ich sehe, halte ich f\u00fcr falsch, oft fehlt ein klares Verst\u00e4ndnis der Semantik. Aber darauf basieren die Entscheidungen, und das kann zu falschen Entscheidungen f\u00fchren. Was wir also eigentlich brauchen sind bessere analytische F\u00e4higkeiten. Wir brauchen Leute, die in der Lage sind, lang und tief \u00fcber Probleme nachzudenken. Agile Vorgehen, befreit uns ein wenig davon, denn dort wird in kleinen Schritten etwas konstruiert und dann beobachtet.<\/p>\n<p>Aber das ist eine lange Antwort, die kurz zusammengefasst werden kann: Man braucht einfach die richtigen Kenntnisse, um solche Modelle entwickeln zu k\u00f6nnen. Man braucht ausreichend Problemanalyse vorweg. Man muss sich bewusst sein, dass das Zielmodell ein Dom\u00e4nenmodell enth\u00e4lt, welches nur mit ausreichenden Kenntnissen der Dom\u00e4ne entwickelt werden kann. Und man muss wissen, dass es immer Vor- und Nachteile gibt, es gibt nichts umsonst. Ohne das richtige Investment wird die Arbeit einfach verpuffen. Diese Themen sind schwierig und komplex. Das macht sie ja auch so interessant.<\/p>\n<p style=\"text-align: right;\"><span style=\"color: #999999;\">Bild: Neil Maiden<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Neil Maiden is Professor of Digital Creativity in the Faculty of Management at Cass Business School, and co-founder of the Centre for Creativity in Professional Practice at City, University of London. He conducts interdisciplinary research in software engineering, creative sciences and integrated health and social sciences. At ReConf 2017, he gave a presentation on creative thinking in...<\/p>","protected":false},"author":1,"featured_media":1090,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[53,83],"tags":[217,63,216,79,112],"class_list":["post-1089","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interview","category-methoden","tag-i","tag-modellierung","tag-neil-maiden","tag-reconf","tag-ziele"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/1089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=1089"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/1089\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/1090"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=1089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=1089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=1089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}