Die wichtigste Funktion einer Spezifikation ist das Entwerfen des Programms . Selbst wenn Sie selbst an Code arbeiten und eine Spezifikation nur zu Ihrem eigenen Vorteil schreiben, werden Sie durch das Verfassen der Spezifikation, die die Funktionsweise des Programms detailliert beschreibt, gezwungen, das Programm tatsächlich zu entwerfen ...
... wenn Sie Ihr Produkt in einer menschlichen Sprache entwerfen, dauert es nur ein paar Minuten, um über verschiedene Möglichkeiten nachzudenken, Ihr Design zu überarbeiten und zu verbessern. Niemand fühlt sich schlecht, wenn er einen Absatz in einem Textverarbeitungsprogramm löscht. Wenn Sie Ihr Produkt jedoch in einer Programmiersprache entwerfen, dauert es Wochen , um iterative Entwürfe zu erstellen. Was noch schlimmer ist, ein Programmierer, der nur 2 Wochen damit verbringt, Code zu schreiben, wird an diesen Code gebunden sein, egal wie falsch er ist ...
... Wenn Sie eine spec schreiben, müssen Sie nur kommunizieren , wie das Programm funktionieren soll einmal . Jeder im Team kann einfach die Spezifikation lesen. Die QA-Mitarbeiter lesen es, damit sie wissen, wie das Programm funktionieren soll und worauf sie testen müssen. Die Marketingmitarbeiter verwenden es, um ihre vagen Vaporware-Whitepapers zu verfassen und sich auf der Website über Produkte zu werfen, die noch nicht erstellt wurden. Die Leute aus der Geschäftsentwicklung haben es falsch verstanden, um seltsame Fantasien darüber zu entwickeln, wie das Produkt Kahlheit, Warzen und ähnliches heilen kann, aber es bringt Investoren auf die Palme, also ist das in Ordnung. Die Entwickler lesen es, damit sie wissen, welchen Code sie schreiben sollen. Die Kunden lesen es, um sicherzustellen, dass die Entwickler ein Produkt entwickeln, für das sie bezahlen möchten. Die technischen Redakteure lesen es und schreiben ein schönes Handbuch ...
Wenn Sie keine Spezifikation haben, geschieht all diese Kommunikation immer noch, weil es sein muss , aber es geschieht ad hoc . Die QA-Leute blödeln wohl oder übel mit dem Programm herum, und wenn etwas seltsam aussieht, unterbrechen sie die Programmierer noch einmal , um ihnen eine weitere dumme Frage zu stellen, wie das Ding funktionieren soll ...
Ohne eine detaillierte Spezifikation ist es unmöglich, einen Zeitplan aufzustellen ... In zu vielen Programmierorganisationen gelingt es niemandem, eine Entscheidung zu treffen, wenn es zu einer Designdebatte kommt, normalerweise aus politischen Gründen. Die Programmierer arbeiten also nur an unumstrittenen Dingen. Im Laufe der Zeit werden alle schwierigen Entscheidungen zum Ende gedrängt. Das Schreiben einer Spezifikation ist eine großartige Möglichkeit, all die irritierenden Designentscheidungen zu treffen, die groß und klein sind und die vertuscht werden, wenn Sie keine Spezifikation haben. ..