NVS App Ciclo de vida (1)
NVS es la aplicación de gestión del ciclo de vida del software de RSI. Es una aplicación que censa todas las peticiones, solicitudes, cambios, migraciones, tests de las Areas de la empresa así como de los trabajos, en función de capacidad y horas contratadas, de las factorías que trabajan con estas.
No es una aplicación sencilla, ya que funciona como el «corazón» de todos los proyectos que desarrolla RSI tanto a nivel interno como a nivel externo (proveedores). Y su optimización es clave para la compañía ya que permite el control y optimización de todas las horas de desarrollo.
Flujo completo
Un «flujo» de trabajo normal en RSI, censado por NVS empezaría con la estimación de horas anual que necesitarán las diferentes areas de RSI. En función de esas horas, también con el seguimiento histórico de años anteriores y lo ajustada que ha sido esa estimación, se contratan las horas necesarias a las diferentes factorías, en base a las tecnologías que trabaja cada una y con un principio de equidad para repartir el trabajo entre todas.
Semanalmente las factorías tienen la obligación de informar de las horas disponibles (capacidad). Igualmente, las áreas, tienen la obligación de informar el ajuste de la estimación de horas mensual.
Cada área gestiona sus proyectos (asignaciones, horas, etc.) en Clarity. Independientemente cada equipo puede utilizar JIRA, o cualquier otra herramienta, para la gestión del trabajo del proyecto propiamente dicho. A partir de los proyectos y tareas de Clarity se realizan solicitudes que el equipo de gestión de NVS se encarga de asignar a las diferentes factorías. Las solicitudes pueden tener diferentes objetivos, pertenecer a diferentes entornos de aplicación, seguir diferentes rutas para su puesta en producción, subida a un servidor de desarrollo o la función que corresponda. Es decir, se trata de un conjunto muy heterogéneo. Con la solicitud queda registrado su propietario, usuarios implicados y responsable (en función del área) y cuentan con permisos específicos. Cada solicitud va siguiendo diferentes estados (planificada, asignada…) hasta que se da por completada.
Las solicitudes en su entrega incorporan paquetes, que a su vez se dividen en elementos. En función de cada solicitud, estos elementos siguen diferentes pipelines (subidas, ejecución, generación de partes, certificación…). Estos pipelines (migraciones) tienen una programación y plazo específico para cada objetivo diferente que puede ser consultado en un calendario que está completamente actualizado.
Briefing
El objetivo de este proyecto, desde el punto de vista de UX, es mejorar la usabilidad, detectar puntos de dolor, ampliar los informes para que el equipo de gestión de NVS trabaje con mayor efectividad, definir flujos y herramientas para que los usuarios (factorías y analistas de áreas) puedan introducir fácilmente la capacidad o estimaciones, y enfocar un rediseño que mejore y estandarice el interfaz al nuevo look & feel de aplicaciones internas.
Primer punto de control
Con esta demo a la dirección de Staff presentamos el trabajo realizado, avances y próximos hitos.
Trabajo realizado y herramientas
Tras el briefing, tuve una primera toma de contacto con la aplicación. El team lead del equipo de desarrollo encargado de NVS me hizo un tour completo de la aplicación.
Programamos entrevistas con hasta 8 personas que utilizan NVS en su día a día. Perfiles de factorías, analistas, responsables de área y del equipo de gestión de NVS. En estas entrevistas detectamos problemas recurrentes y otras cuestiones como por ejemplo:
- Mensajería interna difícil de seguir y con errores de maquetación puntuales
- La valoración realizada tras la entrega de una solicitud, al ser una puntuación completamente subjetiva no era bien entendida tanto por los analistas como por las factorías.
- La cantidad de información presentada en pantalla incidían negativamente en el usuario
A partir de estos y otros temas detectados, además de las necesidades específicas de negocio hicimos una sesión conjunta entre el equipo de gestión, desarrollo y UX para definir una matriz de atractivo/esfuerzo y, a partir de ahí programar los objetivos del primer sprint y sucesivos.
Glosario
- Factoría: Proveedor de tecnología de RSI.
- Petición: Tarea de proyecto (internamente gestionado por Clarity).
- Solicitud: Cuando una tarea se asigna/solicita a una factoría.
- Capacidad: Horas disponibles de una determinada tecnología.
- Paquete: Conjunto de elementos que se entregan para cumplir con la solicitud asignada.
- Elemento: Puede ser un archivo, una query, una ejecución de un script, un test…
- Migración: Ruta, o pipeline, que siguen los elementos de un paquete en función de los objetivos de una solicitud.