Atlassian Jira User Story Template für Python Django App Anforderungen Teil 1

Obowohl viele Atlassian Jira nicht moegen, es ist dennoch das defacto Tool fuer das Projekt Management von Software Projekten. Wir bei Surfgreen, nutzen Atlassian Jira seit Jahren fuer die Verwaltung von Software Anforderungen - von der Idee bis zum Deployment. In diesem Beitrag moechten wir gerne unsere Erfahrung im Bereich agiler Softwareanforderungen mit euch teilen und stellen hier unser Jira Template fuer User Stories vor. Da wir als Agentur vor allem auf Python Django spezialisiert sind, richtet sich dieses Jira Template genau auf die Entwicklung von Django Apps aus, jedoch kann es natuerlich auch fuer alle anderen Zwecke/Frameworks, etc. genutzt werden.

Jetzt beraten lassen

Was ist eine User Story?

Eine User Story ist eine kurze, einfache Beschreibung einer Softwarefunktion aus der Perspektive des Endbenutzers, oft formuliert als "Als [Rolle] möchte ich [Funktion], damit [Nutzen/Begründung]." Sie dient dazu, den Fokus auf den tatsächlichen Nutzen für den Endbenutzer zu legen und komplexe Anforderungen in handhabbare Einheiten zu zerlegen. 

In agilen Entwicklungsmethoden wie Scrum oder Kanban werden User Stories oft auf Karten notiert und auf einem Taskboard visualisiert, um den Fortschritt zu verfolgen. Jedoch sind vorallem Ticket System wie Atlassian Jira beliebt, um Anforderungen zu dokumentieren und im Team (auch  Remote Teams) zu managen und zu verteilen. 

Zur detaillierten Spezifikation können User Stories durch Akzeptanzkriterien ergänzt werden, welche konkret beschreiben, unter welchen Bedingungen die Story als erfüllt angesehen wird. Im Laufe eines Sprints oder Iteration werden diese User Stories vom Entwicklungsteam umgesetzt und ständig mit dem Product Owner abgestimmt, um sicherzustellen, dass die entwickelte Funktion den Bedürfnissen des Benutzers entspricht.

Die Bestandteile einer User Story - Rolle, Funktion, Nutzen

Der erste Teil einer User Story beschreibt die Rolle - also wer genau die "Aktion" durchfuehren wird. Im Detail: Die "Rolle" in einer User Story identifiziert die Person oder den Benutzertyp, der von der geforderten Funktion oder dem Feature profitieren wird.

Die Rolle in einer User Story - Die Bedeutung von Nutzern und Personas

Die Personen oder Nutzertypen werde im Voraus mit sog. Personas identifiziert und beschrieben: Personas sind detaillierte, fiktive Charakterprofile, die repräsentative Benutzer einer Software oder eines Produkts darstellen und helfen, die spezifischen Bedürfnisse, Verhaltensweisen und Ziele dieser Benutzergruppen besser zu verstehen. Bei der Erstellung von Personas für die Rolle in einer User Story werden oft Daten aus Marktforschung, Benutzerinterviews und Usability-Tests herangezogen, um realitätsnahe und relevante Benutzerprofile zu entwickeln. Mit diesen Personas können dann User Stories erstellt werden, die nicht nur eine allgemeine Rolle, sondern auch die spezifischen Bedürfnisse und Erwartungen der repräsentierten Benutzer berücksichtigen, wodurch die Entwicklung zielgerichteter und benutzerzentrierter wird.

Durch die Angabe einer Rolle wird klargestellt, für wen die Funktion wichtig ist, und hilft dem Entwicklungsteam, sich in die Lage dieses Benutzers zu versetzen. Beispiele für Rollen könnten "Administrator", "Endbenutzer" oder "Registrierter Kunde" sein, je nach Kontext und Anforderungen des Softwareprojekts.

Die Definition der Funktionsweise einer User Story

Die "Funktion" in einer User Story beschreibt die spezifische Handlung oder das gewünschte Feature, das der Benutzer erreichen oder nutzen möchte. Sie sollte klar und verständlich formuliert werden, damit das Entwicklungsteam genau versteht, was implementiert werden soll, ohne sich jedoch in technischen Details zu verlieren.

Die Funktion fokussiert sich auf den tatsächlichen Wert oder das Ergebnis für den Benutzer, nicht unbedingt auf die Art und Weise, wie dieses Ergebnis erzielt wird.

