Erweiterung von User Storys bei komplexen Themen

Warum User Storys erweitern?

Ein wesentlicher Gedanke im agilen Vorgehen ist „keep it simple“. Es ist wichtig, den Aufwand für die Erstellung bzw. Erweiterung einer Story in ein sinnvolles Verhältnis zum Umsetzungsaufwand zu stellen.

Wichtig ist aber auch bei komplexen Themen eine User Story nicht zu knapp zu beschreiben. Nach unserer Erfahrung kommt das häufiger vor, da die Zeit drängt und die Entwickler schnell Lösungen entwickeln sollen. Ziele oder Zusammenhänge sind aber noch gar nicht transparent.

Je nach Komplexität der Rahmenbedingungen, der Abhängigkeiten zu anderen Teams und Systemschnittstellen erweitern wir die Beschreibung von User Storys. Das Vorgehen haben wir aus verschiedenen Vorgehensmodellen abgeleitet, mit dem Ziel eine übergreifende Transparenz innerhalb des Teams sowie über mehrere parallele Teams hinweg bis hin zum Management zu erreichen.

Es geht aber nicht nur um die Transparenz in Bezug auf die Umsetzung, sondern auch um das gemeinsame Verständnis von Zielen und Erwartungen. Das eingesetzte Framework reicht von der strukturierten Erfassung der Vision, bis hin zu bereitgestellten Releases und Lösungen. Immer mit dem Ziel, die Erwartungen von Management, Stakeholdern und Anwendern mit den gelieferten Ergebnissen gegenüberzustellen. Skalierbar und abgestimmt auf das zu entwickelnde Ziel und das verfügbare Team.

Welche weiteren Informationen sind für das Entwicklerteam hilfreich?

Neben der Formulierung klassischer User Storys hat es sich bei komplexen Rahmenbedingungen als hilfreich gezeigt, die Informationen zu einer User Story zu erweitern. Wir definieren dann den Prozess, das Design, die Texte, die fachlichen Schnittstellen und die Datenfelder aus fachlicher Sicht.

Der Prozess wird je nach Komplexität z.B. als BPMN-Prozess oder Workflow visualisiert. Bei der Prozessmodellierung wird für mehr Transparenz darauf geachtet, dass Abläufe von Frontend und Backend getrennt dargestellt werden.

Aus den fachlichen Anforderungen wird herausgearbeitet, welche Informationen für die Ver-/Bearbeitung, z. B. innerhalb einer Softwarelösung, benötigt werden. Welche Informationen werden zum einen vom Anwender erfasst und sind entsprechend bei den Bedienoberflächen zu berücksichtigen. Welche Informationen werden von anderen Systemen benötigt, die per Schnittstelle angebundene sind.

Aus dem Prozessablauf und den fachlichen Anforderungen lassen sich dann sehr einfach relevante Erfassungsmasken und benötigte Felder für die Eingabe oder Anzeige identifizieren. Unter Usability-Gesichtspunkten und unter Einbindung der Anwender in Form von Usertests werden das Design und Anwendungsabläufe definiert. Damit einher geht die Formulierung und Verprobung von Texten.

Ebenfalls lassen sich aus dem definierten Prozess die benötigten Schnittstellen identifizieren, so dass diese aus fachlicher Sicht für das Entwickler Team weiter spezifiziert werden können. Aus den fachlichen Anforderungen und den gestalteten Masken und Schnittstellenspezifikationen ist eine fachliche Definition bis hin zu den benötigten Feldern möglich.