Webdesign

Agile Methodik in der Webentwicklung

Autor: dartera
Mai 13, 2021

Agile ist eine Gruppe von Methoden für ein flexibles Projektmanagement im Entwicklungsteam. Der Arbeitsprozess wird dabei in kleine Zeiträume unterteilt, die auch als Sprints oder Iterationen bezeichnet werden. Während jedes Sprints erstellt das Entwicklungsteam einen Teil des Produkts, der getestet und bewertet werden kann. Dieser Ansatz ermöglicht es, wesentliche Änderungen in das Projekt einzubringen, selbst wenn die Entwicklung auf Hochtouren läuft. 

Zum Beispiel hat das Team bereits die Benutzeroberfläche eines neuen Online-Kinos entworfen, in der es einen Player gibt, ein Katalog von Filmen hochgeladen wurde, es gibt Sammlungen nach der Geschichte der Benutzeransichten und sogar die Technologie von Gesichtserkennung von Schauspielern. Wenn eine neue Iteration beginnt, stellt sich heraus, dass den Nutzern die Möglichkeit fehlt, Soundtracks direkt im Player zu erkennen, weil sie während der Filmvorführung keine Lust haben, Shazam zu öffnen. Schon in der nächsten Entwicklungsphase beginnt das Team mit der Entwicklung und Implementierung dieser Funktion.

Die Arbeitsprinzipien von Agile stehen im Gegensatz zu einem anderen Ansatz in der Entwicklung - Waterfall. Hier ist die Produktentwicklung nach einer anderen Logik aufgebaut:

  • Ausarbeitung einer vollständigen technischen Spezifikation;
  • Planung;
  • Entwicklung;
  • Testen;
  • Endergebnis.

In dieser Methodik ist es nicht möglich, den Entwicklungsprozess zurückzuspulen, das Team kehrt zu den vorherigen Phasen zurück, nur wenn etwas nicht richtig funktioniert und arbeitet nach der technischen Spezifikation. Aus diesem Grund werden Probleme mit der Leistung des Produkts (App, Website) ziemlich spät festgestellt - erst in der Testphase - und das Ergebnis könnte ein Produkt sein, das die Erwartungen des Kunden überhaupt nicht erfüllt oder nicht so funktioniert, wie es sollte.

Arten von Agile-Methodologien

Agile ist der generische Name für mehrere Methoden, die durch die Idee der flexiblen Arbeit vereint sind. Dazu gehören verschiedene Methoden, wie beispielsweise:

  • Scrum. Arbeit in dieser Methode wird in Iterationen durchgeführt. Alle Aufgaben, die für die Fertigstellung des Produkts benötigt werden, werden in eine spezielle Liste - den Backlog - eingetragen, und die Hauptrolle spielt der Kunde, der die Art und Funktionalität des Produkts bestimmt.
  • Kanban konzentriert sich auf die Visualisierung von Aufgaben auf Boards und die Optimierung des Arbeitsprozesses. Kanban-Teams streben danach, die Projektumsetzungszeit zu reduzieren und die Effektivität zu erhöhen.
  • Extreme Programming basiert auf Praktiken wie pair programming, development through testing und continuous integration, d.h. ständiges Hinzufügen neuer Elemente zum Hauptprojekt.

Prinzipien von Agile

Der Agile-Ansatz zur Entwicklung basiert auf mehreren Prinzipien:

  • Menschen und Interaktion sind wichtiger als Prozesse und Werkzeuge. Daher eignet sich die Methodik für kleine Startups sowie große Unternehmen. Es spielt keine Rolle, wo die Kommunikation stattfindet und Aufgaben gestellt werden - ob im Telegram-Chat oder im Task-Manager - Hauptsache, alle Beteiligten verstehen die Ziele des Projekts und wissen, was in der aktuellen Phase passiert.
  • Ein funktionierendes Produkt ist wichtiger als eine erschöpfende Dokumentation. Dank dieses Prinzips beginnt die Agile-Entwicklung schneller - schon in den ersten Phasen werden anstelle der Erstellung einer umfassenden technischen Spezifikation Prototypen erstellt und getestet, auf denen die Hypothesen geprüft werden.
  • Zusammenarbeit mit dem Kunden ist wichtiger als die Abstimmung der Vertragsbedingungen. Die Arbeit nach der Agile-Methodologie setzt eine aktive Beteiligung des Kunden voraus, daher ist sie nicht geeignet für Kunden, die nicht bereit sind, sich in die Arbeit einzuarbeiten, genügend Zeit für das Projekt aufzuwenden und zu experimentieren.
  • Die Bereitschaft zur Veränderung ist wichtiger als die Einhaltung des ursprünglichen Plans. Dieses Prinzip ist die Grundlage für flexible Entwicklung. Es ist unmöglich, alles im Voraus perfekt zu planen, und einige helle Ideen kommen tatsächlich während der Arbeit am Produkt. Agile ermöglicht es, sich auf die Aufgaben zu konzentrieren, die jetzt wichtig sind, und keine Ressourcen für das Überdenken von zwei bis drei Schritten im Voraus zu verschwenden.

Wie ist ein Agile-Team organisiert?

Arbeiten nach der Agile-Methodologie bedeutet, die Standard-Management-Prinzipien aufzugeben, denn es handelt sich nicht um eine Management-Methode, sondern um eine Interaktionsmethode. Das bedeutet, dass jeder Teammitglied gleichwertige Positionen im Verhältnis zu anderen hat. Innerhalb der Projekte werden Rollen verteilt, die von Mitarbeitern aus verschiedenen Abteilungen übernommen werden. In der IT sind die wichtigsten Rollen in einem Agile-Projekt:

  • Produktverantwortlicher;
  • Projektmanager;
  • UX-Designer;
  • Technische Redakteure;
  • Entwickler (Art des Entwicklers hängt vom Profil des Projekts ab);
  • Tester.

Trotzdem ist eine Person in der Position eines Produktverantwortlichen formell nicht der Leiter, sondern nimmt einfach die Verantwortung für die Formulierung der Produktanforderungen auf sich: er bringt das Vision des gewünschten Produktaussehens und den Funktionsumfang dem Rest des Teams bei.