Painless Functional Specifications - Part 1: Why Bother?
by Joel Spolsky Monday, October 02, 2000 When The Joel Test first appeared, one of the biggest sore points readers reported had to do with writing specs. Why won't people write specs? I believe that on any non-trivial project (more than about 1 week of coding or more than 1 programmer), if you don't have a spec, you will always spend more time and create lower quality code. The most important function of a spec is to design the program. Let's visit two imaginary programmers at two companies. Speedy and Mr. Speedy decides that the best way to provide backwards compatibility is to write a converter which simply converts 1.0 version files into 2.0 version files. Now, Mr. When opening a file created with an older version of the product, the file is converted to the new format. The spec is shown to the customer, who says "wait a minute! When opening a file created with an older version of the product, the file is converted to the new format in memory. Another 20 minutes have elapsed. Mr. Mr.