Einer der Werte des Agilen Manifests lautet „funktionierende Software vor umfassender Dokumentation“ . Und doch müssen Anforderungen dokumentiert werden. Wenn ein vor 6 Monaten entwickeltes Feature geändert wird, brauche ich (als Entwickler) einen Ort, an dem ich auf die bestehenden Anforderungen verweisen kann. Dokumentierte Anforderungen sind natürlich auch für QA-Ressourcen wichtig. Wenn eine Frage zu einer bestimmten Anforderung auftritt, sollte es außerdem einen einzigen Ort geben, auf den man sich zur Klärung beziehen kann, anstatt von mir zu verlangen, meinen Code oder eine Reihe von E-Mails zu analysieren, um zu sehen, wie die Dinge erstellt wurden.
Die agilen Teams, in denen ich war, haben alle ein Online-Management (z. B. Rally, Jira) verwendet, in dem Anforderungen unter jeder User Story als Akzeptanzkriterien definiert werden können. Obwohl ich dies als eine äußerst funktionale Lösung/Ort für die Anforderungsdokumentation empfinde, da Sie das Tool ständig verwenden, um die Geschichte voranzutreiben, scheint es ein wenig informell zu sein. Bei dem letzten Projekt, an dem ich gearbeitet habe, pflegte das Projektmanagementteam ein BRD (Business Requirements Document), das alle Systemanforderungen in einem einzigen Dokument enthielt. Bei diesem speziellen Projekt wurde die BRD für die Freigabe des zu entwickelnden Kunden durch den Kunden verwendet und wurde auch vom Managementteam meines (Beratungs-)Unternehmens überprüft, um sicherzustellen, dass alles abgeschlossen wurde. Das Problem mit BRDs ist meiner Erfahrung nach, dass sie so ausführlich sind, dass sie nicht mehr lesbar sind.
Das Agile-Framework befasst sich nicht mit der Definition eines bestimmten Dokumentationsmittels, aber gibt es eine einzige Best Practice für die Dokumentation von Anforderungen an ein agiles Entwicklungsprojekt?
Es gibt drei agile Prinzipien, die im Spiel sind:
Anforderungen in einem Tool wie Rally oder JIRA in Form von User Stories + Akzeptanzkriterien und gleichzeitig in einem Anforderungsdokument zu pflegen, ist von Natur aus nicht agil. Sie erstellen übermäßige Dokumentation, können die nicht erledigte Arbeit nicht maximieren, und Sie haben mehrere Informationsquellen, die gepflegt werden müssen (und möglicherweise nicht mehr synchron sind).
Die einzige Lösung besteht darin, Ihre Anforderungen an einem Ort zu verwalten. Wenn Ihr Team derzeit ein Tool verwendet und einige Stakeholder mit diesem Tool nicht vertraut sind, haben Sie zwei Möglichkeiten. Die erste Option ist, dass Ihr Team seinen Prozess so anpassen kann, dass sich alle Beteiligten wohl fühlen. Die zweite Option ist, dass Ihr ScrumMaster oder Agile Coach die Stakeholder über den Wert aufklären kann
Es gibt nichts, was besagt, dass ein agiles Projekt nicht ein Anforderungsdokument in Form einer Tabelle oder eines Word-Dokuments erstellen und pflegen und damit arbeiten kann. Schließlich spezifizieren gute Anforderungen (unter anderem) die Wichtigkeit, um eine Priorisierung zu ermöglichen, sind überprüfbar und können mit den Informationen verknüpft werden, die zum Testen erforderlich sind (auch wenn nicht alle in einem Tool oder Dokument verfügbar sind), und sind auf andere Arbeiten rückführbar ( wahrscheinlich ID). Wenn Sie eine Anforderungsspezifikation haben, kann Ihr Team beispielsweise über die eindeutigen Anforderungskennungen weiterhin Arbeitsaufgaben, Testfälle oder Akzeptanzkriterien zu Elementen in der BRD zurückverfolgen.
Das agile Denken schlägt vor, dass die beste Vorgehensweise darin besteht, gerade genug zu dokumentieren. Wenn Sie etwas aus gutem Grund dokumentieren müssen, dokumentieren Sie es!
In der Softwareentwicklung hat jedes Projekt seine eigenen Bedürfnisse, es gibt nicht die eine, eindeutige Quelle der Wahrheit. Für einige Teams oder Projekte sind automatisierte Testfälle eine ausreichende Dokumentation. Manche brauchen einen formelleren Weg wie User-Storys in einem Workflow-System, statt nur auf Karteikarten.
BRDs klingen nach Überdokumentation und einer Möglichkeit, das Entwicklungsteam durch den Kunden zu steuern und zu kontrollieren, aber wenn es für das Projekt und das Team funktioniert, ist es nicht per se antiagil.
Das Agile-Framework beschäftigt sich nicht mit der Definition eines bestimmten Dokumentationsmittels
Die meisten agilen Frameworks geben nichts vor, außer dass sie wertorientiert sind und in Iterationen arbeiten und natürlich die anderen Prinzipien . Insgesamt ist es eine Denkweise. Frameworks, die alles spezifizieren, konzentrieren sich auf Prozesse und Tools und nicht auf Einzelpersonen und Interaktionen . Stellen Sie sich die Frage, wie agil dieses Framework wirklich ist.
Finden Sie eine Arbeitsweise, die zu Ihrer Branche, Ihrem Unternehmen, Ihrem Projekt oder Ihrem Produkt passt. Inspizieren und adaptieren Sie laufend, so finden Sie am Ende die optimale Arbeitsweise.
Thomas Owens
Thomas Owens
mellis481
Thomas Owens
mellis481
Thomas Owens
Marjan Venema