На самом деле все гораздо сложнее. Независимо от того, как много усилий мы затратили, чтобы разделить фазы, — когда мы начнем проектировать, мы выясним, что требования нуждаются в дополнительном анализе. А когда начнем программировать, нам понадобится внести изменения в сам проект.