Oftmals wird die Funktion in der User Story in direktem Zusammenhang mit der Rolle und dem Nutzen dargestellt, um einen ganzheitlichen Kontext für die gewünschte Anforderung zu bieten.

Was ist der Nutzen einer User Story?

Der "Nutzen" einer User Story gibt den Grund oder das "Warum" an, weshalb eine bestimmte Funktion oder ein Feature gewünscht wird. Er erklärt den Mehrwert oder das erwartete positive Ergebnis, das durch die Implementierung dieser Funktion für den Benutzer oder die Rolle erzielt wird. Durch die Angabe des Nutzens wird der Fokus darauf gelegt, was für den Endbenutzer tatsächlich wichtig ist und hilft dem Entwicklungsteam, Prioritäten zu setzen und Entscheidungen basierend auf dem tatsächlichen Wert für den Benutzer zu treffen. Es stellt sicher, dass die entwickelten Features nicht nur funktionieren, sondern auch einen echten Bedarf oder ein echtes Problem des Benutzers adressieren.

Akzeptanzkriterien einer User Story als Abnahmekritierien, Detail Spezifikation und Testszenario

Akzeptanzkriterien definieren die spezifischen Bedingungen, unter denen eine User Story als "fertig" oder "erfüllt" betrachtet wird. Wir nutzen diese Akzeptanzkriterien hier bei Surfgreen auch gerne dazu Unit und Akzeptanztest zu planen und zu implementieren, um die Qualitaet der Software zu gewaehrleisten.

Akzeptankriterien bieten dem Entwicklungsteam eine klare und messbare Beschreibung dessen, was erwartet wird, und eliminieren Unklarheiten oder Interpretationsspielraum. Akzeptanzkriterien sind oft in Form von Listen oder Bullet Points strukturiert und beschreiben sowohl positive als auch negative Szenarien, die berücksichtigt werden müssen.

Während des Entwicklungsprozesses dienen sie als Grundlage für Tests und Überprüfungen, um sicherzustellen, dass die implementierte Funktion den Anforderungen entspricht. Die enge Zusammenarbeit mit dem Product Owner oder Stakeholdern ist essentiell, um präzise und vollständige Akzeptanzkriterien zu erstellen und sicherzustellen, dass alle Aspekte der User Story berücksichtigt werden.

User Story Handling mit Atlassian Jira bei Surfgreen

Nun, genug zur Theorie. Los geht's mit dem praktischen Teil. Wie setzen wir bei Surfgreen User Stories mit Atlassian Jira ein, um Software / Python Django Anforderungen mit unseren Kunden und Stakeholdern um zu setzen?

Unser Motto lautet immer: Keep it simple. Wir haben ein eigenes, einfaches Jira Template entwickelt, welches einfach zu erweitern oder zu kuerzen ist. Je nach Art der Anforderung. Was wir gerne direkt innerhalb der User Story mit abbilden, ist die 

detailliertere technische Spezifikation. Die technische Spezifkation beschreibt, die aus der fachlichen Anforderung heraus entstehende Vorgehensweise, um die technische Implementierung zu planen und aus zu fuehren. Dazu jedoch gleich mehr.

Jira Info Panels zur Abbildung von User Stories

Wir bei Surfgreen nutzen sog. Info Panels (blaue Box unten im Screenshot) von Atlassian Jira für die Beschreibung einer User Story. Diese sind gut sichtbar und geben dem Auge des Betrachters direkt eine Prioritaet.

 

Die User Story im Info Panel eines Atlassian Jira Tickets

 

Die Jira Info Panels koennen direkt ueber das runde i-Icon eingebunden werden oder ueber die das Dropdown im + Button abgerufen werden.

Bei Surfgreen nutzen wir User Stories in Englisch, um im internalen Kontext arbeiten zu koennen.

Abbildung von Reference Jira Tickets in der User Story

In fast allen Faellen, ist es notwendig verwandte Anforderungen/Tickets im Jira User Story Template zu referenzieren. Dabei kann es oft um Vorgaenger Stories gehen, die wichtige Informationen fuer den Entwickler bereit stellen oder weitere Abhaengigkeiten zu anderen User Stories beschreiben.

Ticketverlinkungen in der Jira User Story

Akzeptanzkriterien im Jira User Story Template

Im naechsten Abschnitt unseres Jira User Story Templates beschreiben wir die Akzeptanzkriterien. Um das Format offen zu halten arbeiten wir mit einer einfachen Jira Tabelle, die weitere Informationen verwaltet.

