Agile Softwareentwicklung

Agile Softwareentwicklung: Eine Einführung

/ 20.04.2023 Projektleitung

„Intelligenz ist die Fähigkeit, sich an Veränderungen anzupassen.“  – Stephen Hawking

Das obige Zitat unterstreicht die Essenz des agilen Ansatzes. Im Kern geht es um die Fähigkeit, sich flexibel an veränderte Bedingungen anzupassen. Dies hat Auswirkungen auf das Management des gesamten Softwareentwicklungsprozesses, bei dem die Fähigkeit zur Anpassung ein entscheidender Faktor für den Projekterfolg ist.  In diesem Artikel befassen wir uns mit den Grundlagen des agilen Managements, seinen wichtigsten Grundsätzen und seinen Auswirkungen auf Projekte, die in vielen Unternehmen durchgeführt werden.

Was ist Agile und wo kommt es zum Einsatz?

Agile ist eine Reihe von Werten und Prinzipien, keine Methodik. Diese Prinzipien definieren vorwiegend eine pragmatische Denkweise und bieten einen flexiblen Ansatz zur Erfüllung der Kundenerwartungen. Agile wurde ursprünglich entwickelt, um den Softwareentwicklungsprozess zu steuern. Es ermöglichte den Teams, schnell Lösungen zu modellieren, Feedback zu integrieren und den Umfang während des gesamten Projektlebenszyklus nach Bedarf anzupassen. Heute funktioniert Agile in einer Vielzahl von Umgebungen, Branchen und Projekten hervorragend und kann in fast jedem großen Projekt in jeder Branche eingesetzt werden, welches ein agiles und flexibles Management erfordert.

Wann wurde Agile entwickelt und warum?

Im Jahr 2001 traf sich eine Gruppe erfahrener Programmierer in einem Skigebiet, um ihre Erfahrungen auszutauschen und herauszufinden, warum so viele Programmierprojekte scheiterten. Es ging nicht nur darum, die besten Praktiken, die sie kannten, zu dokumentieren, sondern einen anderen Gestaltungsansatz zu finden. Da in der Branche ein grundlegender Wertewandel erforderlich war, wurde das Agile Manifest als eine Werteerklärung erstellt, welche zur Grundlage für einen neuen Ansatz bei der Bereitstellung von Software und der Zusammenarbeit mit Kunden wurde. Es enthält eine Reihe von 4 Werten und 12 Prinzipien, die zeigen, wie Veränderungen geschaffen und bewältigt werden können und wie mit Unsicherheiten im Softwareentwicklungszyklus umgegangen werden kann.

Vier wichtige Agile-Grundlagen für die Softwareentwicklung

Das Agilen Manifest besagt, dass wir bessere Wege zur Softwareentwicklung finden, indem wir anderen helfen. Der springende Punkt ist, dass alle der folgenden Punkte wichtig sind, aber einige noch wichtiger als andere sind. Das liegt daran, dass das Agile Manifest den Wert von Individuen und der menschlichen Interaktion stärker betont als die Dokumentation und die Formalität von Prozessen. Das bedeutet, dass wir mehr Wert darauf legen.

1. Menschen und Interaktionen statt Prozesse und Tools 

Ein vernünftiger und transparenter Prozess innerhalb eines Unternehmens ist zwar von Wert, aber starre Arbeitsabläufe oder unpersönliche Formen der Kommunikation dürfen einer guten Kommunikation nicht im Wege stehen. Wir sind uns auch darüber im Klaren, dass man lernen muss, die individuellen Bedürfnisse talentierter Menschen zu akzeptieren, wenn sie kreativ und erfolgreich sein sollen.
“Mein Rat: Hören Sie auf, den Prozessrahmen zu betonen und konzentrieren Sie sich auf die Unternehmenskultur und die Denkweise. Machen Sie sich klar, nach welchen Werten Sie arbeiten wollen und verkörpern Sie diese Werte in jedem Bereich des Unternehmens.” – Selena Delesie, Agile Coach und Trainerin (Quelle)

2. Funktionierende Software statt umfangreicher Dokumentation 

Bei der herkömmlichen Softwareentwicklung wurde häufig eine umfangreiche Dokumentation erstellt, bevor die Software für die ersten Tests freigegeben wurde, was den Softwareentwicklungsprozess verlangsamte. Und wenngleich die Dokumentation wichtig ist, sollte sich das Team in erster Linie auf eine funktionierende Lösung konzentrieren.
“Denken Sie daran: Nicht die Dokumentation muss synchron gehalten werden, sondern die Menschen”. – George Dinwiddie, Berater und Coach für Softwareentwicklung.

3. Zusammenarbeit mit dem Kunden bei der Vertragsverhandlung 

