Wenn es nicht in der Spezifikation steht, steht es nicht in der Spezifikation. Als Entwickler ohne spezifisches Fachwissen ist der "gesunde Menschenverstand" ein irrelevantes Konzept. Unterschiedliche Branchen arbeiten auf unterschiedliche Weise, und ein Ansatz kann für einen bestimmten Bereich durchaus angemessen sein, in einem anderen jedoch völlig inakzeptabel.
Das Schreiben guter Spezifikationen ist eine Kunstform. IMO kann man entweder einen agilen "Analyst/Programmierer"-Ansatz wählen, bei dem man kleine Iterationen durchführt, oder man schreibt und pflegt eine detaillierte, eindeutige Spezifikation . Beides sind hoch qualifizierte Aufgaben, die immer noch iterativ sind. Man muss die Spezifikation immer noch weiterentwickeln.
Beide Wege sind nicht so einfach, wie sie klingen, und beide erfordern die Fähigkeit, eine gute Arbeitsbeziehung mit dem Kunden aufzubauen.