Waterfall vs Evolutionary Software Development Models

development-processwaterfall

Does anyone know the difference between those two?

They are both created by iterative approach – giving successive revision after each iteration. They both have the initial idea->analysis->(outline)design phases.

Best Answer

Definitions will vary so I doubt you will get a conclusive answer to this question.

Having said that, the most obvious potential difference I see is how the iterations relate to your high level design / architecture:

  • In an iterative waterfall model, you might use the iterations more for refinement/elaboration of elements of the overall design in multiple phases of [detailed design / build / test]. In theory, you could plan most of the iterations in advance.
  • In a true evolutionary model you would not have an overall design - you'd just be adding to whatever you have already built based on some notion of what is most valuable to do next, typically gained through intensive user feedback. You wouldn't have a fixed plan for future iterations (although you might keep a prioritised backlog or something similar).