Почему в разработке почти не бывает "просто добавить поле"

Наверное, одна из самых опасных фраз в разработке звучит так: "Там нужно просто добавить одно поле".

Смотришь на макет – действительно поле. Кажется, пара часов, и можно передавать в тестирование.

А потом выясняется, что данные нужно получить из другого сервиса. В контракте их пока нет. Для старых записей поле может быть пустым. Показывать его нужно в трёх состояниях и не всем пользователям. А ещё не только на этой странице, но и в админке.

И вот где-то вдали уже создаётся встреча "быстро синхронизироваться" 😅

За время работы я понял: сама строка кода часто оказывается самой простой частью задачи. Основная сложность прячется в связях с тем, что уже работает и что очень не хочется сломать.

С опытом ты не столько быстрее добавляешь поля, сколько раньше начинаешь спрашивать: - Откуда приходят данные? - Что произойдёт в старом сценарии? - Кто ещё зависит от этого изменения? - Что должно случиться, если значения нет?

Хотя один неожиданный кейс всё равно обязательно найдёт тестировщик. Иначе задача не считается завершённой.

А какая "маленькая правка" в вашей практике оказалась совсем не маленькой?

Почему в разработке почти не бывает "просто добавить поле" | Сетка — социальная сеть от hh.ru Почему в разработке почти не бывает "просто добавить поле" | Сетка — социальная сеть от hh.ru