Eine Applikation zu erstellen oder festzustellen, dass man eine braucht, ist oft einfach. Auch das Sammeln erster Feature-Ideen erscheint unkompliziert. Doch sobald es darum geht, diese Features sinnvoll ins UI zu integrieren oder technisch umzusetzen, wird es herausfordernd. Ein klarer Plan und ein gutes Verständnis der Anforderungen helfen dabei, Design- und Implementierungsfehler zu vermeiden, Zeit zu sparen und unnötige Kosten zu reduzieren. Doch genau hier liegt die Schwierigkeit: Wie stellt man fest, was wirklich gebraucht wird?
Oftmals denken Auftraggeber oder Entwickler an einzelne Features, ohne den gesamten Nutzungskontext zu hinterfragen. Nehmen wir als Beispiel eine Taschenrechner-App: Ein Kunde möchte, dass der Rechner zwei Zahlen addieren kann. Dies scheint zunächst klar definiert und einfach umsetzbar. Doch nach der Umsetzung stellt sich heraus, dass die Nutzer eigentlich mehrere Zahlen miteinander multiplizieren möchten. Die Architektur muss daraufhin überarbeitet werden. Später zeigt sich, dass Nutzer in Wirklichkeit exponentielle Berechnungen benötigen. Jede dieser nachträglichen Anpassungen bedeutet einen Zeit- und Kostenaufwand, der sich vermeiden liesse. Und je später Anpassungen gemacht werden müssen, desto mehr Aufwand/Kosten braucht es.
Hätte man von Anfang an die richtigen Fragen gestellt, wäre der Umfang des Projekts zwar größer erschienen, aber die Basis für eine durchdachte Lösung geschaffen worden. Statt nur Features aufzulisten, sollte man sich fragen: Wer sind die Nutzer? Was wollen sie wirklich tun? Warum genau wird diese Funktion benötigt?
Eine hilfreiche Methode zur Definition von Anforderungen ist die Erstellung von Personas. Personas sind fiktive Charaktere, die verschiedene Nutzergruppen repräsentieren. Betrachten wir ein Beispiel aus einem anderen Bereich: einen Bestellautomaten in einem Restaurant.
Der Kunde wünscht sich einen Automaten, bei dem Nutzer ihre Auswahl treffen, den Preis angezeigt bekommen, bezahlen und ein Ticket erhalten. Ohne detaillierte Analyse würde man eine simple UI umsetzen. Doch betrachtet man die unterschiedlichen Nutzergruppen, ergeben sich neue Anforderungen:
Mithilfe diese Personas werden wichtige Anforderungen sichtbar, die sonst übersehen würden. Wenn man diese Bedürfnisse von Anfang an berücksichtigt, spart man später Anpassungskosten.
Wie bereitet man sich also optimal auf die Entwicklung einer Software vor? Ein bewährter Ansatz ist die Durchführung von Workshops mit den relevanten Stakeholdern. Diese können in drei Phasen unterteilt werden:
Eine der größten Fehlerquellen ist es, Anforderungen nur aus technischer Sicht zu formulieren, statt sich an den Bedürfnissen der Nutzer zu orientieren. Statt zu sagen „Unsere App muss zwei Zahlen addieren“, sollte man sich fragen: Was ist das eigentliche Ziel des Nutzers? Im Beispiel mit der täglichen Addition derselben Zahl stellt sich heraus, dass eine Multiplikation praktischer wäre. Solche Erkenntnisse machen den Unterschied zwischen einer guten und einer großartigen Software.
Agiles Vorgehen ist wertvoll, um flexibel auf neue Anforderungen zu reagieren. Doch wer von Anfang an zu wenig Zeit in die Anforderungsanalyse investiert, riskiert teure Nachbesserungen. Durch gezielte Fragen, die Erstellung von Personas und gut strukturierte Workshops kann man viele Probleme frühzeitig erkennen und vermeiden. So entsteht eine Software, die nicht nur Features implementiert, sondern tatsächlich die Bedürfnisse der Nutzer erfüllt.
Schreiben Sie einen Kommentar