{"id":720,"date":"2016-11-10T08:00:10","date_gmt":"2016-11-10T07:00:10","guid":{"rendered":"https:\/\/se-trends.de\/?p=720"},"modified":"2023-09-13T11:40:08","modified_gmt":"2023-09-13T09:40:08","slug":"models-instead-of-requirements","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/modelle-statt-anforderungen\/","title":{"rendered":"Models instead of requirements? Eight arguments for the best of both worlds"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Unter diesem \u2013 zugegebenerma\u00dfen provokanten Titel \u2013 lief neulich meine Session beim <a href=\"https:\/\/se-trends.de\/re-barcamp-2016\/\">RE-Barcamp in K\u00f6ln<\/a>. Diese Frage wurde unter anderem durch das spannende World-Cafe beim <a href=\"https:\/\/se-trends.de\/se-gettogether\/\">SE Get Together bei oose<\/a> angesto\u00dfen. Dort ging es um die Frage, was &#8222;Anforderungs-Modellierung&#8220; eigentlich ist. Wir kamen zu dem Ergebnis, dass Modellierung in diesem Zusammenhang auf zweierlei Weise angewendet wird: Zum Einen, um das Schreiben von Anforderungen zu unterst\u00fctzen; zum Anderen, um mit dem Modell einen Gro\u00dfteil der Anforderungen zu ersetzen. Aber k\u00f6nnen Anforderungen wirklich durch ein Modell ersetzt werden?<\/p>\n\n\n\n<div style=\"border: 1px solid #008800; padding: 5px; text-align: center;\"><strong>Terminerinnerung:<\/strong> Anmeldung zum <strong>Systems Engineering Barcamp<\/strong> am 3. Dezember in Hamburg l\u00e4uft. <a href=\"http:\/\/nord.systemscamp.org\/\" target=\"_blank\" rel=\"noopener\">Jetzt anmelden &gt;&gt;<\/a><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schwarz oder Wei\u00df?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Um es gleich vorwegzunehmen: Die Welt ist nicht schwarz oder wei\u00df, und in den meisten F\u00e4llen ist ein Hybridmodell, also eine Mischung von Anforderungen und Modellen sinnvoll. Problematischer sind Redundanzen. Wenn also Anforderungen und Modelle gemischt werden, dann muss darauf geachtet werden, dass keine Dopplungen auftauchen. Und falls sich Dopplungen nicht vermeiden lassen, muss gekl\u00e4rt werden, wie diese synchron gehalten werden.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Wir m\u00fcssen uns nicht zwischen Anforderungen und Modellen entscheiden, sinnvoll ist beides. Aber wir m\u00fcssen Redundanzen vermeiden. [tweetthis]Wir m\u00fcssen uns nicht zwischen Anforderungen und Modellen entscheiden[\/tweetthis]<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Die Barcamp-Session<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beim Barcamp geht es um die aktive Mitarbeit. In diesem Fall ging es mir darum, die Erfahrungen der circa zwanzig Anwesenden zu diesem Thema zu sammeln und zu strukturieren. Dazu reichte die Zeit gerade aus, wobei die Kommentare oft von der Gruppe aufgegriffen und diskutiert wurden. Hier nun die wichtigsten Ergebnisse:<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">1.<\/span>Auch Anforderungen sind Modelle<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Was ist \u00fcberhaupt ein Modell? Zu Modellen geh\u00f6ren Mockups, Prototypen, Abstraktionen, physikalische Modelle (wie das Segelschiff oben), und vieles mehr. Auch nat\u00fcrliche Sprache ist eine Modellierungssprache, wenn auch normalerweise eine recht informelle. Auch diese kann in kleinen Schritten formalisiert werden. Das f\u00e4ngt schon mit einem Glossar an, und kann bpsw. mit Textschablonen weiter getrieben werden. Das erkl\u00e4rt sicher auch, warum das Mischen von Anforderungen und Modellen kein Problem darstellt, wenn es systematisch betrieben wird.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">2.<\/span>Modelle unterst\u00fctzen Durchg\u00e4ngigkeit und Nachverfolgbarkeit<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Durchg\u00e4ngigkeit und Nachverfolgbarkeit erfordern weniger Aufwand bei der Modellierung als bei nat\u00fcrlichsprachigen Anforderungen, da bei Modellen viele Beziehungen implizit beim Modellieren gesetzt und mitgepflegt werden. Noch wichtiger, in manchen Modellierungssprachen sind Beziehungen selbst Modellelemente mit einer klar definierten Semantik.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">3.<\/span>Lesen, Schreiben und Sichten<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Anforderungen kann jeder lesen (mit Geduld), Modelle zu lesen muss jedoch gelernt sein. Daher m\u00fcssen die Stakeholder beim Modellieren ganz anders abgeholt werden als bei traditionellen Anforderungen. Insbesondere kann eine Schulung zum Lesen von Modellen den Unterschied zwischen Erfolg und Misserfolg darstellen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aber auf der anderen Seite erm\u00f6glichen Modelle das generieren von spezialisierten Sichten, und sind damit traditionellen Anforderungen \u00fcberlegen: Es ist leicht, das f\u00fcr den Leser unwichtige auszublenden. Ein Stichwort aus der Session war Dokumentengenerierung: Viele Stakeholder werden Modelle in der Form von generierten Dokumenten konsumieren. Diese k\u00f6nnen relativ leicht wiederum mit Anforderungen vermischt werden, oder das Modell sogar so geschickt generieren, dass der Leser kaum erkennt, dass es sich um ein generiertes Dokument handelt.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">4.<\/span>Auf den richtigen Detaillierungsgrad kommt es an!<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Sowohl bei Modellen als auch bei Anforderungen ist es wichtig, den richtigen Detaillierungsgrad zu w\u00e4hlen. Das ist gar nicht so einfach, und erfordert ein gewisses handwerkliches Geschick. Es ist kein Wunder, dass es viele Schulungen zum Thema &#8222;Anforderungen richtig formulieren&#8220; gibt. Doch w\u00e4hrend es bei Anforderungen schon viel Wissen und Erfahrung gibt, ist die Systemmodellierung einer relativ junge Disziplin. (Das ist auch einer der Motivationen f\u00fcr das <a href=\"https:\/\/se-trends.de\/modeling-craftsmanship-camp\/\">Modeling Craftsmanship Camp in Hannover<\/a>).<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">5.<\/span>Ein Bild sagt mehr als 1000 Worte<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Modellierung ist auch deswegen beliebt, weil sich manche Probleme viel besser visuell beschreiben lassen, zum Beispiel Abl\u00e4ufe. Das trifft aber nicht auf alle Anforderungen zu, und das ist auch wieder ein Argument daf\u00fcr, Modelle und Anforderungen miteinander zu kombinieren. Bei einer auf Anforderungen ausgerichteten Methode ist es auch nicht ungew\u00f6hnlich, dass die Modelle genau das sind: Einfach nur Bilder. Erfahrene Modellierer runzeln hier die Stirn. Es ist aber v\u00f6llig legitim, die Modelle nur als Bilder zu behandeln; solange das alle Beteiligten auch verstehen und diese Bilder systematisch pflegen.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">6.<\/span>Wegwerf-Modelle zur Unterst\u00fctzung der Anforderungen<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Eine wichtige Klasse von Modellen sind Prototypen und Mockups \u2013 Modelle, die nach ihrem Gebrauch nicht weiter gepflegt werden. Diese haben lediglich eine unterst\u00fctzende Rolle, k\u00f6nnen aber sehr wertvoll sein: Sie helfen, die Anforderungen pr\u00e4ziser zu machen und L\u00fccken zu entdecken. Die gr\u00f6\u00dfte Gefahr hierbei ist, dass nichts l\u00e4nger h\u00e4lt, als ein Provisorium. Mit anderen Worten, manchmal werden Prototypen in das Produkt weiterentwickelt (besonders bei Software), was auf ein wackeliges Fundament hinauslaufen kann.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">7.<\/span>Artefakte statt Anforderungen und Modellen<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Bei der Diskussion stellte sich schnell heraus, dass es neben traditionellen Anforderungen und Modellen noch vieles andere gibt, was die Kundenw\u00fcnsche beschreibt. Hier wurde das Wort &#8222;Artefakt&#8220; vorgeschlagen. Danach sind Anforderungen und Modelle nur zwei Typen von Artefakten, zu denen dann noch viele andere hinzukommen, von Skizzen bis Powerpoint-Folien.<\/p>\n\n\n\n<div style=\"background: #7eb13d; padding: 20px; border-radius: 10px; color: white; font-size: 120%; margin-bottom: 20px;\" id=\"8\"><span style=\"font-size: 300%; float: left; vertical-align: middle; font-weight: bold; line-height: 1em;\">8.<\/span>Modelle als Kommunikations-Starter<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Sowohl Anforderungen als auch Modelle dienen der Kommunikation. Dementsprechend kann es auch sinnvoll sein, die Kommunikation in den Vordergrund zu stellen und das daf\u00fcr passendste Artefakt zu suchen. Ziel sollte es sein, die Sprache der Stakeholder zu finden. Hier haben allerdings Modelle den Vorteil, dass unterschiedliche Sichten erzeugt werden k\u00f6nnen (Punkt 3), f\u00fcr jede Klasse von Stakeholdern die Richtige.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"sysmod\">Schritt f\u00fcr Schritt mit dem SYSMOD Intensity Model<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Laut <a href=\"https:\/\/se-trends.de\/sysmod-methode\/\">SYSMOD<\/a> gibt es das sogenannte Intensity Model: Bei Stufe 1 dient das Modell lediglich der Kommunikation, w\u00e4hrend in Stufe 3 das Modell in der Tat die Spezifikation (gr\u00f6\u00dftenteils) ersetzt. Die Kosten f\u00fcr SYSMOD 3 sind nat\u00fcrlich h\u00f6her als bei SYSMOD 1 \u2013 aber auch der Nutzen.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img data-src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity.png\" data-srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity.png 615w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-453x192.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-281x119.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-18x8.png 18w\" decoding=\"async\" width=\"615\" height=\"261\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" alt=\"SYSMOD Intensity Model (Quelle: SYSMOD-Buch)\" class=\"wp-image-757 lazyload\"  sizes=\"(max-width: 615px) 100vw, 615px\" \/><noscript><img decoding=\"async\" width=\"615\" height=\"261\" src=\"https:\/\/se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity.png\" alt=\"SYSMOD Intensity Model (Quelle: SYSMOD-Buch)\" class=\"wp-image-757\" srcset=\"https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity.png 615w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-453x192.png 453w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-281x119.png 281w, https:\/\/www.se-trends.de\/wp-content\/uploads\/2016\/11\/sysmod-intensity-18x8.png 18w\" sizes=\"(max-width: 615px) 100vw, 615px\"><\/noscript><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Modelle statt Anforderungen? Nein: Modelle und Anforderungen!<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Alle Teilnehmer waren sich einig, dass Modelle und Anforderungen sinnvoll miteinander kombiniert werden k\u00f6nnen und sollten. Modelle sind leistungsf\u00e4hige Konstrukte, die eine Pr\u00e4zision und Durchg\u00e4ngigkeit erm\u00f6glichen, die mit traditionellen Anforderungen einfach nicht m\u00f6glich ist. Andererseits kennen wir keine Modelle, die an die Ausdrucksst\u00e4rke textueller Anforderungen herankommen und so universell angenommen werden. Wenn sauber auf die Vermeidung von Redundanzen geachtet wird, dann haben wir das Beste beider Welten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This was the - admittedly provocative - title of my recent session at the RE-Barcamp in Cologne. Among other things, this question was triggered by the exciting world cafe at the SE Get Together at oose. It was about the question of what \"requirements modeling\" actually is. We came to the conclusion that modeling can be applied in two ways in this context.<\/p>","protected":false},"author":1,"featured_media":752,"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":[110,83],"tags":[100,104,63,57,56],"class_list":["post-720","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-anforderungen","category-methoden","tag-anforderungen","tag-barcamp","tag-modellierung","tag-sysmod","tag-weiterbildung"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/720","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=720"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/720\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/752"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}