Diferencia entre revisiones de «Controles de cambio ( CC )»

De Telstock Wiki
Saltar a: navegación, buscar
(7. Validación de solicitud (Pruebas QA):)
 
(No se muestran 119 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
Este tipo de solicitudes son aquellas que se presentan bajo las siguientes circunstancias:
+
Llamamos '''Control de Cambio''' siglas '''CC''', al proceso mediante el cuál se gestionan, monitorean y controlan las modificaciones en las funcionalidades de un producto.
  
* '''Mejoras''' sobre algún modulo de un aplicativo existente.
+
'''Todo aquello que implique una variación en el flujo, y que requiera invertir tiempo de desarrollo, debe ser considerado un control de cambio.'''  
* '''Corrección de errores''' que se presenten en un aplicativo existente.
 
  
Estos casos se podrían presentar en '''ambientes productivos''' o en '''proyectos que estén cerrados''' y pueden ser registrados por cualquier persona '''( STAKEHOLDERS )''' que tenga algún interés en un determinado proyecto.
+
Se pueden presentar bajo las siguientes circunstancias:
 +
 
 +
* '''Mejoras''' son todos aquellas modificaciones que generan impacto en los módulos o funcionalidades existentes, y que van enfocados en la optimización o renovación de estos, debido a cambios de lógica de negocio, cambio de alcance por parte del cliente, adaptaciones etc. '''''Usualmente se hacen a solicitud del cliente''''', sin embargo esto no es obligatorio. Existirán casos en los que el equipo de desarrollo, o cualquier otro participante del proyecto, genere la solicitud.
 +
 
 +
* '''Corrección de errores''' son todos aquellos cambios que se deban realizar a fin de eliminar un bug o error en alguna funcionalidad del aplicativo, luego de cerrar el proyecto.
 +
 
 +
 
 +
Los Controles de Cambio irán relacionados a las funcionalidades de aplicativos que están en '''ambiente productivo'''. En el caso de proyectos en desarrollo, sólo se manejarán para aquellos que se estén gestionando bajo metodologías lineales, esto quiere decir que no aplica para aquellos proyectos llevados por Sprint´s, Ciclos o Metodologías Evolutivas.
 +
 
 +
    {{notice | '''NOTA:''' Las incidencias generadas luego de un despliegue a ambiente productivo (proyecto en curso), entran como Bug o Incidencia, y serán gestionadas a través de JIRA. No será necesario registrar un ticket en Mantis para esto. }}
 +
 
 +
Las solicitudes de cambio pueden ser registrados por cualquier persona '''( STAKEHOLDERS )''' que tenga algún interés en el proyecto, siempre y cuándo tenga las bases que sustenten el cambio y la justificación del mismo.
  
 
#  
 
#  
 
== Software estándar a utilizar ==
 
== Software estándar a utilizar ==
  El levantamiento de un control de cambio se realiza a través del [https://mantisbt.tmanager.com.mx/mantisbt/login_page.php/ Mantis].
+
  El levantamiento de un '''CC''' se realiza a través del aplicativo [https://mantisbt.tmanager.com.mx/mantisbt/login_page.php/ Mantis].
 
 
== Campos estándar de CC ==
 
{{warning | Es necesario que el '''STAKEHOLDER''' complete todos los campos normales y obligatorios que se piden.}}
 
 
   
 
   
=== Categoría ===
+
== Flujo de proceso ==
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
+
En esta sección se describirá el flujo de proceso para un '''CC''':
  
[[Archivo: CATEGORIA.JPG | Campo: Categoría de una solicitud en Mantis]]
+
=== 1. Alta de la solicitud (Ticket): ===
 +
Este flujo marca el inicio de un Control de Cambio, ya que representa su registro formal.  
 +
Para dar de alta una solicitud, es necesario que se tengan todos los datos que se deberán considerar para poder atenderlo.
  
=== Reproducibilidad ===
+
*Para los casos de '''CC por Mejoras''', será necesario detallar las reglas de negocio, flujos, vistas y cualquier información adicional que complemente el requerimiento. Esta información podrá ir contenida de forma precisa en una '''Historia de Usuario''', la cuál deberá adjuntarse al ticket de Mantis.  
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
  
[[Archivo: REPRODUCIBILIDAD.jpg| Campo: Reproducibilidad de una solicitud en Mantis]]
+
*Para los casos de '''CC por Corrección de Errores''', será necesario especificar los detalles del error, pasos para reproducir y adjuntar las evidencias, a fin de facilitar la replica del escenario.
 
=== Severidad ===
 
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
  
[[Archivo: SEVERIDAD.jpg| Campo: Severidad de una solicitud en Mantis]]
+
Para obtener más detalles sobre el flujo de registro de una solicitud de '''CC''', por favor verificar el apartado de  *[[Campos estándar de CC]].
 
=== Prioridad ===
 
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
 
[[Archivo: PRIORIDAD.jpg| Campo: Prioridad de una solicitud en Mantis]]
 
 
 
=== Seleccionar perfil ===
 
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
 
 
[[Archivo: PERFIL_1.jpg| Campo: Perfil de una solicitud en Mantis]]
 
  [[Archivo: PERFIL_2.jpg| Campo: Perfil otros campos de una solicitud en Mantis]]
 
 
=== Versión del producto ===
 
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
 
[[Archivo: VERSION_PRODUCTO.jpg| Campo: Versión del producto de una solicitud en Mantis]]
 
 
=== Asignar a ===
 
Si la solicitud de '''CC''' se va asignar algún recurso, seleccione el identificador del '''Desarrollador'''.
 
 
[[Archivo: ASIGNAR_A.jpg| Campo: Asignar a de una solicitud en Mantis]]
 
 
 
=== Resumen ===
 
Proporcione un resumen del requerimiento para la solicitud de '''CC'''.
 
 
[[Archivo: RESUMEN.JPG | Campo: Resumen a de una solicitud en Mantis]]
 
  
=== Descripción ===
 
{{warning | Es necesario que se especifique de forma muy detallada la descripción del control de cambio que se esta solicitando.
 
}}
 
 
[[Archivo: DESCRIPCION.jpg | Campo: Descripción de una solicitud en Mantis]]
 
 
=== Pasos para reproducir/a ejecutar ===
 
{{warning | En el caso se que el tipo de solicitud sea '''Error/Bug''' se deberá documentar los pasos a reproducir enumerados y añadir las evidencias a la solicitud
 
}}
 
  
[[Archivo: PASOS_REPRODUCIR.jpg|200 px] | Campo: Pasos para reproducir/a ejecutar de una solicitud en Mantis]]
+
=== 2. Revisión de la solicitud (Ticket): ===
 
=== Información adicional ===
 
Utilice este campo para proporcionar mas información sobre el '''CC'''.
 
 
[[Archivo: INFORMACION_ADICIONAL.jpg|200 px] | Campo: Información adicional de una solicitud en Mantis]]
 
 
=== Adjuntar Etiquetas ===
 
El llenado de este campo facilita la gestión, seguimiento y generación de reportes de los Tickets.
 
  
{{warning |Es importante mencionar que '''NO''' se deben crear etiquetas nuevas, si no trabajar con las etiquetas existentes}}
+
Una vez dada de alta la solicitud:
 
{{warning |Es importante que le indiquemos las siguientes etiquetas en el campo de la solicitud: '''Adjuntar Etiquetas'''
 
            '''* Control de Cambio.'''
 
            '''* Error/Bug o Mejora.'''
 
            '''* Empresa a la que pertenece la solicitud.'''
 
}}
 
 
[[Archivo:ETIQUETAS.jpg| Campo: Adjuntar Etiquetas de una solicitud en Mantis]]
 
 
{{warning |Es importante mencionar que '''SOLO''' se debe seleccionar un tipo de control de cambio que determine si es un '''Error/Bug''' o '''Mejora''' para un cliente.
 
En el caso de que el tipo de control de cambio sea '''Error/Bug''' y '''Mejora''' para el mismo cliente, se tendrán que generar solicitudes por separado.
 
}}
 
 
=== Ambiente ===
 
Seleccione del listado la opción que mas se adecue a su solicitud de '''CC'''.
 
 
[[Archivo: AMBIENTE.jpg|200 px] | Campo: Ambiente de una solicitud en Mantis]]
 
 
=== Subir archivos ===
 
