Conclusiones de viabilidad - UExGPSASEE/proyecto24-gb02 GitHub Wiki

Estimación de Horas-Esfuerzo y Cálculo de Costes del Proyecto

El proyecto consiste en el desarrollo de una plataforma de contenido donde los usuarios pueden registrarse, visualizar películas o series, interactuar con el contenido mediante diversas funcionalidades (por ejemplo, marcar “me gusta”, obtener recomendaciones, etc.), y donde los administradores tienen el control sobre la gestión del catálogo.

Un aspecto esencial a la hora de desarrollar este proyecto es establecer una estimación de las horas-esfuerzo que pueden suponer las diferentes historias de usuario definidas en nuestro product backlog para poder hacer un cálculo aproximado de sus costes en cuanto a su desarrollo a nivel de programación. Para establecer estas estimaciones, el equipo de trabajo al completo se reunió para aportar su punto de vista sobre el posible tiempo que podríamos requerir para implementar cada historia de usuario, ya que la tecnología utilizada era previamente conocida, y se alcanzó un consenso durante dicha reunión.

A continuación, se presenta dicha estimación de las horas-esfuerzo necesarias de nuestras historias de usuario, organizadas por epics, así como el coste total del proyecto basado en el esfuerzo de los roles involucrados.

E1. Gestionar los contenidos

  • HU1.1: Agregar nuevas películas y series al catálogo (4.5 horas).
  • HU1.2: Editar información de películas o series (2.25 horas).
  • HU1.3: Eliminar contenido del sistema (1.25 horas).
  • HU1.4: Ver información detallada del contenido (0.75 horas).
  • HU1.5: Categorizar contenido por géneros y etiquetas (3 horas).
  • HU1.6: Gestionar temporadas y capítulos de series (2.25 horas).
  • HU1.7: Asociar actores y directores a películas o series (3 horas).

E2. Gestionar los usuarios y sus perfiles

  • HU2.1: Registro en la plataforma (2.25 horas).
  • HU2.2: Iniciar sesión en la plataforma (1.25 horas).
  • HU2.3: Editar perfil (2 horas).
  • HU2.4: Agregar método de pago seguro (0.75 horas).
  • HU2.5: Cancelar suscripción o cambiar el plan (0.75 horas).

E3. Gestionar las interacciones

  • HU3.1: Recibir recomendaciones de contenido (3.75 horas).
  • HU3.2: Marcar películas o series con "me gusta" (0.75 horas).
  • HU3.3: Ver lista de contenido visto recientemente (0.75 horas).
  • HU3.4: Agregar películas o series a la lista personalizada (1.25 horas).
  • HU3.5: Ver sugerencias de contenido nuevo o popular (4.5 horas).

E4. Desarrollar una interfaz accesible

  • HU4.1: Interfaz clara y fácil de navegar (3 horas).
  • HU4.2: Barra de búsqueda para contenido específico (2.25 horas).
  • HU4.3: Interfaz adaptativa para diferentes dispositivos (3 horas).
  • HU4.4: Optimización para usuarios con discapacidades (1.5 horas).

Esfuerzo Total

El esfuerzo total estimado para implementar todas las funcionalidades descritas es de 44,75 horas.

Dependencias entre requisitos.

Para determinar qué relaciones existen entre las historias de usuario de nuestro proyecto, se ha llevado a cabo un análisis para establecer el orden en el que se deben desarrollar para que exista una armonía en la planificación. En primer lugar, la primera historia de usuario (HU1.1) conforma un inicio del proyecto, pues consiste en agregar contenido a la aplicación, por ello la mayoría de la aplicación depende de ella. Además, existen otros requisitos con un alto grado de dependencia como la HU1.4, con ella el usuario puede ver información detallada de los contenidos y, por tanto, todas las historias relacionadas con la interacción con el contenido como el “me gusta”, las recomendaciones personalizadas o el historial de visualización. Sin embargo, la HU2.1 conforma el registro de usuarios en la aplicación, por ello, las historias que tratan de editar perfil o inicio de sesión dependen de ella. Por último, existen historias que no poseen dependencia alguna como las centradas en crear una interfaz y que no están estrictamente relacionadas con que exista un contenido en la aplicación.

diagrama_dependencias

Planificación de Tareas por Sprints

Para determinar la prioridad de las historias, que hemos incluido en este apartado, hemos valorado tanto la complejidad de su desarrollo como las historias de usuario que dependen de ellas. Así, una mayor complejidad en combinación con una mayor cantidad de historias dependientes será más prioritaria para nosotros.

Además, esto nos permite determinar con mayor facilidad, debido a problemas de coste o tiempo, qué historias de usuario pueden ser descartadas o pospuestas, siendo estas aquellas sin historias de usuario dependientes y mayor dificultad de desarrollo.

Los niveles de prioridad que hemos establecido y las razones de su asignación son:

  • Alta. Aquellas historias de usuario que sean esenciales para proceder con la implementación de nuestro proyecto, es decir, aquellas que en el apartado anterior no dependan de nada pero tengas multitud de historias dependientes de ellas. Aquí incluiríamos también las tareas que estén totalmente libres de relaciones que, en nuestro caso, son las relacionadas con la interfaz, ya que precisamos de esta para que el usuario pueda interactuar fácilmente con nuestro producto
  • Media. Las historias de usuario que dependan de pocas tareas, pero sean necesarias para la implementación de otras.
  • Baja. Aquellas historias que dependan de otras, pero sin ser necesarias para continuar el desarrollo. Podrían llegar a desecharse de considerar que no añaden valor a las historias de usuario de las que dependen y ver que el tiempo o los costes se podrían exceder de considerarlas.

Sprint 1 - Prioridad en funcionalidades de administración básicas

Este sprint incluye las funcionalidades más básicas y esenciales para el administrador, ya que las operaciones como agregar, editar y eliminar contenido son esenciales para que el sistema tenga datos que puedan ser visualizados por los usuarios.

Código Descripción Prioridad Complejidad
HU1.1 Como administrador, quiero agregar nuevas películas y series al catálogo. Alta 7
HU1.2 Como administrador, quiero editar la información de una película o serie. Media 5
HU1.3 Como administrador, quiero eliminar contenido del sistema. Media 3
HU1.4 Como usuario, quiero ver información detallada de una película o serie. Media 7
HU1.5 Como administrador, quiero categorizar el contenido por géneros y etiquetas. Media 5

Sprint 2 - Prioridad en gestión de usuarios y administración avanzada

Este sprint cubre funcionalidades más avanzadas para la gestión de series y actores, así como las funcionalidades básicas para los usuarios, como el registro y la gestión de sus perfiles.

Código Descripción Prioridad Complejidad
HU1.6 Como administrador, quiero gestionar temporadas y capítulos. Media 7
HU1.7 Como administrador, quiero asociar actores y directores a las películas o series. Baja 6
HU2.1 Como usuario, quiero registrarme en la plataforma. Alta 7
HU2.2 Como usuario, quiero iniciar sesión. Media 5
HU2.3 Como usuario, quiero editar mi perfil. Baja 5
HU2.4 Como usuario, quiero agregar un método de pago seguro. Baja 6
HU2.5 Como usuario, quiero cancelar mi suscripción o cambiar de plan. Baja 5

Sprint 3 - Priorización de personalización y recomendaciones

Este sprint cubre funcionalidades más orientadas a la experiencia de usuario, especialmente en personalización y recomendaciones.

Código Descripción Prioridad Complejidad
HU3.1 Como usuario, quiero recibir recomendaciones basadas en mis preferencias e historial. Baja 8
HU3.2 Como usuario, quiero marcar contenido con "me gusta". Baja 5
HU3.3 Como usuario, quiero ver una lista de los contenidos que he visto recientemente. Baja 7
HU3.4 Como usuario, quiero agregar películas o series a una lista personalizada. Media 6
HU3.5 Como usuario, quiero ver contenido nuevo o tendencias populares. Media 8

