questions from using lint

Henry Spencer henry at utzoo.UUCP
Fri May 9 05:14:59 AEST 1986


> All too often, one sees programmers writing code before
> a proper job of analysis and design has been done.  I
> also believe that is partly because semi-running code
> makes it appear as though progress has been made,
> while a complete design doesn't convey the same impression.

Sorry, Doug, I can't let that one go by.

All too often, one sees programmers writing detailed design specifications
before writing any code.  This is probably because design specs make it
appear that the problem is fully understood, and give the impression to
management that the rest of the process of implementation will be entirely
mechanical and hence will be on budget and on schedule.  Ho ho.  Then one
gets to draw up a new budget and schedule for "maintenance", which is the
process of modifying the program so that it really meets the customer's
needs, instead of merely meeting the specification.

The alternative is to recognize that (a) the user probably does not have
a complete and coherent idea of what he needs, and hence cannot write a
spec or meaningfully assess one you write, and (b) in any case, the presence
of the software itself will change the user's tasks and therefore his needs.
Given recognition of this situation, it is not even theoretically possible
to avoid a trial-and-error process of software development.  Hence you
should aim to make your inevitable mistakes as early as possible.  Which
puts a heavy premium on getting initial prototype software into the hands
of the customers right away, so that you can learn what's wrong with it.
One progresses by iteratively enhancing (and perhaps sometimes re-doing)
the prototype, with regular user feedback.

This is not to say that the design-it-first method doesn't have its uses,
and its advantages, when the problem is understood well enough.  But a very
large class of problems -- almost anything to do with user interaction, for
example -- simply don't meet that criterion.
-- 
Join STRAW: the Society To	Henry Spencer @ U of Toronto Zoology
Revile Ada Wholeheartedly	{allegra,ihnp4,decvax,pyramid}!utzoo!henry



More information about the Comp.lang.c mailing list