“Путешествие в тысячу миль начинается с одного шага” - это выражение обычно используется как мотивационное, мол, начни, и все остальное получится как бы само собой. Чего это выражение не учитывает, так это того, что произойдет, если первый шаг будет сделан в неверном направлении.
Чем раньше в процессе создания ПО допущена какая-либо ошибка (шаг в неверном направлении), тем дороже обойдется ее исправление с течением времени. Из этого следует, что самые дорогие ошибки обычно делают на самом старте проекта.
- Недостаток знаний о проекте. Менеджмент настаивает на принятии решений об общей архитектуре, продолжительности и стоимости проекта именно в тот момент, когда о проекте известно меньше всего. Это культурная особенность, ведь если рациональные философы и инженеры-формалисты правы, то разумно предположить, что мы в состоянии сформулировать точные спецификации и вывести из них (путем механических трансформаций) работоспособное ПО.
- Мышление в стиле компьютера. Опытные разработчики часто представляют себе, каким образом будет реализовано ПО, до того (и вместо того), чтобы разобраться, каким образом ПО будет представлять предметную область. Это проблема Ограничивать концепты моделирования концептами реализации неэффективно.
Связи:
- Архитектура ПО как совокупность отложенных решений - отложить принятие решений на как можно более поздний срок.