Sprint 4 - Priorización de interfaz y accesibilidad

Este último sprint cubre mejoras en la interfaz y la experiencia de usuario, enfocándose en navegabilidad, búsqueda y accesibilidad.

Código Descripción Prioridad Complejidad
HU4.1 Como usuario, quiero una interfaz clara y fácil de navegar. Alta 7
HU4.2 Como usuario, quiero una barra de búsqueda para encontrar contenido específico. Media 7
HU4.3 Como usuario, quiero una interfaz responsive para acceder desde cualquier dispositivo. Alta 6
HU4.4 Como usuario, quiero una plataforma accesible para usuarios con discapacidades. Alta 6

ESTUDIO DE VIABILIDAD

Para el estudio de la viabilidad se ha hecho uso de la métrica de horas-hombre u horas ideales. El estudio de viabilidad general incluye los requisitos agrupados dentro de cada sprint y la capacidad total del equipo de trabajo.

image

El estudio de viabilidad por rol está orientado a poder observar la capacidad de cada miembro del equipo por rol frente a las necesidades de cada historia de usuario.

image

CARGA DE TRABAJO

En las siguientes gráficas podemos observar la distribución de la carga de trabajo por cada rol, en base a la asignación de los recursos, desde el software ProjectLibre.

histograma_PO Histograma project owner

histograma_SM Histograma scrum master

histograma_DS Histograma desarrollador senior

histograma_DJ Histograma desarrollador junior

Estimación del proyecto

Llegados a este punto de la planificación, contamos con una estimación de las horas-esfuerzo requeridas para desarrollar cada una de las historias de usuario, de manera ideal. La suma total de estas horas es 44,75. Además, como ya se ha comentado previamente, las horas destinadas a gestión para cada sprint son 6 que, multiplicadas por los cuatro sprints suponen un total 24 horas. Así, las horas ideales, sin tener en cuenta posibles contratiempos o atrasos, son 68,75 horas.

Además, se han calculado las horas totales de esfuerzo ideales que tiene cada miembro del equipo. El total de estas horas para dedicarle al proyecto es de 36,2 horas por cada sprint. No obstante, se debe tener en cuenta la suma de horas totales durante la duración del proyecto, el cuál se divide en cuatro sprints. Por ello, las horas de esfuerzo ideales multiplicadas por los cuatro sprints es de 144,8.

Si realizamos la diferencia entre estas dos cifras, nos da un resultado de unas 76 horas del proyecto que no estarán dedicadas al desarrollo de las historias de usuario y nos servirán de margen para posibles cambios u obstáculos inesperados, necesidad de aprender durante el propio desarrollo el funcionamiento de nuevas herramientas (recordemos que estamos en un contexto lectivo en el que el aprendizaje va en paralelo al trabajo) y otros contratiempos comunes en proyectos de este tipo.

Gráfica de trabajo. Diagrama de Gantt.

En la siguiente imagen podemos ver el diagrama que justifica el trabajo realizado, mostrando así el diagrama de Gantt de la planificación por sprints.

image

Cálculo de Costes

coste_proyecto

El coste total del proyecto, basado en 4 sprints de desarrollo y la disponibilidad de los roles involucrados, es de 5504 €. Sin embargo, este cálculo está basado en un tiempo máximo disponible para trabajar por cada uno de los miembros, es decir, que sería el coste máximo que precisaríamos pagar de ser necesario ocupar el horario completo de nuestros recursos. Esto nos permite hacer una evaluación de la viabilidad del proyecto en un caso extremo. Por otra parte, realizando una planificación en el software "ProjectLibre", habiendo insertado todos los sprints con sus historias de usuario y las tareas de gestión específicas, y habiendo asignado a cada uno unos recursos con sus horas, muestra un cálculo de los costes de manera más concreta y, presumiblemente, el coste real del proyecto. El cálculo de costes se representa mediante una gráfica que se muestra a continuación:

Presupuesto_proyecto_idealmente