11:56:33beachOne way to deal with such issues is to just go ahead and use the first thing that comes to mind. Then, it can always be changed later on. With more or less work, of course.
12:03:34beachThe reason that the waterfall development model is not working is that it is nearly impossible to finish a complete design before trying it out in the form of code.
12:04:15beachConversely, the relative success of "agile" development models is due to the refactoring activity, where design decisions can be altered.