Bei einer Spezifikation von einer Software handelt es sich also um eine Auflistung von Eigenschaften, die diese später haben soll.
Es wird zu Beginn des Prozesses mit den Stakeholdern abgestimmt, was alles in die Spezifikation geschrieben werden soll.
Werde jetzt in 6-12 Monaten Software-Tester!
Die eben erwähnten Stakeholder können verschiedenen Ursprunges sein. Es gibt externe und interne Stakeholder, sowie primäre und sekundäre und zuletzt gibt es noch direkte oder indirekte Stakeholder. Unter die internen Stakeholder fallen zum Beispiel die Angestellten (Entwickler, Tester, PO) und die Besitzer. Die Externen wären etwa Kunden beziehungsweise Investoren. Zu den primären Stakeholdern zählen Kunden oder Teamleiter und zu den sekundären zählen diejenigen, die das Projekt finanziell, legal oder administrativ unterstützen.
Die direkten Stakeholder sind zum Beispiel die Angestellten und die indirekten Stakeholder sind die, die sich um das Endprodukt kümmern, heißt, wie viel wird es kosten und wann ist das Produkt nutzbar.
Nachdem wir uns jetzt mit den unterschiedlichen Stakeholdern befasst haben, befassen wir uns jetzt mit den verschiedenen Spezifikationen. Es gibt immer mindestens eine offizielle Spezifikation und dann gibt es auch noch implizite Spezifikationen. Welches die offizielle Spezifikation ist, ist klar, es ist die, die mit den Investoren abgesprochen worden ist. Aber was sind denn jetzt implizite Spezifikationen? Das sind die Spezifikationen, die inoffiziell geschrieben wurden, sowas wie Produktliteratur oder Marketingpräsentationen.
Spezifikationen dienen dazu, einen Leitfaden zu haben, wie man die Software entwickelt. Außerdem dient die Spezifikation, für die Tester, dazu, das Projekt kennenzulernen und sich anhand dessen auch Testideen zu überlegen oder auch Fehler aufdecken, bevor sie programmiert worden.
Falls es zu Unstimmigkeiten zwischen Spezifikation und Endprodukt kommt, könnte dies zu einer Klage von den Stakeholdern führen. Um das zu vermeiden, müssen sich die internen Stakeholder an die Spezifikationen halten.
Die Spezifikationen dienen auch dem Schutz beider Seiten, heißt beide Seiten müssen sich daran halten. Der Stakeholder kann nicht Anforderungen verlangen, die nicht definiert wurden, ebenso müssen sich die internen Stakeholder daran halten, was alles in der Software integriert werden muss. Die Spezifikation dient also auch dazu das die Programmierer einen Leitfaden haben, die Stakeholder eine Vorlage haben, auf die sie sich verlassen können und die Tester etwas haben, worauf sie sich stützen können.
Wie man sieht, sind die Spezifikationen also essenziell, wenn es darum geht eine Software zu erstellen. Für alle beteiligten.