Michael Mahemoff picked up on my recent ramblings about functional specs and adds his own 5 cents (in my mind, his thoughts are worth more than just a couple of pennies). I agree with Michael with regards to the dichotomy - like most things in life, docu needs exist on a continuum. If I’m just writing a simple little app for my own use, I probably won’t write much of anything beyond the code but if I’m reworking the software that keeps planes in the air, well, chances are I’ll need to jot a few things down!
While needs vary, as Michael says, it’s quite difficult to nail down software requirements down with any degree of accuracy.
The problem here, of course, is that Definitive-style docs require an almost impossible task of pinning down requirements, and furthermore, fixing requirements runs counter to the modern organisation?s goal of being agile.
I’m not sure why companies continue to try and use waterfall like methodologies when agile appears to be the only approach that really works. The idea that process can somehow replace people is as old as the Model T. But then when was the last time you drove one of those to the office?
The real solution doesn’t lie with more process or templates - it rests with better people. I went to a small liberal arts school in central Minnesota. Beyond my studies in 0s and 1s, I took quite a few courses from the outside the sciences, considerably more than I was “required” to take to fulfill my core credits. That was fine with me, my interests were diverse but it always struck me as odd that science folk were required to take far more humanities stuff than the non-science types were required to take in our disciplines. My point?
There?s obviously no one solution, but one essential ingredient comes from multi-talented people.
In today’s marketplace, we need more geeks with customer affinity (and fewer that dig plumbing)…but we also need customers with some appreciation for technology. But then that’s just my two cents.