Agile UX

Agile UX

Copyright © Shutterstock /Artit Wongpradu

Was ist Agile UX?

Agile UX ist eine Softwareentwicklung, die den Ansatz verfolgt, Anforderungen und Lösungen durch die Zusammenarbeit von sich selbst organisierenden und funktionsübergreifenden Teams und deren Kunden zu entwickeln. Agile UX befürwortet eine anpassungsfähige Planung, evolutionäre Entwicklung, frühe Bereitstellung und kontinuierliche Verbesserung und ermutigt zu einer schnellen und flexiblen Reaktion auf Veränderungen.

Der Begriff Agile UX wurde in diesem Zusammenhang durch das Manifest für agile Softwareentwicklung popularisiert. Die Werte und Prinzipien, die in diesem Manifest vertreten werden, wurden aus einem breiten Spektrum von Softwareentwicklungs-Fameworks abgeleitet.

Es existieren signifikante Anekdoten in Bezug auf Agile UX, die belegen, dass die Anwendung agilerwas Praktiken und Werte die Flexibilität von Software-Experten, -Teams und -Organisationen verbessern.

Was ist das Ziel von Agile UX?

Agile UX zielt darauf ab, Entwicklungen im Softwarebereich mit Flexibilität und Effizienz zu gestalten sowie die Prozesse zu verschlanken. 

Wie ist es entstanden?

Inkrementelle und iterative (wiederholende) Methoden der Entwicklung können bis 1957 zurückverfolgt werden. Evolutionäres Projektmanagement und adaptive (anpassungsfähige) Softwareentwicklung zeichneten sich erst in den frühen 70er Jahren aus.

In den 90er Jahren entwickelte sich eine Reihe leichtgewichtiger Methoden der Softwareentwicklung als Reaktion auf die vorherrschenden schwergewichtigen Methoden. Bis ins Jahr 1997 konnten sich Feature-getriebene Entwicklungen manifestieren. Alle Entwicklungen bis zu diesem Zeitpunkt werden jetzt gemeinsam als agile Softwareentwicklungsmethoden bezeichnet. Gleichzeitig wahren ähnliche Veränderungen in der Fertigung und in der Luft- und Raumfahrt im Gange.
Im Jahr 2001 trafen sich 17 Softwareentwickler in einem Resort in Snowbird (US-Bundesstaat Utah), um diese leichten Entwicklungsmethoden auszudiskutieren. Darunter Kent Beck, Dave Thomas, Ward Cunningham, Jeff Sutherland, Jim Highsmith, Ken Schwaber, Bob Martin und Alistair Cockburn. Gemeinsam veröffentlichten sie die Manifestierung für Agile UX.
Eine Gruppe von Cuckburn und Highsmith schrieb im Jahr 2005 einen Nachtrag zu den Prinzipien des Projektmanagements. Ziel war es in diesem Nachtrag, das Projektmanagement von Softwares in agile Softwareentwicklungsmethoden umzuleiten. 2009 verfasste eine mit Martin zusammenarbeitende Gruppe, das “Software Craftsmanship Manifest“, um die agile Softwareentwicklung nach professionellem Verhalten und Beherrschung zu lenken.
Der Leitfaden für Agile UX-Praktiken wurde 2011 gegründet. Es handelt sich dabei um ein entwickelndes Open-Source Kompendium der Arbeitsdefinitionen von agilen Praktiken, Begriffen, Elementen und Interpretationen und Erfahrungsrichtlinien.

Werte der agilen Softwareentwicklung

Aufgrund ihrer kombinierten Erfahrung bei der Entwicklung von Software, kristallisierten sich folgende Werte heraus:

  • Einzelpersonen und Interaktionen über Prozesse und Tools (Werkzeuge);
  • Funktionierende Softwares;
  • Kundenkooperation über Vertragsverhandlungen;
  • Reaktion auf Veränderungen.

Werkzeuge und Prozesse seien laut Scott Ambler wichtig. Es sei jedoch wichtiger, dass kompetente Mitarbeiter effektiv zusammenarbeiten. Eine gut formulierte Dokumentation sei unterstützend, um zu verstehen, wie die Software aufgebaut und wie sie zu verwenden sei. Der Hauptaspekt der Entwicklung sei allerdings die Erstellung der Software und nicht die der Dokumentation.
Ein Vertrag habe ebenfalls eine Wichtigkeit, ersetze jedoch nicht die konstruktive Zusammenarbeit mit den Kunden.
Zu guter Letzt sei auch ein Projektplan bedeutsam, der allerdings flexibel gestaltbar sein müsse, um Änderungen in der Technologie oder der Umgebung, den Prioritäten der Interessengruppen und dem Verständnis der Menschen für das Problem und dessen Lösung zu berücksichtigen sei.