Dazu nutzen wir eine "numbered" Tabelle in Jira. Der Vorteil bei der Nutzung von Tabellen in Jira ist deren Uebersichtlichkeit, sowie die Moeglichkeit nutzen zu koennen, Anweisungen und Spezifikationen mit weiteren Informationen anreichern zu koennen. 

Wir bei Surfgreen nutzen bei den Akzeptanzkriterien einer User Story in Jira die folgende Tabelle (siehe unten) und reichern diese Tabelle mit folgenden Informationen an:

  • Acceptance Criteria Topic: Die abstrakte Beschreibung der Akzeptanzkriterium in Spalte 1. Vorteil hier: High Level Komprimierte Information zum Kriterium ermoeglicht einen bessern Ueberblick und Eindruck der Anforderung
  • Description: Die genaue Beschreibung des Akzeptanzkriteriums in mehreren Saetzen.
  • Implementation Status: Hier arbeiten wir mit Jira Icons bzw. Jira Emojis, um den aktuellen Implementierungstatus zu dokumentieren. Dies ist insbesondere vom Entwickler selber zu managen. Dieser ersetzt dann dieses "cross_mark" Icon mit einem gruenen "cross_check" Icon aus. So kann der Product Manager im Detail den Fortschritt der Implementierung verfolgen.
  • Test Status: In der Spalte Test Status wird so wie in der Spalte Implementation Status vermerkt, ob das jeweilige Akzeptanzkriterium getestet wurde.
Akzeptanzkrierien in der Jira User Story

Technische Spezifikation in der User Story

Die grosse Frage lautet: Sollten technischen Details und Anweisungen fuer oder von Entwickler in einer User Story vorkommen? Wir meinen ja auf jedenfall.

Der Vorteil hierbei ist, dass neben den fachlichen Spezifikationen ebenso die technischen Spezifikationen ein rundes Gesamtbild abgeben und sich fuer die Dokumentation und Uebersichtlichkeit positiv auswirken.

Was sollte nun aber Teil der technischen Spezifikation im Jira User Story Template sein? Da wir uns besonders auf Python Django Applikationen fokussieren, beinhalten unsere technische Specs folgende optionale Abschnitte, die je nach Erforderlichkeit gespect werden sollen.

Dies sind:

  • Python Django Model Spezifikationen: In diesem Abschnitt werden Datenbanktabellen, sogenannte App Models und deren Felder und Feldattribute definiert
  • Python Django Admin Spezifikationen: Jegliche Anforderungen an die Darstellungen von Models im Admin Bereich eines Django Projektes werden hier beschrieben.
  • Python Django View Spezifikationen: Die Anforderungen an die Verarbeitung von Requests innerhalb einer View finden sich in diesem Abschnitt. Dabei konzentrieren wir uns insbesondere auf die Abbildung und genaue Beschreibung von CRUD (Create, Read, Update, Delete) Szenarien.
  • Python Django Form Spezifikationen: Sollten in der User Stories Formulare ein Teil der Akezeptankriterien sein, beschreiben wir hier die genauen Anforderungen zur Datenverabeitung via Django Forms.
  • Python Django Template Spezifikationen: Bezueglich der reinen HTML Templates spezifizieren wir hier Designs und weitere Anforderungen an HTML oder Javascript Implementierung.
Die technische Spezifikation im Jira User Story Template mit Python Django Bezug.

Im naechsten Teil unseres Artikel (coming soon), gehen wir im Weiteren auf Testanweisungen und die Aufwandsabschaetzung ein.

Autor: Carl Bednorz

Carl Bednorz ist ein erfahrener Entwickler mit über einem Jahrzehnt Erfahrung in der Arbeit mit Python und dem Django Framework. In den mehr als 10 Jahren seiner professionellen Laufbahn hat er an einer Vielzahl von Projekten gearbeitet, die von einfachen Webanwendungen bis hin zu komplexen, maßgeschneiderten Softwarelösungen reichen. Seine tiefe Kenntnis von Python und Django, gepaart mit einer soliden Verständnis von Web-Sicherheitsbestimmungen, hat ihm ermöglicht, robuste und sichere Webanwendungen zu entwickeln.

Haben Sie Interesse an unserem Jira User Story Template?

Gerne schicken wir Ihnen eine Kopie, die sie verwenden oder erweitern koennen. Einfach per Telefon, E-Mail oder Kontakformular melden.

Das Django User Story Template fuer Jira

Kontaktformular

Top
Top