Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • demeter demeter
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 9
    • Issues 9
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Manuel de Blas
  • demeterdemeter
  • Wiki
    • 3.ers
  • 3.1 Planificación

3.1 Planificación · Changes

Page history
correc. authored Oct 31, 2025 by Manuel de Blas Pino's avatar Manuel de Blas Pino
Hide whitespace changes
Inline Side-by-side
Showing with 30 additions and 35 deletions
+30 -35
  • 3.ers/3.1-Planificación.md 3.ers/3.1-Planificación.md +30 -35
  • No files found.
3.ers/3.1-Planificación.md
View page @ 1c74744a
### Metodología
Como metodología de trabajo para el proyecto se utilizará **_Combat Agile_**<sup>[]</sup>. Esta metodología está basada en el marco de trabajo **_Scrum_**, por lo que hereda de esta todas sus fases y productos generados. Los desarrollos basados en **_Scrum_** dividen el trabajo en **Sprints**, los cuales son etapas que cuentan con una duración aproximada de 4 semanas. A su vez a lo largo de cada Sprint tienen lugar una serie de hitos los cuales determinan cuál es el trabajo pendiente por realizar y auditan si el desarrollo avanza hacia el objetivo.
Como metodología de trabajo para el proyecto se empleará **_Combat Agile_**<sup>[]</sup>. Esta metodología se basa en el marco de trabajo **_Scrum_**, heredando todas sus fases y productos. Los desarrollos basados en **_Scrum_** dividen el trabajo en **Sprints**, los cuales son etapas de aproximadamente 4 semanas de duración. A lo largo de cada Sprint se realizan una serie de hitos que permiten identificar el trabajo pendiente y auditar si el desarrollo progresa hacia el objetivo.
A continuación se detalla en qué consiste cada uno de los hitos:
Los hitos se describen a continuación:
1. Sprint Planning:
Se define qué trabajo del PB se va a realizar durante el sprint. Para ello, los desarrolladores deben desglosar cada PBI seleccionado en las tareas concretas que se deben realizar. Cada una de estas tareas se denomina Issue. Además, durante el Sprint Planning se establece el objetivo del sprint para crear el Sprint Backlog. El Sprint Backlog es un artefacto compuesto por el objetivo del sprint, los PBIs seleccionados y los Issues generador a partir de los PBIs.
1. **Sprint Planning**:
Se define el trabajo del Product Backlog (PB) que se realizará durante el Sprint. Los desarrolladores desglosan cada ítem del PB seleccionado en tareas concretas llamadas _Issues_. Durante esta fase también se establece el objetivo del Sprint y se crea el **Sprint Backlog**, que incluye el objetivo, los PBIs seleccionados y los Issues generados a partir de estos PBIs.
2. Daily Scrum:
Reunión diaria de 15 minutos como máximo donde el equipo de desarrolladores informa sobre lo que hizo, lo que va a hacer y los impedimentos que han encontrado.
2. **Daily Scrum**:
Reunión diaria de máximo 15 minutos en la que el equipo informa sobre las tareas realizadas, las pendientes y los impedimentos encontrados.
3. Sprint Review:
Al final de cada sprint, se presenta el trabajo completado a los stakeholders para recibir feedback y actualizar el Product Backlog según sea necesario.
3. **Sprint Review**:
Al finalizar el Sprint, se presenta el trabajo completado a los stakeholders para recibir retroalimentación y actualizar el Product Backlog según sea necesario.
4. Sprint Retrospective:
El equipo Scrum analiza cómo ha trabajado durante el sprint y propone mejoras a implementar durante los próximos sprints. En esta reunión tan solo se tratan aspectos relativos a la metodología, no al producto.
4. **Sprint Retrospective**:
El equipo analiza cómo ha trabajado durante el Sprint y propone mejoras a implementar en los siguientes Sprints. En esta reunión se abordan únicamente aspectos metodológicos, no relacionados con el producto.
A partir de los principios descritos en el _Manifiesto Agil_<sup>[]</sup>, y teniendo como referencia Scrum, la metodología Combat Agile se caracteriza por enfatizar en 5 puntos:
Basándose en los principios del _Manifiesto Ágil_<sup>[]</sup> y en Scrum, la metodología **Combat Agile** se caracteriza por cinco puntos clave:
1. Flexible: permitiendo el desarrollo con distintas configuraciones de equipos y para distintos niveles de urgencia (estratégico o de combate). Para ilustrarlo: “No podemos cambiar el viento, pero podemos ajustar las velas para alcanzar el destino”.
2. Eficiente: estableciendo un método tipo “only-once” que provoque la autodocumentación y el diseño emergente que observe las buenas prácticas y fomente la colaboración entre funcional y técnico usando Behavior-Driven Development (BDD).
3. Accesible: siendo rápido y fácil de transmitir y asimilar por funcionales y técnicos. Se adopta progresivamente con las mínimas herramientas. Así no existen barreras para empezar a usarlo, facilitando su capacidad de propagarse a cualquier espacio.
4. Enfocado: fomenta el coraje para empezar con las tareas que entreguen el máximo valor, independientemente de su riesgo, y que despejen la mayor incertidumbre sobre el proyecto con un feedback temprano.
5. Lean: Pilar transversal que obliga a revisar cada proceso que se realiza para convertirlo en más eficiente con cada iteración.
1. **Flexible**: Permite trabajar con distintas configuraciones de equipo y diferentes niveles de urgencia (estratégico o de combate).
2. **Eficiente**: Emplea un enfoque "only-once" que fomenta la autodocumentación y el diseño emergente, siguiendo buenas prácticas y promoviendo la colaboración entre perfiles funcionales y técnicos mediante **Behavior-Driven Development (BDD)**.
3. **Accesible**: Se implementa de forma rápida y fácil de asimilar por todos los integrantes, adoptándose progresivamente con herramientas mínimas para facilitar su propagación.
4. **Enfocado**: Prioriza las tareas que generan mayor valor, reduciendo incertidumbre mediante retroalimentación temprana.
5. **Lean**: Se revisa cada proceso para optimizar su eficiencia en cada iteración.
### Tecnología
El frontend en Vue.js ofrece una interfaz de usuario dinámica y receptiva, permitiendo una interacción fluida y eficiente con el backend. A través de llamadas **API RESTful**, el frontend se comunica con el backend para realizar operaciones basadas en los permisos de los usuarios. El backend maneja la **lógica de negocio** y las **operaciones de datos** utilizando el **arquetipo "Medusa"** que ya incorpora Spring Data, su propia **seguridad y autenticación contra Active Directory**, apoyandose en **Spring Data Rest** para exponer el API con **"endpoints" "HAETOAS" nivel 3**<sup>[]</sup>. Por último **MySql** nos proporciona un almacenamiento rápido y eficiente para datos estructurados como los que haremos uso.
El **frontend** en Vue.js ofrece una interfaz de usuario dinámica y receptiva, permitiendo una interacción fluida y eficiente con el **backend**. Mediante llamadas **API RESTful**, el frontend se comunica con el backend para ejecutar operaciones basadas en los permisos de los usuarios. El backend gestiona la **lógica de negocio** y las **operaciones de datos** utilizando el arquetipo "Medusa", que integra **Spring Data**, su propia **seguridad y autenticación contra Active Directory**, y emplea **Spring Data Rest** para exponer el API con **endpoints HATEOAS de nivel 3**<sup>[]</sup>. Por último, **MySQL** proporciona un almacenamiento rápido y eficiente para datos estructurados.
### Arquitectura
La **arquitectura** de la **aplicación web** se basa en un enfoque de arquitectura de **full stack**<sup>[]</sup>, con un **frontend** desarrollado en **Vue.js** versión 3 y un **backend** robusto utilizando el arquetipo de defensa "Medusa" y **MySql** como gestor de base de datos.
La **arquitectura** de la **aplicación web** se basa en un enfoque **full stack**<sup>[]</sup>, con un **frontend** desarrollado en **Vue.js** versión 3 y un **backend** robusto utilizando el arquetipo de defensa "Medusa" y **MySQL** como gestor de base de datos.
### Calendario de plazos
El desarrollo de **Deméter** se dividirá en diferentes **Sprints** hasta, como mínimo, obtener un **MVP**
El desarrollo de **Deméter** se dividirá en diferentes **Sprints** hasta alcanzar, como mínimo, un **MVP**.
| **Plazos** | **Etapa** |
| ------------------------ | --------------------- |
| 01-30 septiembre | Sprint 3 |
| 01-28 octubre | Sprint 4 |
| 29 octubre -18 noviembre | Spring 5 |
| 1-2 diciembre | Exposición Resultados |
| **Plazos** | **Etapa** |
| ------------------------- | --------------------- |
| 01-30 septiembre | Sprint 3 |
| 01-28 octubre | Sprint 4 |
| 29 octubre - 18 noviembre | Sprint 5 |
| 1-2 diciembre | Exposición Resultados |
### Tecnologías y entornos
- **FrontEnd**: Desarrollo de FrontEnd basado en HTML5, CSS y Java Script mediante el uso de los framework vue.js en su versión 3 con options api y boostrap en su version 5.
- **BackEnd**: Desarrollo de API Rest en lenguaje de programación JAVA con el uso del framework Spring Boot y el arquetipo de Defensa "Medusa".
- **Almacenamiento de Datos**: Base de datos con gestor MySql.
- **Herramientas de desarrollo**: IDE de desarrollo Eclipse para JAVA y Spring Boot. IDE de desarrollo Visual Studio Code para FrontEnd.
- **Control de versiones**: Uso de git para control de versiones utilizando como repositorio GitLab.
### Equipo Scrum
- **Scrum Master**: Capitán D. Ignacio Ovidio Muñoz Nicolás.
- **Product Owner/Desarrolladores**: Capitán D. Manuel de Blas Pino, Teniente D. Daniel Dominguez Cancela
- **FrontEnd**: Desarrollo basado en HTML5, CSS y JavaScript, utilizando **Vue.js** versión 3 con Options API y **Bootstrap** versión 5.
- **BackEnd**: Desarrollo de API REST en **Java** con **Spring Boot** y el arquetipo de defensa "Medusa".
- **Almacenamiento de Datos**: Base de datos gestionada con **MySQL**.
- **Herramientas de desarrollo**: IDE **Eclipse** para Java y Spring Boot; IDE **Visual Studio Code** para frontend.
- **Control de versiones**: Uso de **Git** para control de versiones, con repositorio en **GitLab**.
Clone repository
  1. Especificación y formulación del problema
    1. Introducción
    2. Definición del problema
    3. Descripción del proceso actual
    4. Actores
    5. Alcance y limitaciones
    6. Analistas
  2. Estudio de Viabilidad del Sistema (EVS)
    1. Mind Map
    2. Impact Map
    3. Alternativas
      1. Sage HR
      2. OrangeHRM
      3. Deméter
      4. Matriz de decisión
  3. Especificación de Requisitos del Sistema (ERS)
    1. Planificación
    2. Historias de Usuario
    3. Product Backlog
    4. Diseño de la Interfaz de Usuario
    5. Diagramas
  4. Definición del MVP
  5. Sprint 1
    1. Sprint Planning
    2. Sprint Review
    3. Sprint Retrospective
  6. Sprint 2
    1. Sprint Planning
    2. Plan de pruebas
    3. Sprint Review
    4. Sprint Retrospective
  7. Sprint 3
    1. Sprint Planning
    2. Sprint Review
    3. Sprint Retrospective
  8. Sprint 4
    1. Sprint Planning
    2. Plan de pruebas
    3. Sprint Review
    4. Sprint Restrospective
  9. Sprint 5
    1. Sprint Planning
    2. Sprint Review
    3. Sprint Retrospective
  10. Manual de desarrollador
    1. Guía de instalación
    2. Estructura del backend
    3. Estructura del frontend
  11. Siglas
  12. Referencias