Tuesday, May 30, 2006 5:27 AM
by
dodyg
The truth of specification
"The less effort you spend on spec, the less precise it will be. The
more complete spec you want upfront, the more effort you will sacrifice
on Requirements Definition phase. The sad fact is that The Spec WILL be
changed. Developers will find conflicting functional requirements,
market will change, customer came to you with new ideas s/he want to
see in the system right now instead some other already defined
features. World is not an Ice, world is a liquid, it changes quickly
and unexpectedly. Business software development is not mathematic, it
is imprecise and chaotic by the same reason: world around the system
changing every day.
So huge part of the effort spent on The Spec will be wasted.
Moreover, even existence of such desirable and hopeful thing as The
Spec hurts software development. The Spec impedance changes, but
software development embraces changes, so The Spec should not be
created by wise development team. OK, but what is the alternative?
Solution is simple, let’s call it “Details On Demand”. In many cases
output is less important than the process itself. System Analysis
process more important than The Spec. During this activity you learn a
lot. You learn who will use the system, what problems that people have,
what are they hopes and desires, how to make they life easier and what
are you going to build anyway. Are you sure you need to know on May
whether button “Hide Old Leads” required on Leads list, if you will
work on this functionality on November? I don’t think so. There are so
many more important questions and areas to address. Forget about
complete details, you don’t need them upfront." (Target Process)
Requirement changes. Spec changes.Change happens. Deal with it. It's part of a daily development process.
So the important thing lies in the process. Use automated tools as much as possible. Tests. Design as needed. Have an open atmosphere at work. Do code review.