Lists Home |
Date Index |
> From: Al Snell [mailto:firstname.lastname@example.org]
> I've seen lots of debate about which is the best way to write
> I'm beginning to think that perhaps the best way is to
> combine both types
> of people. Have me design it, then you implement it and debug
> it and feed
> back to me on lessons learnt that I should use in future designs - I
> suspect that would be the best use of our different mindsets!
I think a good deal depends upon the scale of the project, but larger
projects benefit from a hybrid model (and it is a hybrid model that I saw
promoted in OO methodology books before "Extreme Programming" was the
buzzword of the day, and I still believe in these OO methodologies).
For any large-scale effort, you have to visualize the overall architecture
and do some level of design in advance. But you don't worry too much about
the details. You sketch out a skeleton, define the high-level modules and
sketch the interfaces by which they interact. Then you go into a series of
iterative cycles of design a little, build a little, test a little until you
have something ready to deliver. I also tend to rely heavily upon
prototyping anytime I'm entering uncharted territory.
The projects I've worked on that use this approach have tended to be more
successful than others.