Gestion de Incidencias - Giratina-Votacion/decide GitHub Wiki
Gestión de las incidencias
En primer lugar, es importante hacer una distinción entre una incidencia interna (las incidencias relacionadas con el otro equipo) y las externas (incidencias que se gestionan con el resto de equipos del proyecto, o a sitios externos, como Wadobo).
Incidencias internas
Dentro de las incidencias internas, tenemos varios tipos de incidencia, que son los siguientes:
- Incidencia de implementación: Aquellas incidencias que tratan sobre hacer una implementación en el código, ya sea una mejora funcional o el ajuste de un servicio de despliegue...
- Incidencia de error: Son aquellas en las que se tratan errores con una funcionalidad concreta dentro del proyecto.
Creación de una incidencia interna
Para crear una incidencia interna, debemos dirigirnos a la dirección de nuestro repositorio, clicar en Issues, y hacer clic en la esquina superior derecha, donde pone "New issue". Esto nos llevará al formulario para crear la issue.
A continuación, se describen los elementos necesarios para cada tipo de issue:
Plantilla para incidencias de implementación
-
Título: El título debe ser claro sobre el tema de la implementación. Ejemplo: Cambio en las votaciones para incluir fecha de procesado de votos
-
Cuerpo: En el cuerpo de la incidencia se deben tratar varios temas:
- Dar una explicación más detallada de la implementación a realizar
- Explicar de manera breve cómo se plantea implementar el cambio (Si no es necesario entrar en código, no debe aparecer en la incidencia, pues interesa el qué, no el cómo).
Plantilla para incidencias de documentación
Las incidencias de documentación son ligeramente diferentes a las de implementación, como se puede ver a continuación:
-
Título: Debe ser el nombre de la parte de la documentación que se implementa. Ejemplo: Gestión de Incidencias
-
Cuerpo:
- Dar una explicación más detallada de la documentación.
Nota: las incidencias de documentación deben tener la etiqueta Documentation (Incluida automáticamente por la plantilla)
Plantilla para incidencias de error
-
Título: El título debe ser claro y conciso, para que se sepa exactamente qué falla. Ejemplo: Fallo durante la ejecución de los tests de Votación
-
Cuerpo: En el cuerpo de la incidencia se deben tratar varios temas:
- Dar una explicación más detallada del error obtenido. Si es posible y procede, incluir capturas de pantalla.
- Enumerar los pasos para reproducir el error, de forma que cualquier desarrollador pueda replicarlo y tratar de buscar la solución.
- Dar información sobre el sistema que se está usando (Versión del SO, versión del navegador...)
- Si procede y es posible, incluir la traza del error, o el log del servidor.
Nota: las incidencias de documentación deben tener la etiqueta bug (Incluida automáticamente por la plantilla)
Otros atributos de las incidencias
A la hora de crear una incidencia, es muy importante tener en cuenta los siguientes puntos:
Asignees
En este apartado deben aparecer todos los miembros del equipo de desarrollo encargados de una tarea, o aquellos encargados de arreglar un error, más la persona que sufre el error.
Labels
Las incidencias pueden tener diferentes etiquetas:
-
Atendiendo al tipo de incidencia:
enhancement: Implica un incremento funcional en el sistema.Continuous Integration: Se refiere a un cambio relacionado con la integración contínua.Deployment: Incidencia relacionada con el despliegue.Documentation: Incidencia dedicada a elaborar la documentación del proyecto.bug: Incidencia dedicada a informar de un error y buscar una solución.duplicate: Se usa para las incidencias que están duplicadas, normalmente, incidencias de error.wontfix: Para las incidencias que, por algún motivo, se han abandonado y no van a solucionarse o implementarse.
-
Atendiendo a la prioridad de la incidencia:
Critical priority: Se debe realizar la incidencia cuanto antes.High priority: La incidencia debe ser realizada pronto, por delante de las que tienen menor prioridad.Medium priority: La incidencia puede ser realizada cuando no haya tareas de prioridad crítica o alta por delante.Low priority: La incidencia no corre prisa.
Project
El proyecto al que pertenece la incidencia. Para nuestras tareas, pertenecerá al proyecto Giratina-votación. En cuanto a los estados en los que puede encontrarse una incidencia dentro de nuestro proyecto, es conveniente ver una captura de pantalla de nuestro tablón de incidencias del proyecto:

En esta captura, encontramos los siguientes elementos:
- To Do: En esta columna se encuentran las tareas que no han sido comenzadas por el equipo de desarrollo todavía. Cuando se crea una incidencia y se añade al proyecto, automáticamente se introduce en este grupo.
- In progress: Aquí podemos ver las tareas que están desarrollando en este momento los integrantes del grupo actualmente.
- Done: En este grupo se encuentran todas las tareas que el equipo de desarrollo ha terminado correctamente, además de los errores que se han solucionado satisfactoriamente.
- Bugs: A este grupo pertenecen todos los errores del sistema, es decir, las incidencias que tienen la etiqueta
bug. - Dropped: Columna reservada a aquellas tareas que, por algún motivo, ya no van a ser realizadas.
Además, el proyecto cuenta con un sistema de automatización de las incidencias, de forma que cuando se crea una incidencia nueva automáticamente se lleva a la columna "To Do", si abrimos una incidencia que ya estaba cerrada se moverá a "In progress", y si cerramos una incidencia se moverá a "Done".
Milestone
En el proyecto Decide, tenemos los siguientes milestones:
"M0: Inscripción de los grupos"
- "V 26 Oct (G1 y G2)"
"M1: Sistema funcionando con incremento"
- "M 27 Nov (G1 y G2)"
"M2: Taller de automatización"
- "Semana del 17 de Diciembre (G1 Y G2 en horarios de teoría y laboratorios)"
"M3: Entrega y defensa de poyectos"
- "Semana del 14 de Enero (G1 Y G2 en horarios de teoría laboratorios)"
"M4: Mejoras"
- "31 Enero (G1 y G2) en horario oficial"
En nuestro caso, como este repositorio fue creado de nuevo tras el Milestone 3 para añadir todas las funcionalidades necesarias para superar la asignatura, todas las tareas pertenecen al Milestone 4.
Nota: Puede obtener más información sobre los milestones, fechas y datos del proyecto desde la wiki de la asignatura
Incidencias externas
Un usuario ajeno al grupo de trabajo o incluso ajeno a la asignatura puede utilizar las plantillas que se le ofrecen para abrir una incidencia en la que:
- Se explique un error encontrado en el proyecto
- Se pida la inclusión de una nueva característica
Procedemos ahora a definir las plantillas para cada uno de los casos:
Plantilla para incidencias externas de error
Podemos usar la misma plantilla ya definida para las Incidencias internas.
Plantilla para incidencias externas de implementación de característica
-
Título: El título debe ser claro sobre el tema de la implementación que se quiere pedir. Ejemplo: Incluir un menú para visualizar el perfil de un usuario
-
Cuerpo: En el cuerpo de la incidencia se deben tratar varios temas:
- Dar una explicación más detallada cómo sería el cambio que se pide
- Explicar de manera breve cómo se podría implementar el cambio, atendiendo a temas de acceso a la nueva característica, localización dentro de la aplicación...
- Definir por qué se piensa que el cambio es importante y puede mejorar la aplicación.
- (OPCIONAL) Si el usuario que pide el cambio quiere contar cómo se podría implementar el cambio en el código, puede hacerlo en este apartado.
Otros atributos de las incidencias externas
Asignees
En este apartado deben aparecer todos los miembros del equipo de desarrollo, además de la persona que crea la incidencia. Esto es, porque en caso de que decida realizarse, el usuario que la crea no tiene forma de saber qué desarrollador se encargará de resolver su incidencia. Luego es parte del equipo de desarrollo editar esta sección para dejar finalmente sólo a los desarrolladores implicados.
Labels
Las incidencias externas pueden tener diferentes etiquetas:
-
Atendiendo al tipo de incidencia:
enhancement petition: Implica una petición para realizar un incremento funcional en el sistema.bug: Incidencia dedicada a informar de un error y buscar una solución (Misma etiqueta que para la incidencia interna).duplicate: Se usa para las incidencias que están duplicadas, normalmente, incidencias de error (Misma etiqueta que para la incidencia interna).External: Indica que la incidencia viene de parte de un usuario ajeno al equipo de desarrollo.
-
Atendiendo a la prioridad de la incidencia: Las etiquetas de prioridad son las mismas que para las incidencias internas
Project
Esta sección es idéntica a la sección Project de las incidencias internas.
Milestone
Esta sección es idéntica a la sección Milestone de las incidencias internas.
Ejemplos de incidencias en el sistema
- Ejemplo de Incidencia de implementación: Cambios para favorecer votaciones binarias #4
- Ejemplo de Incidencia de error: Error al ejecutar los tests de Selenium en local #38
- Ejemplo de Incidencia de documentación: Gestión de la Construcción e Integración Continua #2