En el caso de que el tipo de solicitud sea '''Mejora''', se deberán anexar a este campo los archivos con las historias de usuario a la solicitud.
 
 
En caso contrario a lo descrito anteriormente, se deberán anexar a este campo los archivos con la evidencia de la incidencia presentada a la solicitud.
 
 
[[Archivo: EVIDENCIA.jpg|200 px] | Campo: Subir archivos de una solicitud en Mantis]]
 
 
== Flujo de proceso ==
 
En esta sección se describe el flujo de proceso por el cual deberá pasar el control de cambio registrado, que es el que se describe a continuación:
 
  
=== Revisión de la solicitud (Ticket): ===
 
 
     El '''Gestor de proyectos''' realiza una revisión de toda la información contenida en el Ticket.
 
     El '''Gestor de proyectos''' realiza una revisión de toda la información contenida en el Ticket.
 
      
 
      
     Si considera que la información proporcionada es insuficiente:
+
     Si considera que la información proporcionada es insuficiente:  
     a. Cambiara el estado del Ticket a '''SE NECESITAN MAS DATOS''' en el Mantis.
+
     b. Añadirá una nota etiquetando al '''STAKEHOLDER''' que registro el Ticket, para indicarle el detalle de la información que hace falta.
+
     a. Cambiará el estado del Ticket a '''SE NECESITAN MAS DATOS''' en el Mantis.
 +
     b. Añadirá una nota etiquetando al '''STAKEHOLDER''' que registró el Ticket, para indicarle el detalle de la información que hace falta.
 
      
 
      
 
     En caso contrario a lo descrito anteriormente:
 
     En caso contrario a lo descrito anteriormente:
     a. Cambiara el estado del Ticket a '''ACEPTADO''' o asignara el Ticket a un '''Desarrollador''' en el Mantis.