Die 12 Prinzipien von Agile UX

1. Kundenzufriedenheit durch frühzeitige und kontinuierliche Lieferung wertvoller Software.
2. Änderungen/Anforderungen sind auch in der späten Entwicklung willkommen.
3. Häufige Lieferung der Arbeitssoftware (wöchentlich anstatt monatlich).
4. Tägliche Kooperation mit Fach- und Geschäftsleuten.
5. Motivierte und vertrauensvolle Personen als Basis des Projekts.
6. Co-Location: Direkte Kommunikationsform.
7. Arbeitssoftware als wichtigstes Maß für den Fortschritt.
8. Nachhaltige Entwicklung, um ein konstantes Tempo aufrechtzuerhalten.
9. Kontinuierliche Aufmerksamkeit auf technische Exzellenz und gutes Design.
10. Einfachheit als Kunst, die Menge der nicht geleisteten Arbeit zu maximieren.
11. Beste Architekturen, Anforderungen und Designs als Kern eines organisatorischen Teams.
12. Überlegung und Anpassung zwecks Effizienzerreichung.

Iteration

Die meisten Agile UX-Entwicklungsmethoden unterteilen die Produktentwicklungsarbeit in kleine Schritte, wodurch der Aufwand für Planung und Design minimiert wird. Iterationen (auch Sprints genannt) sind kurze Zeitrahmen (Timeboxen), die in der Regel eine bis vier Wochen dauern. Jede Iteration umfasst ein funktionsübergreifendes Team, das in allen Funktionen arbeitet: Planung, Analyse, Design, Codierung, Komponententest und Abnahmetest. An der Iteration wird den Interessengruppen ein funktionierendes Produkt vorgestellt.

Dadurch wird das Gesamtrisiko minimiert und das Produkt kann sich schnell an Änderungen anpassen. Eine Iteration fügt möglicherweise nicht genügend Funktionalität hinzu, um eine Marktfreigabe zu gewährleisten, aber das Ziel ist, eine verfügbare Version (die minimale Fehler enthält) am Ende jeder Iteration zu haben. Gegebenenfalls sind mehrere Iterationen erforderlich, um ein Produkt oder neue Funktionen zu veröffentlichen. Daher ist die Arbeitssoftware ein wichtiges Maß des Fortschritts.

Effiziente Kommunikation (Face-to-Face)

Der Prinzip der Co-Location lautet, dass Mitarbeiter im gleichen Team zusammen arbeiten sollten, um die Identität als Team besser zu ermitteln und die Kommunikation zu verbessern. Dies ermöglicht eine direkte Iteration von Angesicht zu Angesicht, idealerweise vor einem Whiteboard, wodurch sich die Zykluszeit verringert, die normalerweise erforderlich ist, wenn Fragen und Antworten per Telefon, beständigem Chat, Wiki oder per E-Mail vermittelt werden.

Unabhängig davon, welche Methoden der Entwicklung verwendet werden, sollte jedes Team einen Kundenvertreter erhalten. Diese Person wird von Stakeholdern vereinbart, in ihrem Namen zu handeln und verpflichtet sich persönlich dazu, Entwicklern zur Verfügung zu stehen, um Fragen während der gesamten Iteration zu beantworten. Am Ende jeder Iteration überprüfen die Stakeholder und der Kundenvertreter die Fortschritte und bewerten die Prioritäten neu, um die Kapitalrendite zu optimieren und die Ausrichtung auf die Kundenbedürfnisse und Unternehmensziele sicherzustellen.

Qualität

Zur Qualitätssteigerung und zur Verbesserung der Produktentwicklung werden häufig spezielle Tools und Techniken, wie kontinuierliche Integration, automatisiertes Testen von Einheiten, Paarprogrammierung, testgetriebene Entwicklung, Entwurfsmuster, verhaltensorientierte Performance, Code-Refactoring und andere Techniken einsetzt. Dies ist von Beginn an darauf ausgerichtet, Qualität zu entwerfen und zu erhalten, außerdem die Möglichkeit, Software für Kunden an jedem Punkt oder zumindest am Ende jeder Iteration zu demonstrieren.

Feedback und Anpassung zu Agile UX

Ein gemeinsames Merkmal bei Agile UX ist das tägliche Aufstehen (auch als tägliches Gedränge bekannt). In einer kurzen Sitzung berichten die Teammitglieder einander, was sie am Vortag in Bezug auf das Iterationsziel ihres Teams getan haben, was sie heute für das Ziel tun möchten und welche Hindernisse sie für das Ziel festhalten können.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte