Steve Jobs glaubte, dass Kunden nicht genau beschreiben können, wie die zukünftigen Produkte aussehen sollen, und es ist Ihre Aufgabe, sie zu liefern. Wenn Sie also nicht ständig kundenspezifische Software liefern, vergessen Sie formale Spezifikationen und beginnen Sie mit der Erstellung von Prototypen. Lassen Sie die Kunden damit spielen und sagen Sie, was sie denken. Sie müssen die richtige Person für das Prototyping einsetzen, und sie müssen Hilfe haben. Ich sage dies aus Erfahrung - ich bin der Prototyp-Affe, der es liebt, intuitive Benutzeroberflächen zu erstellen, und ich habe mich mit jemandem zusammengetan, der versteht, was die Kunden wollen, und kann Dinge auf Papier oder mit Excel erklären.
Keiner von uns ist ein Genie, aber wir denken dasselbe - man kann fast sagen, dass wir Chemie haben und einen großen Einfluss darauf hatten, welche Dinge wie gebaut werden. Jetzt kann es sich nur ein mittelgroßes bis großes Team leisten, einen Prototypen und einen Nicht-Codierer zu haben, der ausschließlich Produkte entwickelt, aber es lohnt sich. Prototyping ist die günstigste Phase in der Softwareentwicklung, daher ist es nur sinnvoll, die Benutzeroberfläche und das scheinbare Verhalten richtig einzustellen. Ich habe Code Complete noch nicht gelesen, aber ich denke, dass in diesem Buch so etwas geschrieben steht.
Technische Daten sind nett zu haben, aber sie sind nie perfekt. Dazu gibt es einen Satz. Sie können nicht beweisen, dass die Spezifikation vollständig ist, und Sie können nicht beweisen, dass das Tool keine Fehler enthält oder dass es anhält :)
Trotz dieser Unzulänglichkeiten versenden Softwareunternehmen die ganze Zeit Software. Die Spezifikation wird niemals perfekt sein. Die Spezifikation ist auch UNNATURAL und veraltet. Eine Spezifikation für einen Prototyp ist wie eine Logarithmentabelle für ein einzelnes Diagramm - eine Spezifikation ist im Wesentlichen eine langweilige Broschüre, die gedruckt werden soll, während Sie stattdessen mit einem Werkzeug / Diagramm interagieren können. Inspiration finden Sie unter http://www.i-programmer.info/news/112-theory/3900-a-better-way-to-program.html .
Nun, spec ist gut, wenn Sie einen Vertrag haben müssen, um Ihren Arsch zu decken. Aber eine Spezifikation sollte immer noch nach einem Prototyp kommen, nicht vorher. Es ist Ihre Aufgabe, herauszufinden, wie Sie Prototypen billig machen können.