Nuevo en ágil y no estoy seguro de cómo empezar. La idea es crear pequeñas partes del proyecto en sprints. 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.
Entonces, ¿cómo manejan esto los proyectos ágiles? ¿Comienzan creando la base de datos?
¿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?
¿Prefieres hacer partes de la base de datos en una historia que también requiere código?
Supongamos que tiene una historia que dice "Como usuario debe poder registrarse ...", ¿crearía la tabla de usuario en la base de datos como parte de esta historia?
¿Cómo puede ayudarlo Agile a diseñar la base de datos?
fuente
Respuestas:
Sí, creará una base de datos de forma incremental agregando las tablas y columnas necesarias según lo requiera la historia. Por lo general, no necesita toda la base de datos cuando comienza su primera historia, por ejemplo, "Como usuario debe poder registrarse ..." probablemente requiera una sola tabla con un conjunto de columnas exactamente definido.
Si tiene una historia que realmente requiere toda la base de datos, la historia es épica; es simplemente demasiado grande y debe dividirse.
fuente
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.
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.
¿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.
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.
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.
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.
fuente
En gran medida falso.
Una base de datos vacía, sí. Luego agregue tablas según sea necesario para terminar un sprint.
¿Que estas preguntando? Agile no tiene nada que ver con el diseño de la base de datos.
Tú escribes la historia.
Tú diseñas una solución.
Creas tablas y código.
Usted prueba el código.
¿Qué otra opción hay? ¿Todos los DB primero? Eso es imposible.
Primero, esa es una historia inútil, ya que no tiene ningún valor registrarse. Eso es simplemente un obstáculo técnico por el que los usuarios se ven obligados a pasar.
En segundo lugar, crearía suficientes tablas para implementar la historia.
¿Que estas preguntando?
Ágil es la gestión de proyectos. No ayuda con ningún diseño.
Simplemente te ayuda a romper un gran trabajo en pedazos pequeños.
fuente
En primer lugar, siga un enfoque incremental. Seleccione un módulo, defina sus requisitos, marque la funcionalidad, apunte a un área funcional y luego venga el modelado, el diseño de base de datos, los algos, los códigos y, finalmente, pruébelo y repita el proceso.
fuente
Su pregunta grita del antipatrón de desarrollo AgileFall .
¿Qué es? Por lo general, es una organización que tradicionalmente desarrolló software en un método Waterfall, pero luego, porque se dan cuenta de que no está funcionando, luchan internamente para adoptar técnicas ágiles. El "gas de falla" resultante generalmente ocurre porque Agile verdadero DEMANDA una sacudida organizacional fundamental de la forma en que muchas tiendas establecidas de Waterfall están estructuradas. Y, por supuesto, tenderán a mantenerse estructurados de esa manera, ya que muchas personas poderosas y tenibles sienten que necesitan inyectarse en el proceso cuando Agile muestra cuán inútiles son esas personas REALMENTE para el desarrollo de software.
Debe escapar de esta noción de que de alguna manera comienza desde abajo, diseña y construye su base de datos, y luego pasa al nivel medio y nunca más tiene que tocar su base de datos. Esta es la forma incorrecta de hacerlo en Agile.
Comience en el modelo de dominio para una historia de usuario y avance hasta la base de datos, y ABAJO hasta el nivel medio y la presentación.
fuente