I was just reading this about specifications. Pretty interesting.
Thoughts?
While there is merit to many of the 37 signals mantras keep in mind the scale of applications they author. Relatively speaking, they author small solutions. Their most ambitious solution basecamp, a service I've personally used for over a year now, is small and simple compared to a capable document management system. Indeed, one of the major complaints folks have about the basecamp service is that their document management model is anemic. It was but a month ago that they finally added crude
file versioning after being inundated with requests.
If a functional spec "looks nothing like the finished product" and "has nothing to do with reality" it, in my opinion, it reflects the authors' understanding of the application's requirements and/or ability to commit it to paper, not the uselessness of the technique.
It's an art and science choosing what techniques one should employ to help one manage software development chaos, which has some dependencies on the style(s) the programmer(s) works with effectively. Should one blanket abandon specs? In a word, and in my opinion, no. If you have no target what is everyone collectively aiming for?
Should specs be lightweight? Specs should be detailed enough to fully describe (in plain language) the requirements of the software,
but no more. Some applications will be lightweight, others will be more substantial. Again, it's a matter of scale.
I think "Getting Real" is a worthwhile read, and there's merit to much of what they say, principally keeping things light weight, lean, agile, responsive etc. However, I think it's important to keep in mind much of it is not new, and appears to be abbreviated regurgitations of well established strategies and techniques (as can be found in discussions by
Martin Fowler etc.) re-floated in the context of the "37 Signals" experience. Subtitle: It would be worthwhile to be conversant with all the development strategies and techniques on which the 37 signals "philosophies" are based, derived and distilled from.
In my opinion.
What the hell am I doing, participating in discussions like this before my first coffee?
<blink>
As I was typing this up Tim snuck in his post. Sorry to hear you're not feeling well Tim, sure hope you feel, and get better soon.