Was ist eine Spezifikation?
Eine Spezifikation legt fest, was Auftraggeber bekommen sollen und was Auftragnehmer*innen/Entwickler*innen zu realisieren haben. Anhand der Spezifikation müssen alle Stakeholder*innen verstehen können, welches Ergebnis im Detail geliefert werden muss. Sie stellt damit sicher, dass alle Stakeholder*innen über dasselbe Thema sprechen.
Während in traditionellen (plangetriebenen) Projekten oft Lasten- und Pflichtenheften vorherrschen, kommen in der agilen Entwicklung meist Product Backlogs als Spezifikationen zur Anwendung.
1. Arten & Bereiche von Spezifikationen
Der Begriff der Spezifikation wird im Bereich des Requirements Engineerings je nach Kontext unterschiedlich verwendet:
- für Spezifikationsdokumente
- für Spezifikationsprozesse
- für Konzepte, die eine sehr detaillierte Aufgabenfestlegung beinhalten
- für Methoden zur Entwicklung und Darstellung einer Spezifikation.
Bei den Arten der Spezifikation wird insbesondere der Grad der Informalität unterschieden:
- informale Spezifikation
- halbformale Spezifikation
- formale Spezifikation
- Agile Product Backlogs
Im Zusammenhang mit einer Spezifikation werden auch die Begriffe „Lastenheft“ und „Pflichtenheft“ verwendet. Ein Lastenheft beschreibt die Gesamtheit aller Anforderungen des*der Auftraggeber*in an die Leistung des Produktes oder der Lösung. Es wird auch als Anforderungsspezifikation, Anforderungskatalog, Kundenspezifikation und Requirements Specification bezeichnet. Im Pflichtenheft wird beschrieben, was und wie der*die Auftragnehmer*in die im Lastenheft beschriebenen Anforderungen umsetzen wird. Es enthält somit die vom*von der Auftragnehmer*in verbindlich zugesagten Anforderungen.
Die Spezifikation ist jedoch nicht nur ein Begriff, der in der Informatik verwendet wird. Darüber hinaus findet der Begriff der Spezifikation auch in folgenden Bereichen Anwendung:
- Vertragsrecht
- Vergabe- und Vertragsordnung für Bauleistungen
- Lebensmittelindustrie
- Ökonometrie
2. Erstellung von Spezifikationen im Requirements Engineering
Die Spezifikation liegt in der Regel in der Verantwortung des*der Auftraggeber*in und beschreibt, was das finale Produkt oder die finale Dienstleistung bieten soll. Die Erstellung einer Spezifikation ist eine der Aufgaben eines Requirements Engineers. In vielen Projekten wird die Spezifikation im Auftrag des*der Auftraggeber*in von dem*der Auftragnehmer*in erstellt. Hierbei ist eine klare Abgrenzung zwischen den Anforderungen und Wünschen sowie den tatsächlichen Lösungen vorzunehmen.
Bei der Erstellung einer Spezifikation muss auf alle involvierten Stakeholder Rücksicht genommen werden, weshalb Spezifikationen widerspruchsfrei, verständlich und vollständig sein müssen.
3. Ziele von Spezifikationen
Ziel einer Spezifikation ist es, die Anforderungen an ein Produkt, eine Dienstleistung, eine Software oder ein System genau zu definieren.
Innerhalb des Requirements Engineerings soll durch das Spezifizieren von Anforderungen auch eine Kostenoptimierung erzielt werden. Da jedoch auch die Erstellung einer Spezifikation mit Kosten verbunden ist, muss im Vorfeld die Wirtschaftlichkeit überprüft werden. Eine gute Spezifikation kann auch dazu führen, die Kundenzufriedenheit zu erhöhen, da deren Erwartungen besser erfüllt werden können.
4. Inhalt einer Spezifikation
Eine Spezifikation beschreibt in erster Instanz den Entwurf eines neuen Produkts oder einer neuen Dienstleistung. Ist der Entwurf finalisiert, wird in einer Lösungsspezifikation die Lösung beschrieben, wie das Endprodukt oder die Dienstleistung umgesetzt werden.
Inhaltlich beschreibt eine Spezifikation im Requirements Engineering neben den funktionalen Anforderungen auch sämtliche nicht-funktionale Anforderungen. Dazu zählen:
- Zuverlässigkeit
- Handhabung und Aussehen
- Benutzerfreundlichkeit
- Leistung und Effizienz
- Betriebsbedingungen
- Umgebungsbedingungen
- Wartbarkeit und Änderbarkeit
- Portierbarkeit und Übertragbarkeit
- Sicherheitsanforderungen
- Politische Anforderungen
- Kulturelle Anforderungen
- Rechtliche Anforderungen
- Rangbedingungen und Schnittstellen
5. Spezifikationsdokumente
Spezifikationsdokumente können je nach Größe des Projekts einen erheblichen Umfang erzielen. Daher werden die Anforderungen meist in sogenannten Spezifikationsleveln dokumentiert, sodass man sich von einer ersten Übersicht immer weiter in die Details vertiefen kann.
Die Gliederung des Dokuments wird stark durch Richtlinien des*der Auftragsgeber*in und/oder des entwickelnden Unternehmens vorgegeben. Zusätzlich können auch internationale Normen die Gliederung des Spezifikationsdokumentes definieren.
6. Fazit
Die Erstellung einer Spezifikation ist mit einem großen Zeitaufwand verbunden, der auch viel Humankapital bindet. Sind Spezifikationen also unabdingbar? Ausschlaggebend ist die Qualität der Spezifikation: Je genauer und strukturierter die Anforderungen des*der Auftraggeber*in beschrieben sind, desto weniger Fehler passieren während der Entwicklung, die, je später sie entdeckt werden, umso kostspieliger zu beheben sind.
Eine gute Spezifikation ist zudem die beste Grundlage für weitere Projekte. Wohingegen bei lückenhaften Spezifikationen die bestehenden Fehler in neue Projekte mitgenommen und erneut gemacht werden.
Hole dir jetzt mit unserem Modul Requirements Engineering Foundation Level das notwendige Wissen über die Grundlagen des Requirements Engineering gemäß IREB. Im Fokus des Trainings liegt die Anforderungsermittlung, -dokumentation, -prüfung und das Management von Anforderungen. Unmittelbar im Anschluss besteht die Möglichkeit zur Ablegung der Zertifizierungsprüfung nach IREB.
Quellen:
- https://wirtschaftslexikon.gabler.de/definition/spezifikation-42460, Springer Gabler | Springer Fachmedien Wiesbaden GmbH
- https://t2informatik.de/wissen-kompakt/spezifikation/, t2informatik GmbH
- https://www.dreher-consulting.com/de/blog/lastenheft-versus-pflichtenheft/, Dreher Consulting
- https://files.ifi.uzh.ch/rerg/amadeus/teaching/courses/software_engineering_hs07/skript/Kapitel_07.pdf, Universität Zürich