Вы правы. Традиционный способ разработки программного обеспечения (так называемый водопад), следующий за этими шагами. В последние годы было создано много методологий, которые в настоящее время улучшают процесс разработки программного обеспечения.
Если вы не знаете о методологиях, таких как экстремальное программирование (XP), разработка через тестирование (TDD), Scrum, Kanban, разработка на основе поведения (BDD), Agile Unified Process, Feature Driven Development (FDD) и другие Agile Методологии (очень распространенные в наши дни) не волнуют. В интернете много материалов. Некоторые из этих методологий ориентированы на создание и тестирование программного обеспечения на уровне исходного кода (TDD, BDD), другие в большей степени ориентированы на управление всем процессом (Scrum, Kanban).
Идея, заложенная в подмножестве этих методологий, заключается в том, что требования меняются в ходе процесса, и это необходимо для дополнения этапа разработки этапом тестирования в небольших взаимодействиях для доставки части программного обеспечения с ценной функциональностью за небольшой цикл. вместо этого следовать негибкому традиционному способу производства программного обеспечения, которое не имеет значения.