{"id":1466,"date":"2018-02-15T08:00:07","date_gmt":"2018-02-15T07:00:07","guid":{"rendered":"https:\/\/se-trends.de\/?p=1466"},"modified":"2025-04-03T17:20:39","modified_gmt":"2025-04-03T15:20:39","slug":"short-development-cycles","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/kurze-entwicklungszyklen\/","title":{"rendered":"5 ways to shorten development cycles"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Um es gleich vorweg zu nehmen: Den Wasserfall gibt es l\u00e4ngst nicht mehr. Die Entwicklung findet heute iterativ, in Zyklen statt. Bei der L\u00e4nge der Entwicklungszyklen gibt es gravierende Unterschiede: Ein Zyklus kann viele Monate lang sein, oder eine Woche und weniger.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Auch der Scope des Zyklus kann sich erheblich unterscheiden: Bei manchen Entwicklungen schlie\u00dfen nur wenige Zyklen am Ende ein funktionierendes Produkt ein, bei anderen gibt es schon am Ende der ersten Iteration ein minimales, funktionierendes Product (MVP, Minimal Viable Product).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In diesem Artikel wird analysiert, warum kurze Entwicklungszeiten w\u00fcnschenswert sind, und wie wir diese verk\u00fcrzen k\u00f6nnen.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Warum kurze Entwicklungszyklen w\u00fcnschenswert sind<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Lange Entwicklungszyklen haben eine Reihe von Nachteilen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Die Systementwicklung als Ganzes dauert l\u00e4nger<\/li>\n\n\n\n<li>Lange Reaktionszeiten bei \u00c4nderungen<\/li>\n\n\n\n<li>In der Entwicklung gefundene Probleme verz\u00f6gern die Entwicklung<\/li>\n\n\n\n<li>W\u00e4hrend der Entwicklung entdeckte Verbesserungen und Anforderungen werden aus Zeitgr\u00fcnden sp\u00e4t oder gar nicht umgesetzt<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Nachteile k\u00f6nnen zur Folge haben, dass ein Mitbewerber einen mal eben \u00fcberholt, und k\u00f6nnen dementsprechend existenzgef\u00e4hrdend sein.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Entwicklungszyklen verk\u00fcrzen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Leider lassen sich oft Entwicklungszyklen nicht einfach &#8222;mal eben&#8220; verk\u00fcrzen. Neben <a href=\"http:\/\/www.se-trends.de\/category\/analyse\/menschen\/\">kulturellen Problemen<\/a> (auf die ich gleich noch zu sprechen komme), gibt es die folgenden zwei Probleme:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Umgang mit \u00c4nderungen:<\/strong> Auch bei einfachen Produkten gibt es in der Entwicklung viele Abh\u00e4ngigkeiten, die sauber verwaltet werden m\u00fcssen: Die Implementierung h\u00e4ngt von den Systemanforderungen ab, diese wiederum von den Nutzeranforderungen. Weiterhin bestehen Abh\u00e4ngigkeiten zu Tests, und Testergebnisse k\u00f6nnen veraltet sein. Beim Wasserfall vermeidet man diese Problematik vermeintlich, indem jede Stufe nur einmal durchlaufen wird. Ohne ein vern\u00fcnftiges Anforderungsmanagement wird das Team versuchen, so wenige Iterationen wie m\u00f6glich zu durchleben.<\/li>\n\n\n\n<li><strong>Compliance:<\/strong> In Entwicklungen mit funktionalen Sicherheit m\u00fcssen zur Compliance Nachweise bez\u00fcglich Risiken und Sicherheit erstellt werden. Das kann nicht erst zum Schluss gemacht werden, denn die Risiken m\u00fcssen ja schlie\u00dflich von Anfang an ber\u00fccksichtigt werden. Da der Aufwand f\u00fcr einen Nachweis in der Regel gro\u00df ist, wird versucht, diesen durch lange Zyklen so selten wie m\u00f6glich durchzuf\u00fchren.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Kulturelle und Menschliche Aspekte<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aus dem eben gesagten k\u00f6nnen wir schon ahnen, was eines der gro\u00dfen Probleme f\u00fcr die Menschen ist: Menschen wollen produktive Arbeit machen &#8211; oder besser gesagt: Sie m\u00f6chten Produkte entwickeln, und nicht \u00c4nderungen Pflegen oder wiederholt Analysen durchf\u00fchren. Es wird zwar erkannt, dass diese Arbeiten wichtig sind; Spa\u00df machen sie aber trotzdem nicht.<\/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\">Menschen wollen produktive Arbeit machen!&nbsp;[tweetthis]Menschen wollen produktive Arbeit machen![\/tweetthis]<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Und damit kommen wir schon zu einer Antwort der Frage: Um die Zyklen zu k\u00fcrzen, muss der Aufwand f\u00fcr die &#8222;langweilige&#8220; Arbeit minimiert werden (es w\u00e4re nicht fair, diese Arbeit als &#8222;nicht-produktiv&#8220; zu bezeichnen). Das ist ein guter Kompass &#8211; hier nun die konkreten Ans\u00e4tze, wie dies realisiert werden 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;\">1.&nbsp;<\/span>Nicht mit Dokumenten, sondern mit einem Datenmodell in einem vern\u00fcnftigen Werkzeug arbeiten!<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Um kompetent auf \u00c4nderungen reagieren zu k\u00f6nnen, muss <a href=\"https:\/\/se-trends.de\/modelle-statt-anforderungen\/\">feingranular<\/a> gearbeitet werden. Das bedeutet, dass jedes Element (Anforderung, Designelement, Test, etc.) eigenst\u00e4ndig sein muss. Dann k\u00f6nnen diese Elemente sinnvoll miteinander verkn\u00fcpft werden, wie oben beschrieben. Diese Strukturen erm\u00f6glichen es erst, auf \u00c4nderungen von einzelnen Elementen \u00fcberhaupt reagieren zu k\u00f6nnen. Dazu wird ein professionelles Werkzeug verwendet. So ein Werkzeug muss die M\u00f6glichkeit haben, Baselines zu ziehen und zu vergleichen, die Auswirkungen von \u00c4nderungen zu analysieren (Impact Analysis) und vieles mehr.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wichtig ist, ein Werkzeug nicht \u00fcberzubewerten, es muss entsprechende Methoden und Prozesse geben. Jedoch k\u00f6nnen ohne entsprechende Werkzeugunterst\u00fctzung diese kaum effizient gelebt werden.<\/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.&nbsp;<\/span>Klare Datenhaltung (Single Source of Truth)<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Problem bei iterativem Arbeiten ist es, wenn f\u00fcr jede Iteration kopien angelegt werden: Es muss immer klar sein, was &#8222;die Wahrheit&#8220; ist. Wichtig: Wahrheit bedeutet nicht unbedingt &#8222;aktueller Stand&#8220;. Das ist ja genau das Problem mit dem Wasserfall: Dieser wird oft nur deshalb praktiziert, da dieser erlaubt, dass aktueller Stand und Wahrheit das Selbe sind. Nur wenn wir erlauben, auch mit potentiell veralteten Daten zu arbeiten, k\u00f6nnen wir ohne zu warten weiterarbeiten. Dank einem feingranularen Datenmodell m\u00fcssen dann m\u00f6glicherweise nur einzelne Elemente nachgebessert werden. Gef\u00e4hrlich wird es jedoch, wenn auf veralteten Daten gearbeitet wird, ohne sich dessen bewusst zu sein.<\/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.&nbsp;<\/span>Klare Kommunikation im Kontext der Arbeit<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Um in kurzen Iterationen arbeiten zu k\u00f6nnen ist es wichtig, die Entwicklung zu verstehen. Dazu m\u00fcssen wir <a href=\"https:\/\/se-trends.de\/kommunikation-im-se\/\">kommunizieren<\/a>. F\u00fcr \u00c4nderungen gibt es einen Grund, und nichts ist frustrierender, als diesen Grund nicht zu verstehen. Wenn also bspw. entschieden wird, die Kapazit\u00e4t der Batterie, dann muss nachvollziehbar sein, warum das so ist: War die Laufzeit zu kurz, oder ist ein gro\u00dfer Verbraucher dazugekommen? Die Antwort auf diese Frage sollte nicht in irgendeiner E-Mail vergraben sein. Das w\u00e4re \u00fcbrigens auch f\u00fcr Compliance ein Problem, da die Dokumentation von Entscheidungen oft gefordert wird. Statt dessen sollte die Entscheidung Teil der Datenhaltung sein (&#8222;Single Source of Truth&#8220;).<\/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.&nbsp;<\/span>So einfach wie m\u00f6glich<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Das Datenmodell muss <a href=\"https:\/\/de.wikipedia.org\/wiki\/KISS-Prinzip\" target=\"_blank\" rel=\"noopener\">so einfach wie m\u00f6glich<\/a> sein und nur so kompliziert wie n\u00f6tig. Als Berater im Anforderungsmanagement habe ich Systeme gesehen, bei denen Anforderungen duzende von Attributen hatten. Das ist ein echtes Problem, wenn diese nicht gepflegt werden. Denn veraltete (falsche) Informationen k\u00f6nnen gef\u00e4hrlicher sein als nicht vorhandene. Das betrifft \u00fcbrigens nicht nur Attribute, sondern auch die Anzahl von Elementtypen und die Beziehungen zwischen diesen.<\/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\">Eine nicht gepflegte Information ist schlimmer als eine fehlende Information&nbsp;[tweetthis]Eine nicht gepflegte Information ist schlimmer als eine fehlende Information[\/tweetthis]<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Wenn das Datenmodell zu kompliziert ist, kommt schnell die Angst auf (zu Recht!), die Auswirkungen von \u00c4nderungen nicht zu verstehen. Und dann schrecken wir vor kurzen Entwicklungszyklen zur\u00fcck.<\/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.&nbsp;<\/span>Automatisierung<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Wie bereits gesagt, machen wir ungern T\u00e4tigkeiten, die mit unserer &#8222;eigentlichen&#8220; Arbeit nichts zu tun haben. Eben wurden bereits Ans\u00e4tze beschrieben, diese so schmerzlos wie m\u00f6glich zu machen. Aber noch besser ist es, diese vollst\u00e4ndig zu vermeiden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vorreiter bei der Automatisierung ist die Softwareentwicklung, die schon seit vielen Jahren mit &#8222;Build-Automatisierung&#8220; arbeitet. Doch auch in der <a href=\"https:\/\/se-trends.de\/extreme-manufacturing\/\">Systementwicklung l\u00e4sst sich viel automatisieren<\/a>, und das wiederum verk\u00fcrzt die Dauer von Entwicklungszyklen und erh\u00f6ht die Akzeptanz, diese zu verk\u00fcrzen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie dies in der Praxis aussieht h\u00e4ngt vom konkreten Projekt (und Industrie) ab. Wichtig ist auch, nicht \u00fcber Bord zu gehen: Der Nutzen der Automatisierung muss klar erkennbar sein. Die Transparenz in der Entwicklung darf dadurch nicht verloren gehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die f\u00fcnf hier beschriebenen Taktiken lassen sich in vielen Situationen einsetzen. Und was fast wichtiger ist: Wenn bereits ein vern\u00fcnftiges Werkzeug eingesetzt wird, lassen sie sich in kleinen Schritten anwenden, um St\u00fcck f\u00fcr St\u00fcck die Systementwicklung zu beschleunigen.<\/p>\n\n\n\n<p class=\"has-text-align-right wp-block-paragraph\"><span style=\"color: #999999;\">Bildquelle: Michael Jastram<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The waterfall no longer exists. Today, development takes place iteratively. Here are 5 ways to shorten development cycles.<\/p>","protected":false},"author":1,"featured_media":420,"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":[136,44],"tags":[100,281,280,166,229],"class_list":["post-1466","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-werkzeuge","category-wissen","tag-anforderungen","tag-automatisierung","tag-einfach","tag-kommunikation","tag-modelle"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/1466","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=1466"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/1466\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/420"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=1466"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=1466"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=1466"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}