+
 
     {{warning | Si el estado del Ticket es '''ACEPTADO''', solo quiere decir que el '''Gestor de proyectos''' ya lo recibió y valido la información contenida en el Ticket.
+
     a. Cambiará el estado del Ticket a '''ACEPTADO''' o asignará el Ticket a un '''Desarrollador''' en el Mantis.
                No quiere decir que el Ticket sigue siendo atendido.}}
+
      {{warning|'''IMPORTANTE:''' La atención a las solicitudes dependerá de su prioridad,  y de la disponibilidad de desarrolladores.}}
    {{warning | Es posible que el '''Gestor de proyectos''' pueda contactar al '''STAKEHOLDER''' para solicitar información adicional a la que se tiene en el Ticket.}}
+
   
 +
 
 +
     {{notice | '''NOTA:''' Si el estado del Ticket es '''ACEPTADO''', solo quiere decir que el '''Gestor de proyectos''' ya lo recibió y validó la información contenida en el. '''No quiere decir que el Ticket ya esta siendo atendido'''. Es posible que el '''Gestor de proyectos''' pueda contactar al '''STAKEHOLDER''' para solicitar información adicional a la que se tiene en el Ticket}}
 +
 
 
      
 
      
=== Asignación de la solicitud (Ticket): ===
+
=== 3. Asignación de la solicitud (Ticket): ===
 
     La asignación de una solicitud de '''CC''' puede ser realizada por:
 
     La asignación de una solicitud de '''CC''' puede ser realizada por:
 
      
 
      
 
     '''Desarrollador:'''
 
     '''Desarrollador:'''
      Lo que se busca es que el '''Desarrollador''' tenga la iniciativa propia para atender la solicitud en el Mantis bajo las siguientes condiciones:
+
      Se define '''( Auto asignación )'''. Lo que se busca con esto es fomentar la iniciativa del '''Desarrollador''', su capacidad de '''Autogestión''' y de '''Autorganizacion'''. Es importante que el '''Desarrollador''' antes de asignarse una solicitud (Ticket) considere los siguientes aspectos:
   
+
 
    a. No se tiene carga de trabajo por el termino de un '''Sprint''' para un proyecto.
+
    a. No tener actividades mapeadas en un '''Proyecto Activo''' o '''Asignación''' de mayor relevancia o prioridad.
     b. Conocimiento del aplicativo bajo el cual fue registrada la solicitud.
+
     b. Que se tenga conocimiento del aplicativo bajo el cual fue registrada la solicitud, en caso de que sean solicitudes de '''CC''' de prioridad '''Alta'''. Esto para evitar que exista desviación de tiempo por desconocimiento de la plataforma/tecnología/reglas de negocio.  
    c. Aprendizaje de nuevas tecnologías relacionadas con la solicitud registrada.
+
     
   
+
      Si son solicitudes de '''CC''' de prioridad '''Normal''' o '''Baja''', el '''Desarrollador''' puede asignarse la solicitud (Ticket) aunque no tenga conocimiento del proyecto, para este caso sera necesario que valide con  '''PM''' o '''Coordinador''', si puede tomar esta actividad.
      '''Asignación directa por medio del Gestor de proyectos''':
+
       
     a. Se realiza la asignación de la solicitud a un determinado '''Desarrollador'''.
+
      '''Gestor de proyectos/Coordinador de proyectos''':
   
+
     a. Esta asignación se hace directamente por cualquiera de los roles antes mencionados y se realiza de acuerdo a la prioridad que tenga el Ticket.
=== Análisis de la solicitud (Ticket): ===
+
 
      Una vez que la solicitud fue '''Auto Asignada''' o recibió '''Asignación directa por el Gestor de proyectos''' al '''Desarrollador''' en el Mantis.