Es ist zwar nützlich, die Arbeit an einem Projekt mit ersten Richtlinien zu beginnen, doch anstatt den Kunden in einen streng definierten Projektrahmen zu zwängen, in dem jedes Detail des Produkts vor Beginn der Arbeit festgelegt wird, ist es besser, auf eine aktive Zusammenarbeit zu setzen. Die regelmäßige Zusammenarbeit mit dem Produktmanager oder Produkteigentümer und die Vornahme notwendiger Änderungen führen dazu, dass der erwartete Nutzen erbracht wird.
“Konzentrieren Sie sich nicht darauf, eine ganze Liste von Dingen zu liefern – fast alles, was Sie sich vorstellen können – sondern konzentrieren Sie sich darauf, das zu liefern, was wertvoll ist, was die Leute tatsächlich wollen oder benötigen.” – Jeff Sutherland in Scrum: The Art of Doing Twice the Work in Half the Time.

4. Auf Veränderungen reagieren, statt einem Plan zu folgen 

Ein Entwicklungsteam sollte einen Plan für seine Arbeit haben, aber es ist allgemein bekannt, dass die Dinge manchmal anders laufen als ursprünglich geplant. Anstatt an etwas festzuhalten, das nicht funktioniert, ist es viel besser, es zu ändern und an die Situation anzupassen.

12 agile Prinzipien

1. Oberste Priorität hat die Kundenzufriedenheit durch die frühzeitige und kontinuierliche Bereitstellung wertvoller Software. 2. Wir können mit sich ändernden Anforderungen umgehen, um das Produkt schnell und effektiv an die Kunden- und Marktbedürfnisse anzupassen.  3. Wir liefern in jedem Zeitabschnitt (Iteration) funktionierende Software. 4. Die enge Zusammenarbeit zwischen Kunden und Entwicklern muss während des gesamten Projekts fortgesetzt werden. 5. Wir bauen Projekte um motivierte Menschen herum auf, geben ihnen das Umfeld und die Unterstützung, die sie benötigen, und haben volles Vertrauen, dass sie die Aufgabe erfüllen werden. 6. Die effizienteste und effektivste Methode der Informationsübermittlung innerhalb eines Projektteams ist die persönliche Kommunikation.  7. Der wichtigste Maßstab für den Fortschritt ist die funktionierende Software. 8. Agile Prozesse fördern die Nachhaltigkeit, d. h., wir sollten nicht zu viel Verantwortung für einzelne Projekte herum aufteilen. 9. Eine größere Agilität ist möglich, wenn stets auf die technische Qualität des Projekts geachtet wird. 10. Einfachheit ist das A und O, d. h., die Kunst, das Maximum an Arbeit transparent zu leisten. 11. Die besten Architekturen, Anforderungen und Entwürfe entstehen in selbstorganisierten Teams, d. h., in Teams, die für ihre Arbeit verantwortlich sind. 12. Das Team überprüft regelmäßig seine Leistung und passt sie entsprechend an. Die oben genannten Grundsätze des Agilen Manifests sind jedem Projektteammitglied, welches in einem System wie Scrum arbeitet, vertraut. Wenngleich die Anpassung an die Veränderungen, die den Kern von Agile ausmachen, für die Organisation während der Implementierung manchmal eine Herausforderung darstellen kann, führen diese Prozesse dennoch zu einer verbesserten Qualität der entwickelten Software.

Welche Methoden werden bei Agile verwendet?

Agiles Projektmanagement hat sich vorwiegend in der Softwareentwicklungsbranche etabliert, kann aber als Oberbegriff für viele verschiedene Rahmenkonzepte verwendet werden. Er kann sich auf Begriffe wie Scrum, Kanban und Extreme Programming (XP) beziehen. Scrum ist eine Arbeitsweise, bei der Entscheidungen auf der Grundlage von Beobachtungen, Erfahrungen und Experimenten getroffen werden. Die Arbeit erfolgt parallel in Iterationen oder kleineren Schritten, mit kontinuierlichen Experimenten und Feedback, um das Produkt schrittweise zu verbessern. Als agiles Framework ist Scrum so strukturiert, dass eine freie Zusammenarbeit und Integration zwischen Menschen und Teams möglich sind, was eine kundenspezifische Optimierung erleichtert. Kanban – Die Kanban-Methode ist ein agiler Ansatz für das Workflow-Management. Sie konzentriert sich darauf, die zu erledigenden Aufgaben zu visualisieren und die Arbeit in kleinere Schritte aufzuteilen, damit die Prioritäten leichter gesetzt werden können. Bei dieser Methode werden die zu erledigenden Aufgaben mit verschiedenen Tools (z. B. JIRA/Azure) visualisiert. Dabei werden die laufenden Arbeiten im Backlog und die bereits abgeschlossenen Arbeiten visuell dargestellt. Auf der Grundlage von Analysen und Berichten können so die Arbeiten optimiert und die Prozesse kontinuierlich verbessert werden. XP Extreme Programming ist eine agile Softwareentwicklungsmethodik, bei der Einfachheit, Mut, Feedback und Kommunikation im Vordergrund stehen. Sie zielt darauf ab, die Kosten für die Änderung von Anforderungen durch kurze Iterationszyklen zu reduzieren. Ferner betrachtet sie Änderungen im Softwareentwicklungsprozess als unvermeidlich, ja sogar als natürlich, sodass sie gut geplant werden sollten.

