Nuevo en ágil y no estoy seguro de cómo empezar.
Después de leer tu publicación, creo que la estás malinterpretando y deberías comenzar a leer lo que ágil realmente significa y trata de lograr.
La idea es crear pequeñas partes del proyecto en sprints.
Cerca, pero no lo suficiente. La idea es entregar software de trabajo al final de cada sprint (una parte del sistema puede caber en un sprint, o no). La base de datos puede verse como un software funcional si y solo si la base de datos es lo que usted entrega al cliente.
Sin embargo, el proyecto en el que estoy trabajando requiere una base de datos y la base de datos debe ser casi funcional para hacer algo con el proyecto.
¿Por qué tiene que ser casi funcional? ¿Cada característica del sistema utiliza todo o la mayor parte del contenido de la base de datos? Porque si no es así, no tiene sentido diseñar de antemano toda la base de datos.
Entonces, ¿cómo manejan esto los proyectos ágiles? ¿Comienzan creando la base de datos?
Agile no maneja la base de datos o el diseño del sistema. Te dice cómo administrar tu proyecto. Con eso en mente, comienza identificando todas las características del sistema y las coloca en la cartera de pedidos del producto. Luego, junto con el propietario del producto, asigna prioridades a las funciones de la cartera de pedidos. Después de hacerlo, comienza a tomar características de la cartera de pedidos y crea sprints (generalmente de 2 a 4 semanas). Cuando termina un sprint, debe tener una nueva función de trabajo en el sistema que se pueda entregar al cliente.
¿Cómo lo haría? Por ejemplo, si usa Scrum, ¿cómo haría las historias de los usuarios y probaría la base de datos?
Podría estar equivocado, pero no tiene sentido probar la base de datos. Puede probar el código que actualiza la base de datos. Por supuesto, puede probar su parte programable de la base de datos, pero eso se puede lograr probando el código que la llama.
¿Prefieres hacer partes de la base de datos en una historia que también requiere código?
Si.
Agile no es de ninguna manera una bala de plata para la gestión de proyectos y puede significar un desastre cuando no se aplica correctamente. Trate de pasar un tiempo leyendo al respecto (puede encontrar muchos recursos aquí o en stackoverflow), tal vez encuentre a alguien que ya sea ágil y pueda ayudarlo a ponerse al día.