Щоб відповісти на ваше запитання, ні, це не нормально в процесі Agile.
Там, де це може здатися сприятливим ставленням, - це цикл проектування / розробки / тестування Agile на короткий ітерацій, а акцент Agile - на легкі рішення, що відповідають відомим вимогам, але добре структуровані, щоб можна було відповідати новим вимогам мінімальна зміна. З огляду на ці дві речі, ви можете сказати, що розробник, не знаючи, що може вийти на лінію, але знаючи його зміну, не повинен впливати на БД способом, який неможливо відмінити, просто вносить необхідні зміни в схему в "найлегшим" можливим способом, і тоді з інтервалом кілька наборів "легких" змін будуть перетворені на щось більш постійне і стабільне.
Сказавши це, я ще не працював із розробником, який підписався на теорію та методологію Agile, а також вважав, що регулярно створювати та видаляти таблиці в схемі необхідно з будь-якої причини. Agile не означає удару по штриху чи болта. Якщо вам надається історія, яка вимагає додавання нового поля даних, що належать до певного запису, ви додаєте поле до таблиці. Якщо ця зміна щось порушує, ви з'ясовуєте, чому, і вносите інші зміни, можливо, це можливо (я можу придумати дуже мало речей, які б зламалися, додавши стовпець до запиту БД; якщо він перерветься при такому зміні ви мають більші проблеми). Рефакторинг, як правило, обмежується кодом; Зміна схеми, як правило, є більш задіяним процесом, ніж зміна коду, і тому, коли відбуваються зміни схеми, вони зазвичай робляться більш уважно, і хоча б деяку увагу приділено знанням майбутнього напряму проекту. Необхідність переструктурувати частину або всю базу даних вказує на принциповий збій дизайну; те, що бути Agile, не означає, що не існує "загального плану" основних архітектурних та дизайнерських правил, який слід дотримуватися, органічно будуючи програму та структуру даних.
Зараз у Agile є випадки, коли те, що ви зараз «знаєте», буде суперечити тому, про що ви дізнаєтесь пізніше. Скажімо, у вас є вимога, щоб ваша система мала адресу для кожної людини. Оскільки це співвідношення 1: 1 і дані будуть потрібні у більшості випадків, ви просто додаєте поля Адреса до таблиці Особи. Через тиждень ви отримуєте вимогу, що особа може мати більше однієї адреси. Тепер це відношення 1: N, і щоб правильно їх моделювати, потрібно скасувати попередні зміни, розділивши поля на нову таблицю адрес. Це не буденно, особливо серед старших розробників. Досвідчений розробник побачить, що у Особи є адреса, розгляне їх як концептуально окремі, і створить таблицю Person та таблицю Адреса, пов'язуючи Person з Address з FK посиланням на AddressID. Таку схему, як ця, легше змінити, якщо зміниться характер відносин; не створюючи і не видаляючи цілих "широких" таблиць даних, відносини між особою та адресою можна досить легко змінити від 1: 1 до 1: N до N: N.