Wie wirkt sich Agile auf das Projektmanagement aus?

Agiles Projektmanagement bedeutet die Umsetzung des Manifests und der 12 Prinzipien. Die Prämisse der agilen Methodik ist, dass ein Projekt während seines gesamten Lebenszyklus (SDLC – Software Development Life Cycle) kontinuierlich verbessert werden kann und Änderungen schnell sowie nach Bedarf vorgenommen werden können. Agiles Projektmanagement ist der Definition nach immer pragmatisch. Mit anderen Worten: Wir erkennen an, dass wir etwas nicht wissen und dass Veränderungen nicht vorhersehbar oder kontrollierbar sind. Daher müssen wir flexibel sein; wir müssen die Dinge, die wir lernen, aufgreifen und prüfen, wie sie auf das, was wir tun und wie wir es tun, angewendet werden können. Es erfordert mithin ständige Zusammenarbeit und iterative Zyklen zum Erstellen, Testen und Verbessern, bis das gewünschte Ergebnis erreicht ist. Der Zweck dieser Flexibilität und Anpassungsfähigkeit ist stets die Zufriedenheit unserer Kunden. Im Gegensatz zur Kaskaden- (Wasserfall-) Methodik ist Agile aufgrund seiner Flexibilität, seiner Anpassungsfähigkeit an Veränderungen und seiner hohen Kundenbeteiligung heute einer der beliebtesten Ansätze für das Projektmanagement.

Wie können Unternehmen agile Methoden anwenden?

Die Unternehmen setzen auf agile Methoden, weil diese flexibel sind und Vorteile gegenüber herkömmlichen Systemen bieten. Sony konnte durch die Einführung von Agile für seine interaktive Umgebung einen erheblichen Unterschied feststellen: Die Planungszeit wurde um 28 % reduziert und die Ausfallzeiten auf ein Maximum gesenkt, wodurch das Unternehmen 30 Millionen Dollar pro Jahr einsparen konnte.  Andererseits wendet Cisco, eines der weltweit bekanntesten IT- und Netzwerkunternehmen, die agile Methodik auf seine SBP-Abrechnungsplattform an, die ursprünglich nach einem Wasserfallmodell entwickelt wurde. Nach der Einführung der agilen Methodik verbesserte sich die Gesamtleistung des Cisco-Produkts: Die Anzahl der Fehler wurde im Vergleich zu früheren Versionen um 40 Prozent reduziert, und die Fehlerbehebungsleistung hat sich um 16 Prozent erhöht. Auch bei VM waren wir mit der Einführung von Agile erfolgreich. Seit wir mit der Umstellung begonnen haben, sind wir in 3 Jahren um 450 % gewachsen. Wie Łukasz Borzęcki, CEO des Unternehmens, erklärt:
“Die Agile Philosophie hat uns auch in der gegenwärtigen Krise geholfen, da wichtige Entscheidungen schnell getroffen werden mussten. Unseren Mitarbeitern die Möglichkeit zu geben, sich zu Wort zu melden und an den Entscheidungen, die wir treffen, teilzuhaben, hat zur gemeinsamen Entwicklung unserer Strategie beigetragen und zu deutlich besseren Ergebnissen geführt”
Mehr darüber, wie Agile uns geholfen hat, unser Unternehmen zu vergrößern, erfahren Sie hier

Zusammenfassung

Es ist nicht immer einfach, die agilen Werte zu befolgen, aber wenn sie Teil der Arbeitsprozesse des Teams werden, bemerken die Kunden eine viel höhere Qualität der Arbeit. Um dies zu erreichen, sollten die Anforderungen abgestimmt werden, um sich auf die Verbesserung der Produktivität zu konzentrieren und Hindernisse zu beseitigen, welche die Arbeit des Teams behindern und die Effizienz der Abläufe verringern. Ein pragmatischer und flexibler Ansatz ist bei der agilen Anpassung während eines Projekts unerlässlich. Anschließend lernen sowohl das Team als auch der Kunde mit der Zeit immer mehr dazu und profitieren letztlich davon.
Kategorien Projektleitung


Design, Entwicklung, DevOps oder Cloud - welches Team brauchen Sie, um die Arbeit an Ihren Projekten zu beschleunigen?
Chatten Sie mit unseren Beratungspartnern, um herauszufinden, ob wir gut zusammenpassen.

Jakub Orczyk

Vorstandsmitglied /Verkaufsdirektor

Buchen Sie eine kostenlose Beratung
kuba (1)