Almacenamiento

De Wiki de EGC
Revisión del 02:39 29 ene 2017 de Chrgantri (discusión | contribuciones) (Gestión de incidencias)
Saltar a: navegación, buscar

Miembros

Definición

En este proyecto desarrollaremos el subsistema "Almacenamiento de votos" de AgoraUs. Como su nombre indica, Almacenamiento será el encargado de almacenar todos los datos relacionados con los votos del sistema. Implementaremos una API Rest para la conexión con el resto de subsitemas.

Documentación de gestión

Gestión de tareas

La asignación y seguimiento de las tareas se llevará a cabo mediante Trello. Una aplicación web gratuita destinada al desarrollo ágil y dinámico.Para más información visite:

Gestión de la documentación

La documentación se gestionará dentro del trablero de Trello dedicado al proyecto ya que nos ofrece la posibilidad de adjuntar archivos a las tareas.

Gestión de la comunicación

Hemos considerado varios canales de comunicación, que hemos ido utilizando dependiendo de la urgencia o necesidad de la misma:

  • Whatsapp: Mediante un grupo con todos los miembros del equipo, hemos utilizado esta aplicación para una comunicación más rápida y directa, exponiendo cualquier consideración oportuna sin necesidad de esperar a reuniones presenciales.
  • Telegram: Esta herramienta nos ha sido de gran ayuda a la hora de organización conjunta entre los distintos subsistemas de AgoraUS.
  • Reuniones presenciales: Mediante reuniones presenciales, hemos tratado conjuntamente temas de gran importancia en el desarrollo del proyecto, los cuales hubiesen sido más complejos de tratar con los medios anteriores.
  • Skype:Frente a dificultades horarias o de localización puntuales, como alternativa a las reuniones presenciales, consideramos usar skype, para tratar temas conjuntamente.

Código

Herramienta

Para la gestión del código usaremos Git. Alojaremos el código del proyecto en el siguiente repositorio de Github: https://github.com/EGC2016CAJA/G24

Gestión de código

Para gestionar el código de nuestro proyecto, nos basamos en un esquema con tres ramas: master, dev y stage.

En la rama master alojaremos las versiones estables del proyecto, testeadas y que no presenten fallos.

Por otro lado, nos basaremos principalmente en la rama dev para ir desarrollando el proyecto. Una vez que consideremos que hemos añadido una nueva funcionalidad, o modificado algún aspecto existente en nuestra última versión estable, y que este cambio está ya finalizado, se realizan los tests convenientes y, tras esto, haremos merge hacia la rama stage, para una revisión previa al volcado en master.

Por tanto, cada nueva versión desarrollada en la rama dev, antes de verse reflejada en master, pasará por la rama intermedia stage, donde se realizará un proceso de QA para asegurar su correcto funcionamiento. Si este proceso es positivo, se realizará la fusión a la rama master, por el contrario, se llevará de nuevo a dev para su corrección.


(Versión anterior) Vamos a seguir un esquema con tres branches o ramas:

  • Master: Es la rama en la que se alojará el proyecto testeado y sin fallos.
  • Stage:Es la rama en la que se alojarán las versiones del proyecto en estado de testeo previo para subirlas a master.
  • Dev:Es la rama en la que trabajaremos y solucionaremos los errores.

El proceso de gestión es el siguiente:

  • Se desarrolla en dev.
  • Se testea en stage.
  • Se despliega en master.

Nota: El proceso de testeo puede verse sujeto a modificaciones para ahorrar tiempo ya que el testeo en stage se produce cuando ya se cree que una versión esta lista para ser desplegada. El testeo inmediato se lleva a cabo en el propio entorno de desarrollo en dev.


Incidencias

Herramienta

Usaremos la extensión de Chrome ZenHub para la gestión de incidencias.Para más información del funcionamiento de ZenHub:

Gestión de incidencias

El uso de la herramienta ZenHub nos permite poder trabajar sobre un conjunto de paneles de trabajo de una forma dinámina, de tal forma que podremos ir cambiando las incidencias de unos paneles a otros según la situación en la que se encuentren, y así poder trabajar de una forma más cómoda y eficiente.

Para gestionar las incidencias, trabajamos sobre 6 paneles de trabajo:

  • New Issues: En este panel se encontrarán todas las incidencias inicialmente. Aquí se crearán y se asignarán a un miembro del equipo.
  • Open: Una vez se ha asignado una incidencia, y se ha creado correctamente, se cambia a Open.
  • In progress: Aquí podremos encontrar todas las incidencias que se encuentren en fase de desarrollo, y sobre las cuales se esté trabajando.
  • Pending QA: Como dijimos anteriormente, una vez se ha desarrollado parte del proyecto, éste se somete a un proceso de QA previo a la fusión con la rama master. Todas las incidencias que se encuentren en este estado la encontraremos en este panel.
  • Resolved y Closed: Por último encontramos estos dos, en los cuales se encontrarán las incidencias ya solucionadas o que han conseguido pasar con éxito el proceso de QA, y las incidencias ya finalizadas y cerradas respectivamente.

(Incluir captura de boards??)


(Versión anterior) Las incidencias de gestionarán con los siguientes pasos:

  • Se descubre un problema en el proyecto.
  • Se asigna por ZenHub la incidencia a un mienbro del grupo, en teoría se la asignará el que haya detectado la incidencia.
  • Se pasará el proyecto de la branch stage a la branch dev.
  • Se corrige el fallo y se cierra la incidencia.
  • Se vuelve a subir el proyecto a la branch stage.


Nota: Nótese que la branch master no participa aquí ya que cuando se sube algo a master significa que está perfectamente depurado.

Documentación técnica

  • Enlace de la página del sistema : Aún el sistema no está desplegado en web. Visite en un tiempo esta página.

Subsistemas relacionados

  • Recuento: proporcionamos a recuento los datos que necesitarán para hacer sus estadísticas y su recuento de votos.
  • Cabina de votación: nos da los datos de los votos emitidos que nosotros almacenaremos.
  • Autentificación: Este módulo nos permite darle seguridad a la plataforma de voto.

Actas de reunión

Las actas de reunión se introducirán más adelante. Disculpen las molestias.