Ein Pflichtenheft ist ein entscheidendes Dokument im Softwareentwicklungsprozess, das die Anforderungen und Spezifikationen für die zu entwickelnde Software festlegt. Es wird vom Besteller, also dem Kunden oder der Organisation, die die Software in Auftrag gibt, erstellt. Manche sagen zum Pflichtenheft Leistungsbeschreibung, das ist für Nichtsoftwaremenschen besser zu verstehen, denn mit dem Dokument beschreibt der Besteller welche Leistung er vom Lieferanten erwartet. Der Softwarehersteller wird das Dokument vom Besteller übernehmen, oder auf der Basis des Pflichtenheftes ein Lastenheft erstellen, Das ist dann die Last die der Lieferant zu erbringen hat.
Vielleicht ist es so besser zu verstehen. Ein Architekt erstellt Ausschreibungen (Pflichtenheft) die Handwerker füllen es aus und senden es zurück. Erhält ein Handwerker den Zuschlag, so ist das ausgefüllte Angebot sozusagen das Lastenheft. Denn diese Last hat der Handwerker zu erbringen. Bei der Software kommt immer nach dem Pflichtenheft eine Kostensschätzung, und das Pflichtenheft mit dem Angebot zusammen ist in den meisten Fällen das Lastenheft.
Es handelt sich um entscheidende Elemente, die mit dem Pflichtenheft in Verbindung stehen. Oft beauftragt der Besteller diese Arbeiten beim Softwarelieferanten, um am Ende ein umfassendes Dokument zu erhalten, das alle gewünschten Lieferungen detailliert dokumentiert.
Das Pflichtenheft:
- Zielsetzung und Zweck: Das Pflichtenheft beginnt typischerweise mit einer klaren Definition der Zielsetzung und des Zwecks der Software. Hier werden die Erwartungen des Bestellers hinsichtlich der Funktionalität und Leistung der Software festgehalten.
- Projektumfang: Das Dokument sollte den Umfang des Projekts klar abgrenzen, indem es sowohl funktionale als auch nicht-funktionale Anforderungen definiert. Hierzu gehören beispielsweise Benutzeranforderungen, Systemfunktionen, Schnittstellen und Leistungsmerkmale.
- Benutzeranforderungen: Das Pflichtenheft sollte die Bedürfnisse und Anforderungen der Benutzer detailliert beschreiben. Dies umfasst oft Use Cases, Benutzerszenarien und Interaktionsmöglichkeiten.
- Funktionale Anforderungen: Hier werden die spezifischen Funktionen und Eigenschaften der Software aufgeführt. Es sollte klarstellen, welche Aufgaben die Software erfüllen muss und wie sie mit verschiedenen Benutzeraktionen umgehen soll.
- Nicht-funktionale Anforderungen: Neben den funktionalen Anforderungen sind auch nicht-funktionale Aspekte von großer Bedeutung. Hierzu gehören Leistungsanforderungen, Sicherheitsanforderungen, Zuverlässigkeitsanforderungen und andere Qualitätsmerkmale.
- Systemarchitektur: Das Pflichtenheft kann auch eine grobe Übersicht über die geplante Systemarchitektur enthalten. Dies kann die Hardware- und Softwarekomponenten sowie deren Interaktionen umfassen.
- Datenmodell: Es beschreibt die Struktur der Daten, die von der Software verwendet werden. Dies umfasst Datenbanktabellen, Dateneingabeformate und andere relevante Informationen.
- Schnittstellen: Das Pflichtenheft sollte alle Schnittstellen festlegen, die die Software mit anderen Systemen oder Komponenten haben wird. Dies könnte auch Benutzerschnittstellen wie Grafiken, Berichte oder Protokolle einschließen.
- Qualitätsstandards und Testspezifikationen: Der Besteller sollte klare Qualitätsstandards für die Software definieren und festlegen, wie die Software getestet werden soll, um sicherzustellen, dass sie diesen Standards entspricht.
- Lieferumfang und Zeitplan: Das Pflichtenheft sollte auch den erwarteten Lieferumfang der Software und einen Zeitplan für die Entwicklung festlegen.
Die Erstellung des detaillierten und präzisen Pflichtenhefts vom Besteller ist entscheidend, um sicherzustellen, dass alle Parteien – Besteller, Entwickler und andere Stakeholder – ein gemeinsames Verständnis der Anforderungen haben und dass die Software entsprechend entwickelt und getestet wird.