Artículos
Establece la prioridad y reduce la deuda técnica de tu backlog de Jira con Compass
KATIE SILVER
RESPONSABLE PRINCIPAL DE PRODUCTOS DE ATLASSIAN
Resumen ejecutivo
La deuda técnica, provocada por la escala y la necesidad de lanzar nuevas funciones rápidamente, es un desafío común para los equipos de software. Los equipos no tardan mucho tiempo en tener que asumir una deuda técnica, pero cuando esta es demasiado grande, se producen reducciones de la velocidad a largo plazo. Atlassian Compass, una plataforma interna para desarrolladores (IDP, por sus siglas en inglés), ofrece a los equipos un catálogo de software centralizado para que los desarrolladores puedan encontrar la información más rápido y conocer el estado y el rendimiento de su software. Al vincular las incidencias de Jira a tu catálogo y las evaluaciones del estado en Compass, los equipos pueden identificar y reducir la deuda técnica de alto impacto a la hora de clasificar el backlog por orden de prioridad y, al mismo tiempo, lanzar nuevas funciones a un ritmo constante.
Duración
Lectura de 8 minutos. Menos de 10 minutos para configurar Compass.
Público
Cualquier usuario de Jira que pertenezca a un equipo de entrega de software. Puede resultarles útil a desarrolladores, ingenieros, responsables de producto, etc.
Requisitos previos
- Consigue Compass: puedes probarlo gratis y solo tardarás unos minutos en empezar.
- Consigue Jira: debes tener un proyecto activo de Jira gestionado por la empresa.
¿La deuda técnica de tu backlog está descontrolada? Le sucede a más gente
Crea, mide y aprende rápidamente. Los equipos de software que emplean la metodología ágil lanzan código a una velocidad vertiginosa. El lado negativo es la deuda técnica, un fenómeno inevitable que aumenta la fragilidad del código y ralentiza a los equipos. ¿Hasta qué punto comprende tu equipo su deuda técnica? ¿En qué información te basas para priorizar el backlog con el fin de reducir la deuda técnica y, al mismo tiempo, seguir ofreciendo nuevas e innovadoras funciones? Sigue leyendo y descubre cómo evaluar la prioridad del backlog de Jira y hacer frente a la deuda técnica de tu equipo para agilizar la entrega de software.
La deuda técnica equivale al trabajo pendiente que se ha prometido al cliente, pero que aún no se le ha entregado, los defectos del código o los elementos de trabajo que perjudican la agilidad.
La causa principal de la deuda técnica: velocidad y escala
Los equipos están sometidos a la presión constante de tener que ofrecer nuevas funciones rápidamente. Al mismo tiempo, a medida que los productos y los equipos crecen, la complejidad aumenta y las organizaciones se enfrentan a una proliferación de servicios y software. La propiedad deja de estar clara, se forman silos de conocimiento y encontrar información se convierte en una ardua tarea. A medida que aumentan la complejidad de los productos y el tamaño de las bases de código y los equipos siguen priorizando el lanzamiento de nuevas funciones, también aumenta la probabilidad de que se produzcan errores y problemas de rendimiento. Las estadísticas son sobrecogedoras:
77%
of devs say their codebase grew 5x over the past 3 years [1]
15%
percent of a dev’s day that’s actually spent coding [2]
70%
of devs encounter a knowledge silo at least once a week [3]
1: Big Code in the AI Era, Sourcegraph; 2: Today was a good day: The Daily Life of Software Developers; 3: Stack Overflow, Developer Survey 2022
Las empresas tienen que actuar con rapidez para seguir formando parte de la competencia, mientras que aquellas cuyas operaciones sean todo un éxito experimentarán un aumento de sus dimensiones, ingresos y variedad de productos, por lo que prácticamente todas las organizaciones deben aprender a gestionar la deuda técnica de forma eficaz. ¿Hasta qué punto comprende tu equipo su deuda técnica?
Clasifica tu backlog por orden de prioridad y reduce la deuda técnica con Compass
En Atlassian, utilizamos Compass para mantener un catálogo centralizado de todos los servicios, bibliotecas, API y otros componentes de software creados y gestionados por nuestros equipos. Con Compass, los equipos utilizan el catálogo de software para hacer un seguimiento de la propiedad de los servicios, conectar datos de toda la organización y revelar el estado de nuestro software fácilmente. Esta información les permite priorizar su trabajo de forma eficaz, actuar con rapidez y hacer que la calidad del código siga siendo buena. Si ahora se usan estos datos para abordar la deuda técnica adecuada, se conseguirá aumentar la velocidad en el futuro.
En este artículo, mostraremos cómo Atlassian utiliza Compass, nuestra plataforma de experiencia para desarrolladores, para reducir la deuda técnica y clasificar el backlog de Jira por orden de prioridad.
Compass ayuda a los equipos a conocer la repercusión de su trabajo y a planificar de forma eficaz
Compass es la plataforma de experiencia para desarrolladores de Atlassian, también conocida comúnmente como plataforma interna para desarrolladores o IDP. Se creó para ayudar a Atlassian en su trayectoria hacia los microservicios y optimizar nuestra experiencia como desarrolladores. Compass reduce las fricciones a las que los desarrolladores hacen frente a diario, ya que les ayuda a encontrar información y datos relevantes más rápido y a agilizar el proceso de producción:
Catálogo
Reduce la carga cognitiva con un catálogo de componentes de software integral
Estado
Aplica los cuadros de mandos de estado, crea y comunica políticas y mejora tu experiencia de desarrollador
Extensibilidad
Conecta los detalles críticos del servicio para ahorrar tiempo en las búsquedas y reducir los cambios de contexto
Plantillas
Automatiza la coherencia y acelera las rutas de producción con plantillas de software prediseñadas
Los componentes de Compass ofrecen a los equipos una forma centralizada de catalogar y entender su software. Los componentes son cualquier elemento que forme parte de un repositorio: un servicio, una biblioteca, un modelo de aprendizaje automático, etc. Puedes vincularlos de forma nativa en Jira para que las incidencias de tu backlog se conecten a las partes reales del software a las que afectan. Esto ayuda a los equipos a conocer la repercusión de su trabajo y su relación con el panorama general de su software.
El equipo de ingeniería de plataformas de Atlassian utiliza Compass para centralizar la información, los estándares y las prácticas que nos ayudan a mantener una buena experiencia de desarrollo y una cultura de ingeniería. Esto equivale a equipos autónomos, claridad en las prácticas, los estándares y la propiedad de los servicios, y menos tiempo de búsqueda.
Ponte manos a la obra con Compass en cuestión de minutos: configura tu catálogo, métricas y cuadros de mandos para empezar
Solo tardarás unos minutos en ponerte manos a la obra con Compass si sigues unos sencillos pasos: (1) importa tus componentes, (2) designa a los equipos como propietarios de tus componentes y (3) configura los cuadros de mandos.
Paso 1: importa tus componentes desde el lugar en el que se encuentran actualmente
Para la mayoría de los equipos, eso conlleva conectar una herramienta de gestión del código fuente (SCM, por sus siglas en inglés), como GitHub o Bitbucket, o importar repositorios vinculados a sus proyectos de Jira. También puedes importar componentes de un archivo CSV o combinar cualquiera de estos métodos para compilar rápidamente un catálogo completo de todo lo que tus desarrolladores crean y mantienen.
Puedes empezar con Compass en tan solo unos minutos importando tus componentes desde el lugar en el que se encuentren actualmente. Para la mayoría de los equipos, eso conlleva conectar una herramienta de gestión del código fuente (SCM, por sus siglas en inglés), como GitHub o Bitbucket, o importar repositorios vinculados a sus proyectos de Jira. También puedes importar componentes de un archivo CSV o combinar cualquiera de estos métodos para compilar rápidamente un catálogo completo de todo lo que tus desarrolladores crean y mantienen.
Paso 2: designa a los equipos como propietarios de tus componentes
Por lo general, cada componente debe tener designado un equipo como el principal responsable de su funcionamiento. Añadir un equipo propietario a cada componente refuerza la cultura de autonomía, ayuda a los desarrolladores a mantenerse al tanto de la información relevante y permite a los expertos supervisar cada componente incluso si una persona o un responsable del proyecto no está disponible. Compass hace uso del directorio de Atlassian para definir los equipos, por lo que todos los equipos que utilices en Jira estarán disponibles.
Gracias al catálogo de componentes, los desarrolladores de tu organización pueden encontrar rápidamente la documentación o la actividad reciente de CI/CD asociada a cualquier servicio o biblioteca. De esta forma, se aumenta la productividad de los desarrolladores al reducir el tiempo que dedican a buscar información y eliminar las interrupciones por información que ahora puede ser de autoservicio.
Cuando se conecta un SCM, Compass detecta automáticamente eventos tales como las implementaciones y los agrega a la fuente de actividades. Además, utiliza dichos eventos de tu repositorio para calcular automáticamente una serie de métricas clave listas para usar, como la frecuencia de implementación y la tasa de éxito de las compilaciones. Puedes configurar las métricas de DORA e incluso hacer un seguimiento de datos personalizados como el número de vulnerabilidades de seguridad pendientes para un componente determinado.
Paso 3: configurar cuadros de mandos para aplicar estándares a tus componentes
Una vez que hayas rellenado tu catálogo y obtengas métricas, podrás empezar a usar los cuadros de mandos. Estos se utilizan para crear estándares y aplicarlos a los componentes de la organización. Los cuadros de mandos pueden utilizar el objetivo que quieras para las métricas de los componentes y los datos de los campos, lo que te ayuda a asegurarte de que tus componentes de software están en buen estado y de que los equipos siguen las prácticas recomendadas. Compass incluye cuadros de mandos predeterminados listos para usar con métricas que te recomendamos que controles, como la preparación de los componentes y el estado de DevOps, aunque puedes crear otros personalizados. Cuando veas qué cuadros de mandos indican una puntuación insuficiente para tus componentes, sabrás qué deuda técnica tienes que afrontar.
Retomando el ejemplo anterior, abordemos la seguridad con un cuadro de mandos personalizado que estará suspenso si hay más de una vulnerabilidad de seguridad abierta a la vez. Las vulnerabilidades de seguridad son un ejemplo clásico de deuda tecnológica. Primero, crea una métrica para hacer un seguimiento de las vulnerabilidades de seguridad y configúrala para se que extraiga de la fuente correcta de tus distintos componentes.
Luego, ve a la pestaña Cuadros de mandos, ubicada en "Estado" en la barra de navegación superior. Haz clic en "Crear cuadro de mandos", rellena los datos y asegúrate de añadir la métrica de vulnerabilidades de seguridad que acabas de crear como criterio del cuadro de mandos. Indiquemos que el cuadro de mandos estará suspenso si hay más de una vulnerabilidad de seguridad abierta en un momento dado. Se trata de un parámetro adecuado para los servicios de nivel 1 que son fundamentales para el estado operativo de tu software. Configura el operador en "menor o igual a" y el valor en uno. Fija la ponderación en el 100 %, haz clic en Crear y listo: ya tienes una forma centralizada de hacer un seguimiento de los riesgos relacionados con la seguridad y ofrecer a los equipos medidas claras para mejorar el estado de su software.
En la práctica, configurarás varios cuadros de mandos para medir una serie de estándares y obtener una perspectiva completa de tu deuda técnica.
Vincular Compass a Jira: identificar la deuda tecnológica de alto impacto y priorizar el backlog
Ahora que Compass está configurado, tenemos todo lo que necesitamos para empezar a identificar y afrontar la deuda tecnológica. Primero, asegúrate de que tu proyecto de Jira esté incluido en los componentes de Compass haciendo clic en "Componentes" en la barra de navegación izquierda y consultando el campo desplegable de la parte superior derecha. Si está incluido, debería decir "Componentes de Compass".
Luego, vuelve a Compass y examina tus cuadros de mandos. Identifica las áreas que estén en riesgo o suspensas y, en función de las prioridades de tu equipo, decide cuál es el problema más importante que debes resolver. Puedes consultar un cuadro de mandos específico en la interfaz de usuario "Estado" para ver cómo se miden todos los componentes pertinentes y seguir filtrando por equipo propietario para conocer la puntuación exacta de tus componentes e identificar la deuda técnica a la que debes prestar atención.
Veamos otro ejemplo con el cuadro de mandos integrado de estado de DevOps. Estás revisando los componentes de tu equipo y te das cuenta de que hay varios que no cumplen con el criterio de frecuencia de implementación. El cuadro de mandos está configurado para que, si hay menos de cinco implementaciones a la semana, te aparezca que algunos de tus componentes solo tienen una o dos implementaciones por semana. Se trata de una posible incidencia que debe investigarse. Es posible que haya un problema en el proceso de creación o en las compilaciones de implementación, o quizás a tu equipo le esté costando afrontar la dificultad técnica de su tarea. Sea como fuere, se trata de una deuda técnica que deberías abordar.
Vuelve a tu backlog y comprueba si tienes alguna incidencia en la que se aborde este problema de la lentitud de las implementaciones. Si no, puedes crear una nueva incidencia directamente desde la página del cuadro de mandos de Compass. Asegúrate de que dichas incidencias estén etiquetadas con los componentes correctos de Compass para poder organizarte y hacer un seguimiento directo del impacto de tu backlog.
A continuación, puedes incorporar esas incidencias en tu próximo sprint o añadirlas a tu tablero de kanban con total tranquilidad. Estarás al tanto de que estas incidencias son deudas técnicas de alta prioridad y sabrás también que el trabajo que has realizado afectará al rendimiento de tu arquitectura de software. Cuando tu equipo resuelva la incidencia, puedes volver a tu cuadro de mandos de estado de DevOps y ver el historial de cómo has mejorado la frecuencia de implementación a lo largo del tiempo. Se trata de una forma excelente de demostrar liderazgo y de mostrar a tu equipo el valor de vuestro trabajo.
Resumen: usa Compass para priorizar tu backlog de Jira y reducir la deuda técnica
La deuda técnica es inevitable en la entrega de software moderna, pero los equipos eficaces saben cómo priorizar la deuda técnica de alto impacto para mantener un nivel elevado de fiabilidad y, al mismo tiempo, ofrecer nuevas funciones innovadoras a una velocidad constante. Vincular tus incidencias de Jira a un catálogo de componentes centralizado en Compass proporciona a los equipos información sobre la repercusión en el trabajo y les permite establecer un equilibrio entre la deuda tecnológica y la entrega de funciones en tan solo unos pasos:
- Configura rápidamente tu catálogo de software en Compass conectando tu SCM, importando repositorios de Jira o importándolos desde un archivo CSV.
- Empieza con los cuadros de mando integrados y, después, crea los tuyos propios con métricas y otras fuentes de datos para hacer un seguimiento del rendimiento del software en función de los estándares y prácticas de tu organización e identificar la deuda tecnológica de alta prioridad.
- Integra Compass en tus procesos semanales para hacer avanzar la deuda tecnológica de "Backlog" a "Completada" al tiempo que evitas que se produzcan incidentes y ofreces nuevas funciones de forma constante.