Wege aus der „Featureitis“ – Anforderungen agil analysieren!

Zettel

Egal ob Website, App oder Software – jede erfolgreiche Anwendung fängt doch damit an, seine Entwickler erst mal alle Funktionalitäten und Features umzusetzen, von denen man glaubt, der Nutzer könne sie irgendwann mal gebrauchen. Reduzieren kann man ja immer noch. Und Geld für die Umsetzung sinnloser Funktionen inklusive Anpassungen ist ja meist auch genug da. Oder wie sehen Sie das?

Das ist zumindest doch weniger absurd als in 3 Tagen alle wesentlichen Anforderungen zu erheben, diese in weiteren 3 Tagen umzusetzen und erst dann neue Anforderungen hinzuzunehmen. Oder?

Vielleicht ist letzteres aber auch einfach… agil! Und effizient obendrein. Und machbar sowieso! Wenn man agiles Projektmanagement geschickt mit Usability-Methoden kombiniert.

Bereits in meinem letzten Beitrag bin ich darauf eingegangen, dass sich agiles Projektmanangement z. B. im Rahmen von Scrum sich sehr gut mit Methoden der Usability-Optimierung kombinieren lässt. Heute möchte ich darauf eingehen, wie dies konkret in der Praxis aussehen kann. Und dabei fange einfach mal ganz vorne an: Bei der Anforderungsanalyse.

Zu Beginn sollte die Frage stehen:

Was brauchen meine Nutzer eigentlich wirklich?

Agile Anforderungsanalyse zeichnet sich dadurch aus, dass hier nicht alle Anforderungen von Beginn an festgelegt werden, sondern im gesamten Entwicklungsprozess nach dem Change-Request-Verfahren ergänzt, geändert oder gelöscht werden können. Zentrales Element ist die Priorisierung von Anforderungen, die darüber entscheidet, in welchem Entwicklungszyklus (Sprint) diese jeweils umgesetzt werden.

Zu Beginn werden in der Produktentwicklung daher nur die wesentlichen Anforderungen definiert und umgesetzt – anstatt Unsummen an Geld und Arbeitsstunden die Entwicklung von einer Menge Features zu investieren, nur um am Ende zu merken, dass 90% davon eigentlich niemand braucht.

Besonders bei neuen und/oder innovativen Produkten muss also zu Beginn eine Frage beantwortet werden, die es in sich hat:

Was genau sind die „wichtigsten Anforderungen“?

Welche Funktionen sind absolut notwendig? Oft fehlt es gerade bei neuen Produkten an Erfahrungswerten und somit an Kenntnis über die Zielgruppe und deren Bedürfnisse. Vor diesem Hintergrund eine Priorisierung zu treffen, ist eine schwierige Aufgabe.

In Scrum findet vor dem Start der Entwicklung oftmals ein sogenannter „Sprint O“ statt, der u.a. der Anforderungsanalyse dient. Oft dauert ein solcher Sprint 0 nur wenige Tage, die es für die Anforderungsanalyse und -priorisiernug optimal zu nutzen gilt.

Für eine erfolgreiche agile Anforderungsanalyse braucht es demnach Methoden, die …

  • … flexibel skalierbar sind (je nach verfügbarer Zeit für die Anforderungsanalyse)
  • … in kurzer Zeit verwertbare Ergebnisse liefern
  • … Ergebnisse liefern, auf die auch in späteren Sprints für die Erfassung/Ergänzung von Anforderungen noch zurückgegriffen werden kann.

Hier kommen Usability-Methoden ins Spiel…

… mit denen sichergestellt werden kann, dass sich die Entwicklung zunächst auf die wirklich wichtigen Funktionalitäten und Inhalte konzentriert.

  • KANO-Analyse: Egal ob es sich um eine neue oder bestehende Anwendung handelt – mit KANO lassen sich quantitativ Basis-, Leistungs- und Begeisterungsfaktoren erheben, die für die Entwicklung der Website relevant sind. Perfekt geeignet, um die Anforderungen für die ersten Sprints festzulegen.
  • Persona-Entwicklung: Für wen entwickeln Sie? Bereits in einem eintägigen Workshop können Sie gemeinsam mit Ihrem Team Personas entwickeln, die stellvertretend für die typischen Nutzer Ihrer Anwendung stehen. Diese können auch im Rahmen der weiteren Entwicklung immer wieder herangezogen werden, um Anforderungen zu priorisieren oder neu zu definieren.
  • Fokusgruppen: Moderierte Gruppendiskussionen liefern ebenfalls zeitnah einen Eindruck von den wesentlichen Anforderungen an eine Anwendung. In der Gruppe kann z. B. an einem Tag der Nutzen verschiedener Features diskutiert werden. Auch im späteren Entwicklungsprozess können erneute Diskussionen durchgeführt werden, um z. B. den Nutzen geplanter Features zu evaluieren.

Alle Methoden werden den o.g. Voraussetzungen an agile Anforderungsanalyse gerecht – so können Sie beispielsweise im Umfang zeitlich und inhaltlich flexibel skaliert werden und im Prozess immer wieder als Diskussions- und Entscheidungsgrundlage herangezogen werden. Egal ob ein Sprint 3 Tage oder 3 Wochen lang ist kann somit gewährleistet werden, dass Anforderungen immer optimal priorisiert sind. Voraussetzung ist natürlich auch eine enge Zusammenarbeit zwischen den Usability-Experten und dem Entwickler-Team.

Anforderungsanalyse ist nur der Anfang …

Insgesamt zeigt sich, dass eine Anforderungsanalyse in der agilen Entwicklung einige Herausforderungen birgt, die sich durch Usability-Beratung jedoch optimal meistern lassen. Doch nicht nur die Anforderungen der Nutzer sollten im Rahmen agiler Entwicklung beachtet werden – auch die nutzerfreundliche Umsetzung der Anforderungen muss immer wieder evaluiert werden. Wie agile Usability-Methoden hier erfolgreich zum Einsatz kommen können, werde ich in meinem nächsten Beitrag näher erörtern.

Ein Gedanke zu „Wege aus der „Featureitis“ – Anforderungen agil analysieren!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.