{"id":11109,"date":"2021-11-30T14:30:21","date_gmt":"2021-11-30T13:30:21","guid":{"rendered":"https:\/\/nearshore-it.eu\/de\/?p=11109"},"modified":"2023-11-08T16:15:36","modified_gmt":"2023-11-08T15:15:36","slug":"agile-methodologien-in-der-softwareentwicklung","status":"publish","type":"post","link":"https:\/\/nearshore-it.eu\/de\/project-management-leadership\/agile-methodologien-in-der-softwareentwicklung\/","title":{"rendered":"Agile Methodologien in der Softwareentwicklung"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Was ist Agile in einfachen Worten?<\/h2>\n\n\n\n<p><strong>Der agile Entwicklungsprozess ist einer der wichtigsten Trends in der Softwareentwicklung.<\/strong> Die agilen Prinzipien sind im Manifest f\u00fcr die agile Softwareentwicklung (Agile Manifesto) enthalten. Einfach ausgedr\u00fcckt ist die agile Entwicklung ein Ansatz, bei dem selbstorganisierende und funktions\u00fcbergreifende Teams funktionale Produkte liefern.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/nearshore-it.eu\/de\/wp-content\/uploads\/2021\/11\/grafika-jcommerce-blog-2018-02-09-agile-process-1024x356.png\" alt=\"\" class=\"wp-image-11110\" title=\"\"><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Die&nbsp;Einf\u00fchrung&nbsp;von Agile&nbsp;<\/h2>\n\n\n\n<p>Die Pandemie f\u00fchrte zu einer enormen Beschleunigung der Einf\u00fchrung agiler Methoden sowohl in Softwareentwicklungsteams als auch in Nicht-IT-Abteilungen (z. B. Back-Office). Die Unternehmen mussten sich schnell an die ver\u00e4nderten Umst\u00e4nde anpassen und rasch auf Ver\u00e4nderungen reagieren. Laut dem j\u00e4hrlichen 15. State of <a href=\"https:\/\/stateofagile.com\/\" target=\"_blank\" rel=\"noopener\">Agile Report<\/a> wird die Verbreitung von Agile im Jahr 2021 gleich hoch sein:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>37% bis 84% in Softwareentwicklungsteams.<\/li><li>26 % bis 60 % in Nicht-IT-Abteilungen.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Agile&nbsp;Werte&nbsp;und&nbsp;Prinzipien&nbsp;<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Menschen und Interaktionen statt Prozesse und Tools<\/h3>\n\n\n\n<p>Die agile Variante des Outsourcings betont die Rolle einer transparenten Kommunikation, da die Zusammenarbeit in diesem Modell ein hohes Ma\u00df an gegenseitigem Vertrauen voraussetzt. Die ausgelagerten Mitarbeiter, die an den Kunden delegiert werden, wollen eigenverantwortlich arbeiten, ihre Ideen respektieren und bei den Entscheidungsprozessen mitreden. Der Auftraggeber hingegen erwartet professionellen Service, Wirkung und die Erf\u00fcllung seiner Gesch\u00e4ftsbed\u00fcrfnisse. Die Anforderungen von Mitarbeitern und Kunden erg\u00e4nzen sich, aber nur eine offene und schnelle Zusammenarbeit garantiert, dass sie w\u00e4hrend des Projekts nicht aufeinanderprallen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Funktionierende Software \u00fcber umfassende Dokumentation<\/h3>\n\n\n\n<p>Das Ziel von Outsourcing-Dienstleistungen ist es, einen bestimmten gesch\u00e4ftlichen Nutzen zu erzielen. Die Erstellung einer umfassenden Dokumentation ist aus der Projektperspektive nat\u00fcrlich wichtig, aber sie wird nie wichtiger sein als die Lieferung funktionierender L\u00f6sungen, die L\u00f6sung auftretender Probleme oder die Anpassung des Projekts an sich \u00e4ndernde Anforderungen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Zusammenarbeit mit dem Kunden vor Vertragsverhandlungen<\/h3>\n\n\n\n<p>Anstatt Vertr\u00e4ge auf der Grundlage detaillierter Anforderungslisten zu erstellen, ist es besser, den Outsourcing-Partner nach den vorgeschlagenen Mitteln zur Produktlieferung zu fragen und anschlie\u00dfend die Vertragsbedingungen auszuhandeln. Dies ist ein sehr guter Ausgangspunkt f\u00fcr die Erstellung eines Vertrags im Agile Outsourcing, der nicht als starrer Plan f\u00fcr die Projektrealisierung betrachtet werden sollte. Ein gut gestalteter Outsourcing-Vertrag erm\u00f6glicht es beiden Parteien, flexibel zu agieren und sichert die Gesch\u00e4ftsabschl\u00fcsse zwischen beiden interessierten Parteien auf einer grundlegenden Ebene.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Reagieren auf Ver\u00e4nderungen statt Befolgen eines Plans<\/h3>\n\n\n\n<p>&#8222;Das Einzige was bleibt ist Ver\u00e4nderung&#8220;. Dieses Sprichwort ist auch im Zusammenhang mit Softwareentwicklungsprojekten sehr zutreffend. Anstatt sich an einen Plan zu halten, versuchen agile Teams, sich an ver\u00e4nderte Umst\u00e4nde anzupassen, indem sie flexibel handeln.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Welche Methoden gibt es bei Softwareentwicklungsprojekten?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kanban&nbsp;<\/h3>\n\n\n\n<p>Kanban ist im Softwareentwicklungsprozess weit verbreitet. Bei JCommerce verwenden wir die Kanban-Methodik in unserem E-Commerce-Projekt f\u00fcr Boozt. Der Kunde selbst hat gesagt, dass dies zur Verbesserung der Arbeit an dem Projekt beigetragen hat: &#8222;Wir haben t\u00e4gliche Stand-ups und ein Kanban-Setup, bei dem Deploys mehrmals am Tag durchgef\u00fchrt werden. Wir haben dem Team schnell Bereitstellungsrechte erteilt, um es nicht zu verlangsamen, und wir haben es nie bereut.&#8220;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Extreme Programmierung (XP)<\/h3>\n\n\n\n<p>Extreme&nbsp;Programming&nbsp;ist eines der Rahmenwerke f\u00fcr die agile Softwareentwicklung. XP zielt darauf ab, qualitativ hochwertige digitale Produkte zu entwickeln und gleichzeitig auf sich dynamisch ver\u00e4ndernde Kundenanforderungen zu reagieren. Die Kernwerte von XP sind Kommunikation, Einfachheit, Feedback, Mut und Respekt.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scrum<\/h3>\n\n\n\n<p>Es ist das am h\u00e4ufigsten verwendete agile Framework. Es ist ein flexibler und proaktiver Ansatz f\u00fcr das Projektmanagement. Scrum ist einer der beliebtesten agilen Ans\u00e4tze. Scrum-Entwicklungsteams sind funktions\u00fcbergreifend und bestehen aus einem Scrum Master, einem Product Owner und einem Entwicklungsteam. Die Teammitglieder verf\u00fcgen \u00fcber alle Kompetenzen, die f\u00fcr die Lieferung des Produkts an den Kunden erforderlich sind.<\/p>\n\n\n\n<p>Die Arbeit wird in sogenannte Sprints unterteilt. Ein Sprint ist eine Zeitspanne, in der bestimmte Arbeiten abgeschlossen und f\u00fcr die \u00dcberpr\u00fcfung vorbereitet werden m\u00fcssen. Die L\u00e4nge des Sprints wird zu Beginn des Projekts festgelegt und gew\u00e4hlt &#8211; zum Beispiel 1 oder 2 Wochen. Zu Beginn eines jeden Sprints legt das agile Entwicklungsteam Ziele fest (was es umsetzen und funktionieren lassen will). Nach dem Sprint ist dieser Teil fertig. Nach dem Sprint k\u00f6nnen sie den aktuellen Stand des Produkts bewerten und die Priorit\u00e4ten oder sogar das Design der entwickelten Anwendung neu definieren. Jeder Sprint ist so angelegt, dass relativ kleine, aber voll funktionsf\u00e4hige Funktionen hinzugef\u00fcgt oder ge\u00e4ndert werden.<\/p>\n\n\n\n<p>So nutzen die Teammitglieder die agile Methodik, um die Flexibilit\u00e4t zu erhalten, nach jedem Sprint \u00c4nderungen vorzunehmen. Der Kunde hat die Freiheit, w\u00e4hrend der Entwicklung \u00c4nderungen vorzunehmen, um auf den Markt, die Meinungen der Benutzer oder sich \u00e4ndernde Gesch\u00e4ftsanforderungen zu reagieren. \u00c4nderungen k\u00f6nnen zu Beginn des Sprints (<strong>Planungsphase<\/strong>) vorgenommen werden, nicht aber w\u00e4hrend des Sprints selbst (<strong>Entwicklungsphase<\/strong>).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/nearshore-it.eu\/de\/wp-content\/uploads\/2021\/11\/nearshore_2021.07.08_graphic_1-1024x711-1.png\" alt=\"\" class=\"wp-image-11111\" title=\"\"><\/figure>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\">Die Rolle des Scrum Masters im agilen Projektmanagement<\/h2>\n\n\n\n<p>Der Scrum Master unterst\u00fctzt das Team im Softwareentwicklungsprozess. Er hilft festzustellen, was getan werden muss, damit das Ziel des Sprints erreicht werden kann. Durch entsprechende Fragen pr\u00fcft der Scrum Master, ob alles f\u00fcr die Teammitglieder verst\u00e4ndlich ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Rolle des Testers in der agilen Entwicklungsmethodik<\/h2>\n\n\n\n<p>Viele Menschen fragen sich, welche Rolle der Tester in agilen Teams spielt. Der agile Tester tr\u00e4gt auch zur richtigen Planung der Arbeit des Teams bei. Innerhalb des Scrum-Teams umfasst die Rolle des Testers z.B. die Beherrschung des Product Backlogs, die Sch\u00e4tzung, die Erstellung der Definition of Ready und der Definition of Done.<\/p>\n\n\n\n<p>Lesen Sie auch:&nbsp;<a href=\"https:\/\/nearshore-it.eu\/de\/nearshoring\/effiziente-kommunikation-in-it-outsourcing\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Effiziente Kommunikation in IT-Outsourcingprojekten<\/strong><\/a><strong>&nbsp;<\/strong>&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Scrum-Entwicklungsteam<\/h2>\n\n\n\n<p>Das Scrum-Team ist f\u00fcr die Umsetzung der Vision und der Anforderungen des Product Owners verantwortlich. Dieses Team erstellt die technische Architektur f\u00fcr die Anwendung, implementiert sie und testet sie. <strong>Das Scrum-Team steht w\u00e4hrend der Entwicklung in st\u00e4ndiger Kommunikation mit dem Product Owner<\/strong>. Zu Beginn des Sprints w\u00e4hlt der Product Owner die wichtigsten zu implementierenden Aufgaben aus, und das Team sch\u00e4tzt ab, wie viele dieser Aufgaben es im Rahmen dieses Sprints erledigen kann. W\u00e4hrend des gesamten Sprints stimmen sie sich mit dem Product Owner \u00fcber die Details der Anforderungen ab, und die Ergebnisse ihrer Arbeit werden getestet und am Ende eines jeden Sprints zur \u00dcberpr\u00fcfung vorgelegt.<\/p>\n\n\n\n<p>Je nach Kooperationsmodell kann das gesamte Team (mit Ausnahme des Product Owner) vom Dienstleister kommen oder sich aus Spezialisten des Kunden und des Dienstleisters zusammensetzen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Product Owner im agilen Entwicklungsmodell<\/h2>\n\n\n\n<p>Der Product Owner repr\u00e4sentiert die Anforderungen an die Softwareentwicklung. <strong>Der Kunde sollte eine einzelne Person f\u00fcr diese Rolle ausw\u00e4hlen<\/strong>, die als Hauptansprechpartner f\u00fcr die Bereitstellung einer Produktvision von Seiten des Kunden, f\u00fcr die Zusammenarbeit mit dem Team, das diese Vision in den Produktdesignprozess umsetzt, und f\u00fcr die anschlie\u00dfende Implementierung dieses Designs verantwortlich ist. Der Product Owner ist nicht f\u00fcr die technischen Details der Implementierung verantwortlich (es sei denn, der Kunde w\u00fcnscht dies). <strong>Der Product Owner ist verantwortlich f\u00fcr das Verst\u00e4ndnis der Zielgruppen und der gew\u00fcnschten Funktionalit\u00e4ten sowie f\u00fcr die Beantwortung von Fragen zu Projekten und f\u00fcr den laufenden Prozess der Auswahl der Priorit\u00e4ten f\u00fcr den n\u00e4chsten Sprint.<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" src=\"https:\/\/nearshore-it.eu\/de\/wp-content\/uploads\/2021\/11\/grafika-jcommerce-blog-2018-02-09-agile-product-owner-1024x144-1.png\" alt=\"\" class=\"wp-image-11112\" title=\"\"><\/figure>\n<\/div>\n\n\n<p>Der PO muss keine Programmiererfahrung haben, aber es ist gut, wenn er ein gewisses Verst\u00e4ndnis f\u00fcr den Markt, Kenntnisse \u00fcber \u00e4hnliche L\u00f6sungen und M\u00f6glichkeiten sowie ein grundlegendes technisches Wissen hat. Der Product Owner sollte gen\u00fcgend Zeit haben, um w\u00e4hrend des gesamten Prozesses f\u00fcr die Kommunikation mit dem Entwicklungsteam zur Verf\u00fcgung zu stehen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Aufbau eines agilen Teams<\/h2>\n\n\n\n<p>Die Zusammenstellung des Teams kann nach der Definition der Anforderungen und des Umfangs des Projekts sowie der Festlegung der voraussichtlichen Fristen f\u00fcr die Projektentwicklung erfolgen. Die typische Zusammensetzung eines solchen Teams sieht wie folgt aus (Beispiel f\u00fcr ein Projekt zur Entwicklung einer mobilen Anwendung):<\/p>\n\n\n\n<\/style><div class=\"promotion-box promotion-box--image-left \"><div class=\"tiles latest-news-once\"><div class=\"tile\"><div class=\"tile-image\"><img decoding=\"async\" src=\"https:\/\/ns.proux.pl\/wp-content\/uploads\/2017\/09\/case-jcommerce-depersgroep-ecommerce-platforms-development.jpg\" alt=\"\" title=\"\"><\/div><div class=\"tile-content\"><p class=\"entry-title client-name\">Kundengeschichte<\/p>\r\n\r\n<h3>Unser Kunde aus der E-Commerce-Branche ben\u00f6tigte f\u00fcr die Entwicklung seiner mobilen Anwendung die Unterst\u00fctzung von iOS- und Android-Teams.<\/h3>\r\n&nbsp;\r\n\r\n<a class=\"btn btn-primary\" href=\"\/de\/client-story\/entwicklung-einer-mobilen-anwendung-fur-einen-kunden-aus-der-e-commerce-branche\/\" rel=\"noopener\">\r\nLesen Sie den Text, um mehr zu erfahren!<\/a><\/div><\/div><\/div><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Native Entwicklung<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><em>Teamleiter \/ Scrum Master<\/em><\/strong> &#8211; verantwortlich f\u00fcr die Leitung des Teams, Aufgaben und die \u00dcberwachung der Entwicklung<\/li><li><strong><em>iOS-\/Android-\/Windows Phone-Entwickler<\/em><\/strong> &#8211; mindestens ein Entwickler f\u00fcr jede Plattform, verantwortlich f\u00fcr die Implementierung von mobilen Anwendungen<\/li><li><strong><em>Server-Entwickler<\/em><\/strong> &#8211; verantwortlich f\u00fcr die Integration bestehender oder die Erstellung neuer Datenquellen<\/li><li><strong><em>Tester<\/em><\/strong> &#8211; verantwortlich f\u00fcr das Testen der App, das Finden und Melden von Qualit\u00e4tsproblemen<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Plattform\u00fcbergreifende&nbsp;Entwicklung&nbsp;<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong><em>Teamleiter \/&nbsp;Scrum&nbsp;Master<\/em>&nbsp;<\/strong>&#8211; verantwortlich f\u00fcr das Management des Teams, der Aufgaben und die \u00dcberwachung der Entwicklung&nbsp;<\/li><li><strong><em>Front-End HTML \/ JS Entwickler<\/em>&nbsp;<\/strong>&#8211; verantwortlich f\u00fcr die Umsetzung der mobilen App f\u00fcr alle Plattformen&nbsp;<\/li><li><strong><em>Server-Entwickler<\/em>&nbsp;<\/strong>&#8211; verantwortlich f\u00fcr die Integration bestehender oder die Erstellung neuer Datenquellen&nbsp;<\/li><li><strong><em>Tester<\/em>&nbsp;<\/strong>&#8211; verantwortlich f\u00fcr das Testen der App, das Finden und Melden von Qualit\u00e4tsproblemen&nbsp;<\/li><\/ul>\n\n\n\n<p>Die genaue Gr\u00f6\u00dfe des Teams h\u00e4ngt vom Umfang und der Komplexit\u00e4t der Anwendung sowie von den Fristen ab und sollte nach R\u00fccksprache mit dem Dienstleister festgelegt werden. Die Festlegung der Anforderungen und des endg\u00fcltigen Teams ist wichtig f\u00fcr den Beginn eines Projekts. Danach ist der n\u00e4chste Schritt die Festlegung der Teststrategie.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Zusammenfassung<\/h2>\n\n\n\n<p>Bei der Agilit\u00e4t geht es um eine angemessene Denkweise, in deren Mittelpunkt Offenheit, Flexibilit\u00e4t und das Vertrauen stehen, dass das Entwicklungsteam sein Bestes gibt, um die Aufgabe zu bew\u00e4ltigen.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Das agile Projektmanagement hat seit seinem Aufkommen in der IT-Welt an Bedeutung gewonnen. Trotz der zunehmenden Akzeptanz bei Softwareentwicklungsprojekten ist das Konzept von vielen Missverst\u00e4ndnissen umgeben. Lesen Sie weiter, um herauszufinden, was agil bedeutet und was die verschiedenen agilen Methoden in der Softwareentwicklung sind.<\/p>\n","protected":false},"author":8,"featured_media":21379,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"iawp_total_views":11,"footnotes":""},"categories":[434],"tags":[],"offering":[],"class_list":["post-11109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-project-management-leadership"],"acf":[],"_links":{"self":[{"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/posts\/11109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/comments?post=11109"}],"version-history":[{"count":2,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/posts\/11109\/revisions"}],"predecessor-version":[{"id":26153,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/posts\/11109\/revisions\/26153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/media\/21379"}],"wp:attachment":[{"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/media?parent=11109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/categories?post=11109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/tags?post=11109"},{"taxonomy":"offering","embeddable":true,"href":"https:\/\/nearshore-it.eu\/de\/wp-json\/wp\/v2\/offering?post=11109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}