+
=== 4. Análisis de la solicitud (Ticket): ===
 +
      Una vez que la solicitud fue '''Auto Asignada''' o recibió '''Asignación directa por el Gestor o el Coordinador de proyectos'''
 +
    el '''Desarrollador''' procederá a realizar lo que se describe a continuación: 
 +
 
 +
    a. Documentar el campo '''Descripción técnica''' en el Mantis, realizando un previo análisis de los artefactos que van a sufrir cambios.
 +
        Es necesario que liste los artefactos como pueden ser:
 +
        '''* Clases'''
 +
        '''* Métodos'''
 +
        '''* Base de datos:'''
 +
            '''* Procedimientos'''
 +
            '''* Tablas'''
 +
            '''* Vistas'''
 +
            '''* Funciones'''
 +
        Que van a ser modificados a nivel de código fuente. 
 +
     
 +
    b. Recurrir a '''PM''', cuando implique cambios a otras áreas de desarrollo (Web Service, Back Office, etc). A fin de gestionar los demás involucrados, para que apoye en el área que corresponda.
 +
 
 +
{{notice | '''NOTA:''' Este último punto aplica para aquellos casos en que el responsable desconozca las otras áreas de desarrollo. Los '''desarrolladores FULL STACK''', podrán hacer el análisis integral de la solución}}
 +
 
 +
    c. Documentar en el campo '''Tiempo estimado''' las tareas y tiempos que se realizarán para la solución del '''CC''', tomando en cuenta:
 +
       * '''Tiempo de Desarrollo de áreas involucradas.'''
 +
        * '''Pruebas Unitarias.'''
 +
        * '''Pruebas de Integración.''' (Para los casos en que aplique)     
 +
    d. El área de '''QA''' debe documentar en el campo '''Tiempo estimado QA''', los tiempos de pruebas a realizar de acuerdo a la información que se tenga en la solicitud de '''CC'''. Si este campo no esta documentado, el '''Gestor de proyectos''' solicitará al área de QA que documente sus tiempos estimados de pruebas de QA.
 +
       
 +
    {{notice | Las pruebas unitarias deben contemplar el tiempo de diseño y ejecución en el '''TestLink'''.}}
 +
    {{notice | Es importante mencionar que si existen otras solicitudes de controles de cambio, solicitudes especiales, solicitudes a BD o infraestructura etc,  que tengan que ver con la solicitud de cambio actual, se relacionen mediante el apartado '''Relaciones''' de Mantis. Este punto deberá ser considerado por el '''SOLICITANTE''', el equipo '''DEV''', '''QA''', y '''PM'''.}}
 +
 
 +
=== 5. Aprobación de la solicitud (Ticket): === 
 +
      Una solicitud de control de cambio es '''APROBADA''' cuando aparece en el campo '''Aprobado''' la palabra '''SI'''
 
      
 
      
     El '''Desarrollador''' procederá a realizar lo que se describe a continuación:
+
     Una vez que se tiene la información en los campos '''Descripción técnica''' y '''Tiempo estimado''', el '''Gestor de proyectos''' solicita la aprobación del control de cambio a la '''Directiva''' para su resolución.
    a. Documentar el campo '''Descripción técnica''' en el Mantis, previo análisis del control de cambio solicitado el cual seria identificar los
 
        artefactos que van a sufrir cambios tanto a nivel de código como de base de datos.
 
    b. Recurrir al '''Gestor de proyectos''' cuando se detecte, que el requerimiento solicitado implica cambios a otros artefactos que no sean
 
        los que el '''Desarrollador''' vaya a cambiar, para asignar a otro recurso que atenderá dichos cambios a los artefactos. El recurso asignado
 
       deberá incluir en el mismo campo '''Descripción técnica''' en el Mantis, previo análisis de los artefactos que van a sufrir cambios.
 
    c. Documentar en el campo '''Tiempo estimado''' los tiempos que se van a utilizar para la solución del control de cambio, incluyendo en estos
 
        tiempos las '''Pruebas Unitarias''' y '''Pruebas de Integración'''.
 
    d. El '''Gestor de proyectos''' solicitara al área de QA que documente el tiempo estimado de pruebas de QA.
 
    {{warning | Es importante mencionar que si el requerimiento implica cambios a otros artefactos que no sean los que el '''Desarrollador''' vaya a cambiar, la responsabilidad del Ticket es del '''Desarrollador asignado'''.}}
 
    {{warning | Es importante mencionar que si existen otras solicitudes de controles de cambio que tengan que ver con la solicitud de cambio actual, se relacionen mediante el apartado '''Relaciones''' de Mantis.}}
 
 
      
 
      
