note
mirod
<p>Yes it is great to get a specification. My first sold
project ever was in the early 80's, a software to teach
music to kids, that evolved from what we (the programmers)
had understood as half a dozen independent exercices
that we could easily code in 2 month to a 4 month nightmare
resulting in a complete music school management program,
tracking kids results, offering appropriate exercices for
their level... all that on a Apple II with no hard disk
drive!</p>
<p>No you will _never_ work with a perfect specification. And
in any case you will never be allowed to stick to it until
the end of the project. There is always a good reason to
change a spec. I once worked for a Space Agency, from which
you'd expect Top Quality, Strict Processes and the likes,
and as I was leaving, I was discussing with one of their
long time programmers and complaining that I never had
a good spec, and he aksed me "A spec? I never had a spec
in 20 years here!"...</p>
<p>The solution? There is no perfect solution, we live in an
in an imperfect world after all. I found that writing a
spec is necessary, but then prototyping,
showing results early and getting feedback from the users
(_all_ the users, not just the guy who will pay for the
project) is the best way to catch problems with the spec
early.</p>
62945
62945