Because the fact one model is working for the HN community doesn't mean that other models don't work but you made a very definite and sweeping statement.
We use specs because our customers tend to be somewhat staid and want certainty and predictability. By keeping chunks of functionality relatively compact (say 3 person months typically, then developed over a period of maybe 6 weeks) writing an accurate and useful spec is absolutely doable.
Doing that we'll usually be 95% (or more) right and any adjustments can be made in a small release a couple of weeks later.
The approach has elements of agile and iteration in it (small releases, the UAT and fix process is basically a short agile sprint) but specs are absolutely a working part of it. Could we do it another way if our clients would accept it? Sure? But do the specs work in the current process? Yes they do.
We use specs because our customers tend to be somewhat staid and want certainty and predictability. By keeping chunks of functionality relatively compact (say 3 person months typically, then developed over a period of maybe 6 weeks) writing an accurate and useful spec is absolutely doable.
Doing that we'll usually be 95% (or more) right and any adjustments can be made in a small release a couple of weeks later.
The approach has elements of agile and iteration in it (small releases, the UAT and fix process is basically a short agile sprint) but specs are absolutely a working part of it. Could we do it another way if our clients would accept it? Sure? But do the specs work in the current process? Yes they do.