Para responder a su pregunta, no, eso no es normal en un proceso ágil.
Donde puede parecer que se deriva de una actitud ágil es el ciclo de diseño / desarrollo / prueba de iteración corta de Agile, y el énfasis de Agile en soluciones livianas que cumplan con los requisitos conocidos, pero que estén bien estructurados para poder cumplir con los nuevos requisitos cambio mínimo Teniendo en cuenta estas dos cosas, podría decir que un desarrollador, sin saber lo que podría ocurrir en el futuro, pero sabiendo que su cambio no debería afectar a la base de datos de una manera que no se pueda deshacer, simplemente realiza los cambios necesarios en el esquema en el La forma "más ligera" posible, y luego a intervalos, varios conjuntos de cambios "ligeros" se refactorizarán en algo más permanente y estable.
Dicho esto, todavía no he trabajado con un desarrollador que se suscribió a la teoría y metodología Agile, y también pensé que, por cualquier motivo, era necesario crear y eliminar rutinariamente tablas en el esquema. Ágil no significa bofetada o atornillado. Si se le proporciona una historia que requiere la adición de un nuevo campo de datos que pertenece a un registro en particular, debe agregar el campo a la tabla. Si ese cambio rompe algo, usted descubre por qué y realiza otros cambios según sea necesario (puedo pensar en muy pocas cosas que se romperían al agregar una columna a una base de datos que se está consultando; si se rompe con este tipo de cambio, usted tener problemas mayores). La refactorización normalmente se limita al código; cambiar el esquema suele ser un proceso más complicado que cambiar el código, por lo que cuando se producen cambios en el esquema, generalmente se realizan con más cuidado, y al menos un poco de atención al conocimiento de la dirección futura del proyecto. Tener que reestructurar una parte o la totalidad de la base de datos indica una falla fundamental de diseño; ser ágil no significa que no haya un "plan maestro" de arquitectura básica y reglas de diseño a seguir mientras se construye orgánicamente el programa y la estructura de datos.
Ahora, hay casos en Agile donde lo que "sabes" ahora será contradicho por lo que aprenderás más tarde. Supongamos que tiene un requisito de que su sistema debe tener una dirección para cada persona. Como se trata de una relación 1: 1 y los datos serán necesarios en la mayoría de los casos, simplemente agregue los campos Dirección a la tabla Persona. Una semana después, recibe el requisito de que una persona pueda tener más de una dirección. Ahora es una relación 1: N, y para modelarla correctamente debe deshacer sus cambios anteriores, dividiendo los campos en una nueva tabla de direcciones. Esto no es una rutina, especialmente entre los desarrolladores senior. Un desarrollador experimentado verá que una Persona tiene una Dirección, la considerará como conceptualmente separada, y creará una tabla de Persona y una tabla de Dirección, vinculando Persona a Dirección con una referencia FK a un AddressID. Un esquema como este es más fácil de cambiar si cambia la naturaleza de la relación; sin crear o eliminar tablas de datos "anchas" enteras, la relación entre Persona y Dirección se puede modificar fácilmente de 1: 1 a 1: N a N: N.