views:

47

answers:

1

In various places I've seen the claim that by designing a system up-front, you can significantly reduce development time. I.e. by spending an hour designing you can save a week coding. My problem is that I have never seen a situation where I found this to be true. So I want to know of any examples out there that people have where this would be true:

So:

  1. What sort of problem arose during coding? (or was avoided?)
  2. How could you have avoided (or did avoid) the problem by spending more time doing design?
  3. Why was it (or would it have been) hard to fix the problem in the code?
A: 

Design-before-you-code is a school of thought that believes that what code is to be done (or what classes to be made and how they will interact) should be thought of and documented, reviewed looking at alternatives and also checking for the necessary and sufficient condition of fulfilling the need with probable extensibility in case of changes.

So if we see, any one who is not doing "design" before coding, must also be having these thoughts in mind while firing up the code editor and writing the classes and its methods. If someone is thinking about the classes and its interaction, it is better to follow the design discipline.

But with programming styles like agile, peer programming etc, the need for exclusive designing is decreasing in certain projects. However the product development teams that work on hardcore engineering products do follow the design discipline. The benefit is not only reduced coding time, but also maintenance of the product in long run.

Kangkan
"The benefit is not only reduced coding time, but also maintenance of the product in long run."I've seen people say that, but what I'd really like to see is actual examples. All I've ever seen is claims that it does. An actual example would really clarify things.
Winston Ewert
I don't know exactly how a real example be cited. But, I have experienced in two product developments. The first one was developed without the designs being made. And we saw a lot of pain during maintenance as extensibility was a big issue. The second one was following the disciplines and we felt the maintenance was quite less painful, so lot of efforts were saved.
Kangkan