ad-hoc is bad didn't take time to design the system end up with architectural flaw waste time doing things customer doesn't want no clear marks, milestones; hard to track progress doesn't work very well for multiple developers, new coders when are we done? drawbacks of waterfall if software impl. doesn't satisfy users/customer, wasted lot of time nothing to show until end difficult to implement, have to go back to the drawing board not easy to parallelize lots of time "wasted" up front you may not know all the reqs./design at the start evolutionary have something to show earlier responds well to changes - when are we done?