=== Aprobación de la solicitud (Ticket): ===   
+
     La '''Directiva''' revisa la solicitud del control de cambio en el Mantis para aprobarlo o no.
     Una vez que se tiene la información en los campos '''Descripción técnica''' y '''Tiempo estimado''', el '''Gestor de proyectos''' solicita la
 
    aprobación del control de cambio a la '''Directiva''' para su resolución.
 
 
      
 
      
     La '''Directiva''' revisa la solicitud del control de cambio en el Mantis para aprobar o no el control de cambio.
+
     [[Archivo: APROBACION.JPG | Campo: Aprobación de una solicitud en Mantis]]
    {{warning | Una solicitud de control de cambio es '''APROBADA''' cuando aparece en el campo '''Aprobado''' la palabra '''SI'''.}}   
 
 
   
 
   
=== Resolución de la solicitud (Ticket): ===
+
=== 6. Resolución de la solicitud (Ticket): ===  
     Una vez que la solicitud del control de cambio a sido '''APROBADA''', el '''Desarrollador''' procederá a realizar lo que se describe a continuación:
+
     Una vez que la solicitud del control de cambio ha sido '''APROBADA''', el '''Desarrollador''' procederá a realizar lo que se describe a continuación:
      a. Realizar los cambios a los artefactos.
+
      a. Llevar a cabo la implementación de la solución del '''CC''', de acuerdo a la información registrada en el campo '''Descripción'''.
     b. Una vez que haya terminado los cambios a los artefactos, realizara el proceso de las '''Pruebas Unitarias''' y '''Pruebas de Integración'''
