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 agiler 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 Prinzipen 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 Prinzipen 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