+
    b. Registrar diariamente el tiempo invertido en la realización de cada tarea, a través de la tarea en Jira creada para tal fin. EN caso de no existir, solicitar a '''PM'''. '''Las actividades realizadas no pueden quedar sin registro de tiempo en JIRA.'''
 +
     b. Una vez que haya realizado el desarrollo, realizará el proceso de las '''Pruebas Unitarias''' y '''Pruebas de Integración'''
 
         a través del [https://mantisbt.tmanager.com.mx/testlink/login.php/ TestLink].
 
         a través del [https://mantisbt.tmanager.com.mx/testlink/login.php/ TestLink].
      c. Una vez que el proceso de las '''Pruebas Unitarias''' y '''Pruebas de Integración''' sea correcto, el '''Desarrollador''', procederá al despliegue
+
      c. Generará el reporte de '''Pruebas Unitarias''' en formato de archivo '''PDF''' y lo incluirá en el repositorio de
        de los cambios a los artefactos al ambiente de QA.
+
        [http://192.168.9.60:8080/scm/svn/Telstock-Documentation/ Telstock] en la ubicación que corresponda al proyecto.
     e. El '''Desarrollador''' cambiara el estatus de la solicitud de control de cambio a '''RESUELTO''' en el Mantis.
+
    d. Una vez que el proceso de las '''Pruebas Unitarias''' y '''Pruebas de Integración''' sea correcto, el '''Desarrollador''' procederá al despliegue de los cambios a los artefactos al ambiente de QA.
 +
     e. Una vez que el ambiente de QA este totalmente listo, el '''Desarrollador''' cambiara el estatus de la solicitud de '''CC''' a '''RESUELTA''' en el Mantis:
 +
        [[Archivo: ESTADO_RESUELTO_A.JPG | Campo: Estado de la solicitud a RESUELTA de una solicitud en Mantis]]
 
      f. El '''Desarrollador''' añadirá una nota al Ticket, indicando al '''QA Manager''' la siguiente información:
 
      f. El '''Desarrollador''' añadirá una nota al Ticket, indicando al '''QA Manager''' la siguiente información:
 
      
 
      
 
         Atención a '''QA Manager'''
 
         Atención a '''QA Manager'''
 
          
 
          
        Por favor apoyarnos con las pruebas del presente control de cambio.
+
      " Por favor apoyarnos con las pruebas del presente control de cambio.
         Las rutas de '''Pruebas Unitarias''' se encuentran en el repositorio en esta ruta (Ruta repositorio)
+
         Las '''Pruebas Unitarias''' se encuentran en el repositorio en la ruta (Ruta repositorio)
         Y las rutas del TestLink se encuentran en esta ruta (Ruta TestLink).
+
         Y en el TestLink en la ruta (Ruta TestLink).
 
         La información para las pruebas es la siguiente:
 
         La información para las pruebas es la siguiente:
         * Url del aplicativo
+
         * Url del aplicativo:
         * Usuarios de prueba
+
         * Usuarios de prueba:
         * Contraseñas
+
         * Contraseñas:
       
+
       * Versión del APK (Si aplica) que se esta liberando:"
=== Pruebas QA: ===
+
 
 +
=== 7. Validación de solicitud (Pruebas QA): ===
 
     Una vez que el estatus de la solicitud de control de cambio sea '''RESUELTO''', '''QA''' procederá a realizar lo que se describe a continuación:
 
     Una vez que el estatus de la solicitud de control de cambio sea '''RESUELTO''', '''QA''' procederá a realizar lo que se describe a continuación:
      a. Validar que tiene la información completa de las '''Pruebas Unitarias''' y que pueda acceder al ambiente, con toda la información para las
+
      a. Validar que tiene la información completa de las '''Pruebas Unitarias''', y que pueda acceder al ambiente con toda la información suministrada por el desarrollador.
        pruebas.
+
     b. Ejecutar los escenarios de prueba considerando el tiempo estimado que se colocó en la solicitud.
     b. Si al final del proceso de las pruebas no existieran incidencias, '''QA''' va a colocar en la solicitud (Ticket) con el Vo.Bo con el
+
    c. Si al ejecutar los escenarios de prueba existen incidencias relacionadas al control de cambio entonces:
         siguiente formato:
+
        1.  '''QA''' registrará en JIRA (dentro de un componente con el Id del Ticket Mantis) las incidencias encontradas y las asignará al desarrollador responsable.
 +
         2.  El '''Desarrollador''' corrige las incidencias de acuerdo a lo descrito en [[Estándar de Proceso de Uso Aplicativo JIRA]]
 +
       3.  '''QA''' valida la corrección de las incidencias y cierra aquellas que estén resueltas y reasigna las que aun no estén. 
 
          
 
          
        '''Se valido el presente control de cambio con todos los escenarios exitosos, se da el Vo.Bo de QA'''
+
    b. Si al final de la ejecución de los escenarios de prueba no existe ninguna incidencia, '''QA''' coloca como nota en la solicitud (Ticket) el Vo.Bo en el siguiente formato:
 
          
 
          
 +
       '''Se validó el presente control de cambio con todos los escenarios exitosos, se da el Vo.Bo de QA'''
 +
       Y deberá agregar la siguiente información:
 +
        * Ruta de repositorio en donde está la matriz de pruebas.
 +
        * Ruta de repositorio en donde está el reporte de pruebas.
 
     c. El '''Gestor de Proyectos''' procede a cerrar la solicitud (Ticket).
 
     c. El '''Gestor de Proyectos''' procede a cerrar la solicitud (Ticket).
      
+
     {{warning | '''QA''' debe establecer los limites y duración de pruebas, dentro del tiempo inicial que se estimó.}}   
   
+
      {{warning | La gestión de las incidencias de QA por parte del '''Desarrollador'''debe ser similar a una incidencia de proyecto normal.}}
    d. En caso contrario a lo descrito anteriormente, QA registrara solicitudes (Tickets) en Mantis con las '''Etiquetas''':
 
        '''* Incidencias QA.'''
 
        '''* Empresa a la que pertenece la solicitud.'''
 
    e. '''QA''' relacionara en el control de cambio inicial las incidencias, las solicitudes (Tickets) que genero por incidencia.
 
      f. '''QA''' cerrara los tickets por incidencias una vez que estén resueltas.
 
    g. El '''Gestor de Proyectos''' procede a cerrar la solicitud (Ticket).   
 
       
 
    {{warning | '''QA''' debe establecer los limites de sus pruebas, dentro del tiempo inicial que se estimo.}}
 

Revisión actual del 00:12 1 jul 2020

Llamamos Control de Cambio siglas CC, al proceso mediante el cuál se gestionan, monitorean y controlan las modificaciones en las funcionalidades de un producto.

Todo aquello que implique una variación en el flujo, y que requiera invertir tiempo de desarrollo, debe ser considerado un control de cambio.

Se pueden presentar bajo las siguientes circunstancias:

  • Mejoras son todos aquellas modificaciones que generan impacto en los módulos o funcionalidades existentes, y que van enfocados en la optimización o renovación de estos, debido a cambios de lógica de negocio, cambio de alcance por parte del cliente, adaptaciones etc. Usualmente se hacen a solicitud del cliente, sin embargo esto no es obligatorio. Existirán casos en los que el equipo de desarrollo, o cualquier otro participante del proyecto, genere la solicitud.
  • Corrección de errores son todos aquellos cambios que se deban realizar a fin de eliminar un bug o error en alguna funcionalidad del aplicativo, luego de cerrar el proyecto.


Los Controles de Cambio irán relacionados a las funcionalidades de aplicativos que están en ambiente productivo. En el caso de proyectos en desarrollo, sólo se manejarán para aquellos que se estén gestionando bajo metodologías lineales, esto quiere decir que no aplica para aquellos proyectos llevados por Sprint´s, Ciclos o Metodologías Evolutivas.

Las solicitudes de cambio pueden ser registrados por cualquier persona ( STAKEHOLDERS ) que tenga algún interés en el proyecto, siempre y cuándo tenga las bases que sustenten el cambio y la justificación del mismo.

Software estándar a utilizar

El levantamiento de un CC se realiza a través del aplicativo Mantis.

Flujo de proceso

En esta sección se describirá el flujo de proceso para un CC:

1. Alta de la solicitud (Ticket):

Este flujo marca el inicio de un Control de Cambio, ya que representa su registro formal. Para dar de alta una solicitud, es necesario que se tengan todos los datos que se deberán considerar para poder atenderlo.

  • Para los casos de CC por Mejoras, será necesario detallar las reglas de negocio, flujos, vistas y cualquier información adicional que complemente el requerimiento. Esta información podrá ir contenida de forma precisa en una Historia de Usuario, la cuál deberá adjuntarse al ticket de Mantis.
  • Para los casos de CC por Corrección de Errores, será necesario especificar los detalles del error, pasos para reproducir y adjuntar las evidencias, a fin de facilitar la replica del escenario.

Para obtener más detalles sobre el flujo de registro de una solicitud de CC, por favor verificar el apartado de *Campos estándar de CC.


2. Revisión de la solicitud (Ticket):

Una vez dada de alta la solicitud:

    El Gestor de proyectos realiza una revisión de toda la información contenida en el Ticket.
    
    Si considera que la información proporcionada es insuficiente: 

    a. Cambiará el estado del Ticket a SE NECESITAN MAS DATOS en el Mantis.
    b. Añadirá una nota etiquetando al STAKEHOLDER que registró el Ticket, para indicarle el detalle de la información que hace falta.
    
    En caso contrario a lo descrito anteriormente:
    a. Cambiará el estado del Ticket a ACEPTADO o asignará el Ticket a un Desarrollador en el Mantis.
Warning Warning: IMPORTANTE: La atención a las solicitudes dependerá de su prioridad, y de la disponibilidad de desarrolladores.



3. Asignación de la solicitud (Ticket):

    La asignación de una solicitud de CC puede ser realizada por:
    
    Desarrollador:
    Se define ( Auto asignación ). Lo que se busca con esto es fomentar la iniciativa del Desarrollador, su capacidad de Autogestión y de Autorganizacion. Es importante que el Desarrollador antes de asignarse una solicitud (Ticket) considere los siguientes aspectos:
    a. No tener actividades mapeadas en un Proyecto Activo o Asignación  de mayor relevancia o prioridad.
    b. Que se tenga conocimiento del aplicativo bajo el cual fue registrada la solicitud, en caso de que sean solicitudes de CC de prioridad Alta. Esto para evitar que exista desviación de tiempo por desconocimiento de la plataforma/tecnología/reglas de negocio. 
     
     Si son solicitudes de CC de prioridad Normal o Baja, el Desarrollador puede asignarse la solicitud (Ticket) aunque no tenga conocimiento del proyecto, para este caso sera necesario que valide con  PM o Coordinador, si puede tomar esta actividad.
       
    Gestor de proyectos/Coordinador de proyectos:
    a. Esta asignación se hace directamente por cualquiera de los roles antes mencionados y se realiza de acuerdo a la prioridad que tenga el Ticket.

4. Análisis de la solicitud (Ticket):

    Una vez que la solicitud fue Auto Asignada o recibió Asignación directa por el Gestor o el Coordinador de proyectos,  
    el Desarrollador procederá a realizar lo que se describe a continuación:  
  
    a. Documentar el campo Descripción técnica en el Mantis, realizando un previo análisis de los artefactos que van a sufrir cambios.
       Es necesario que liste los artefactos como pueden ser:
       * Clases
       * Métodos
       * Base de datos:
            * Procedimientos
            * Tablas
            * Vistas
            * Funciones
       Que van a ser modificados a nivel de código fuente.  
     
    b. Recurrir a PM, cuando implique cambios a otras áreas de desarrollo (Web Service, Back Office, etc). A fin de gestionar los demás involucrados, para que apoye en el área que corresponda. 
    c. Documentar en el campo Tiempo estimado las tareas y tiempos que se realizarán para la solución del CC, tomando en cuenta:
       * Tiempo de Desarrollo de áreas involucradas.
       * Pruebas Unitarias.
       * Pruebas de Integración. (Para los casos en que aplique)      
    d. El área de QA debe documentar en el campo Tiempo estimado QA, los tiempos de pruebas a realizar de acuerdo a la información que se tenga en la solicitud de CC. Si este campo no esta documentado, el Gestor de proyectos solicitará al área de QA que documente sus tiempos estimados de pruebas de QA.
       

5. Aprobación de la solicitud (Ticket):

     Una solicitud de control de cambio es APROBADA cuando aparece en el campo Aprobado la palabra SI
    
    Una vez que se tiene la información en los campos Descripción técnica y Tiempo estimado, el Gestor de proyectos solicita la  aprobación del control de cambio a la Directiva para su resolución.
    
    La Directiva revisa la solicitud del control de cambio en el Mantis para aprobarlo o no.
    
    Campo: Aprobación de una solicitud en Mantis

6. Resolución de la solicitud (Ticket):

    Una vez que la solicitud del control de cambio ha sido APROBADA, el Desarrollador procederá a realizar lo que se describe a  continuación:
    a. Llevar a cabo la implementación de la solución del CC, de acuerdo a la información registrada en el campo Descripción.
    b. Registrar diariamente el tiempo invertido en la realización de cada tarea, a través de la tarea en Jira creada para tal fin. EN caso de no existir, solicitar a PM. Las actividades realizadas no pueden quedar sin registro de tiempo en JIRA.
    b. Una vez que haya realizado el desarrollo, realizará el proceso de las Pruebas Unitarias y Pruebas de Integración
       a través del TestLink.
    c. Generará el reporte de Pruebas Unitarias en formato de archivo PDF y lo incluirá en el repositorio de
       Telstock en la ubicación que corresponda al proyecto.
    d. Una vez que el proceso de las Pruebas Unitarias y Pruebas de Integración sea correcto, el Desarrollador procederá al despliegue de los cambios a los artefactos al ambiente de QA.
    e. Una vez que el ambiente de QA este totalmente listo, el Desarrollador cambiara el estatus de la solicitud de CC a RESUELTA en el Mantis:
       Campo: Estado de la solicitud a RESUELTA de una solicitud en Mantis
    f. El Desarrollador añadirá una nota al Ticket, indicando al QA Manager la siguiente información:
    
       Atención a QA Manager
       
      " Por favor apoyarnos con las pruebas del presente control de cambio.
       Las  Pruebas Unitarias se encuentran en el repositorio en la ruta (Ruta repositorio)
       Y en el TestLink en la ruta (Ruta TestLink).
       La información para las pruebas es la siguiente:
       * Url del aplicativo:
       * Usuarios de prueba:
       * Contraseñas:
       * Versión del APK (Si aplica) que se esta liberando:"

7. Validación de solicitud (Pruebas QA):

    Una vez que el estatus de la solicitud de control de cambio sea RESUELTO, QA procederá a realizar lo que se describe a continuación:
    a. Validar que tiene la información completa de las Pruebas Unitarias, y que pueda acceder al ambiente con toda la información suministrada por el desarrollador.
    b. Ejecutar los escenarios de prueba considerando el tiempo estimado que se colocó en la solicitud.
    c. Si al ejecutar los escenarios de prueba existen incidencias relacionadas al control de cambio entonces:
       1.  QA registrará en JIRA (dentro de un componente con el Id del Ticket Mantis) las incidencias encontradas y las asignará al desarrollador responsable.
       2.  El Desarrollador corrige las incidencias de acuerdo a lo descrito en Estándar de Proceso de Uso Aplicativo JIRA
       3.  QA valida la corrección de las incidencias y cierra aquellas que estén resueltas y reasigna las que aun no estén.  
       
    b. Si al final de la ejecución de los escenarios de prueba no existe ninguna incidencia, QA coloca como nota en la solicitud (Ticket) el  Vo.Bo en el siguiente formato:
       
       Se validó el presente control de cambio con todos los escenarios exitosos, se da el Vo.Bo de QA
       Y deberá agregar la siguiente información:
       * Ruta de repositorio en donde está la matriz de pruebas.
       * Ruta de repositorio en donde está el reporte de pruebas.
    c. El Gestor de Proyectos procede a cerrar la solicitud (Ticket).
Warning Warning: QA debe establecer los limites y duración de pruebas, dentro del tiempo inicial que se estimó.

   

Warning Warning: La gestión de las incidencias de QA por parte del Desarrollador, debe ser similar a una incidencia de proyecto normal.