Articles
Priorisez et réduisez la dette technique dans votre backlog Jira avec Compass
KATIE SILVER
RESPONSABLE DE PRODUIT PRINCIPAL, ATLASSIAN
Synthèse
La dette technique, due à l'ampleur et à la nécessité de livrer rapidement de nouvelles fonctionnalités, est un défi courant pour les équipes logicielles. Les équipes s'endettent rapidement dans le domaine de la technologie, mais trop de dettes entraînent une baisse de vitesse sur le long terme. Atlassian Compass, une plateforme interne pour développeurs (IDP), fournit aux équipes un catalogue de logiciels centralisé afin que les développeurs puissent trouver des informations plus rapidement et comprendre l'état et les performances de leurs logiciels. En reliant les tickets Jira à votre catalogue et aux mesures de performance dans Compass, les équipes peuvent identifier et réduire la dette technique à fort impact lors de la priorisation de leur backlog tout en expédiant de nouvelles fonctionnalités à une vitesse constante.
Durée
8 minutes de lecture. Moins de 10 minutes pour configurer Compass.
Public
Vous utilisez Jira au sein d'une équipe de livraison de logiciels. Les développeurs, les ingénieurs, les responsables produit et bien d'autres peuvent tous en bénéficier.
Prérequis
- Obtenir Compass. L'essai est gratuit et le démarrage ne prend que quelques minutes.
- Obtenir Jira. Vous avez un projet géré par l'entreprise Jira actif.
La dette technique de votre backlog est incontrôlable ? Vous n'êtes pas seul !
Construire, mesurer, apprendre rapidement. Les équipes logicielles Agile livrent du code à une vitesse incroyable. La contrepartie est la dette technique, un phénomène inévitable qui fragilise le code et ralentit les équipes. Dans quelle mesure votre équipe comprend-elle sa dette technique ? Quelles informations vous permettent d'établir des priorités dans votre backlog afin de réduire la dette technique tout en continuant à proposer de nouvelles fonctionnalités innovantes ? Poursuivez votre lecture et découvrez comment évaluer la priorité du backlog Jira et comment remédier à la dette technique de votre équipe afin d'accélérer la livraison des logiciels.
La dette technique est le travail en suspens promis, mais non livré au client, les défauts dans le code ou les tâches qui nuisent à l'agilité.
La cause racine de la dette technique : la rapidité et l'ampleur
Les équipes sont soumises à une pression constante pour livrer rapidement de nouvelles fonctionnalités. Dans le même temps, à mesure que les produits et les équipes se développent, la complexité augmente et les organisations sont confrontées à une prolifération de services et de logiciels. La propriété devient floue, des silos de connaissances se forment et il devient de plus en plus difficile de trouver des informations. À mesure que la complexité des produits augmente, que les bases de code s'agrandissent et que les équipes continuent de donner la priorité à la livraison de nouvelles fonctionnalités, le risque de bugs et de problèmes de performances augmente. Les statistiques sont sidérantes :
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
Les entreprises doivent agir rapidement pour rester compétitives, et les entreprises prospères augmenteront en taille, en chiffre d'affaires et en gamme de produits. Pratiquement toutes les organisations doivent donc apprendre à gérer efficacement leur dette technique. Dans quelle mesure votre équipe comprend-elle sa dette technique ?
Donnez la priorité à votre backlog et réduisez la dette technique avec Compass
Chez Atlassian, nous utilisons Compass pour gérer un catalogue centralisé de tous les services, bibliothèques, API et autres composants logiciels créés et gérés par nos équipes. Avec Compass, les équipes utilisent le catalogue de logiciels pour suivre facilement la propriété des services, connecter les données de l'ensemble de l'organisation et évaluer l'état de performance de nos logiciels. Ces informations permettent aux équipes de hiérarchiser leur travail de manière efficace, d'agir rapidement et de maintenir un niveau élevé de qualité du code. L'utilisation de ces informations pour s'attaquer à la bonne dette technique permet de gagner en vélocité à l'avenir.
Dans cet article, nous allons montrer comment Atlassian utilise Compass, notre plateforme pour l'expérience des développeurs, afin de réduire la dette technique et prioriser notre backlog Jira.
Compass aide les équipes à comprendre l'impact de leur travail et à planifier efficacement
Compass est la plateforme pour l'expérience des développeurs d'Atlassian, également connue sous le nom de plateforme interne pour développeurs ou IDP. Compass a été créé pour faciliter le parcours d'Atlassian en matière de microservices et rationaliser l'expérience des développeurs. Compass réduit les difficultés quotidiennes des développeurs en les aidant à trouver des informations et des idées plus rapidement, et en accélérant le processus de production :
Catalogue
Réduisez la charge cognitive grâce à un catalogue complet de composants logiciels
Intégrité
Appliquez des cartes de performance, établissez et diffusez des politiques, et améliorez l'expérience des développeurs
Extensibilité
Connectez les informations clés sur vos services afin de gagner du temps dans les recherches et réduire les changements de contexte
Modèles
Automatisez la cohérence et accélérez le processus de déploiement en production grâce à des modèles logiciels préconçus
Les composants Compass offrent aux équipes un moyen centralisé de cataloguer et de comprendre leurs logiciels. Les composants sont tout ce qui se trouve dans un dépôt : un service, une bibliothèque, un modèle de machine learning, etc. Vous pouvez les relier nativement dans Jira afin que les tickets de votre backlog se connectent aux éléments réels du logiciel qu'ils impactent. Cela aide les équipes à comprendre l'impact de leur travail et la manière dont il est lié à la vue d'ensemble de leur logiciel.
L'équipe d'ingénierie des plateformes d'Atlassian s'appuie sur Compass pour centraliser les informations, les normes et les pratiques qui nous aident à maintenir une bonne expérience pour les développeurs et une bonne culture d'ingénierie. Cela se traduit par des équipes autonomes, des normes et des pratiques claires, une propriété claire des services et moins de temps passé à chercher.
Soyez opérationnel avec Compass en quelques minutes : configurez votre catalogue, vos métriques et vos cartes de performance pour commencer
Vous pouvez commencer à utiliser Compass en quelques minutes en suivant quelques étapes simples : (1) importer vos composants, (2) attribuer des équipes à vos composants, (3) configurer les cartes de performance.
Étape 1 : Importer vos composants depuis l'endroit où ils se trouvent aujourd'hui
Pour la plupart des équipes, cela implique de connecter un outil de gestion du code source (SCM), tel que Github ou Bitbucket, ou d'importer des dépôts liés à vos projets Jira. Vous pouvez également importer des composants à partir d'un fichier CSV ou d'une combinaison de ces méthodes pour créer rapidement un catalogue complet de tout ce que vos développeurs créent et gèrent.
Vous pouvez commencer à utiliser Compass en quelques minutes en important vos composants depuis l'endroit où ils se trouvent aujourd'hui. Pour la plupart des équipes, cela implique de connecter un outil de gestion du code source (SCM), tel que Github ou Bitbucket, ou d'importer des dépôts liés à vos projets Jira. Vous pouvez également importer des composants à partir d'un fichier CSV ou d'une combinaison de ces méthodes pour créer rapidement un catalogue complet de tout ce que vos développeurs créent et gèrent.
Étape 2 : Attribuer à des équipes la propriété de vos composants
En règle générale, chaque composant doit être confié à une équipe qui est principalement responsable de son fonctionnement. L'ajout d'une équipe propriétaire à chaque composant renforce la culture de l'autonomie, aide les développeurs à rester au courant des informations pertinentes et assure une couverture experte de chaque composant, même si aucune personne ou aucun responsable du projet n'est disponible. Compass utilise Atlassian Directory pour définir les équipes, de sorte que toutes les équipes existantes que vous utilisez dans Jira sont déjà disponibles.
Grâce au catalogue de composants, les développeurs de votre organisation peuvent trouver rapidement de la documentation ou des activités CI/CD récentes associées à n'importe quel service ou bibliothèque. Cela augmente la productivité des développeurs en réduisant le temps passé consacré à la recherche d'informations et en éliminant les interruptions liées à des informations qui peuvent désormais être gérées en libre-service.
When an SCM is connected, Compass automatically detects events like deployments and aggregates them in the Activity Feed. Based on the events from your repo, Compass automatically calculates several key metrics out of the box, like deployment frequency and build success rate. You can set up DORA metrics and even track custom data, like the number of security vulnerabilities outstanding for a given component.
Step 3: Configure scorecards to apply standards to your components
With your catalog populated and metrics flowing in, it’s time to start using scorecards. Scorecards are used to build standards and apply them to components across your organization. Scorecards can use any desired targets for component metrics and field data. This helps you ensure your software components are healthy and teams are following the recommended practices. Compass comes with a few default scorecards out of the box with metrics we recommend you track, such as Component Readiness and DevOps Health, and you can create your own custom scorecards. When you see what scorecards are failing for your components, you know what technical debt you need to address!
To continue with the example above, let’s tackle security with a custom scorecard that will fail if there is more than one open security vulnerability at a given time. Security vulnerabilities are a classic example of tech debt. First, create a metric to track Security Vulnerabilities and configure it to pull from the correct source on your various components.
Next, go to the Scorecards tab under “Health” in the top navigation bar. Click “Create Scorecard,” fill out the details, and make sure to add the Security Vulnerabilities metric you just created as the scorecard criterion. Let’s say the scorecard will fail if there is ever more than one security vulnerability open at a given time. This is a good choice for Tier 1 services that are critical to the operational state of your software. Set the operator to “less than or equal to” and the value as one. Set the weight to 100%, click Create, and now you have a centralized way to track security-related risks and give teams clear actions to improve the health of their software.
In practice, you’ll configure multiple scorecards to measure a variety of standards to get a comprehensive view of your technical debt.
Link Compass to Jira: Identify high-impact tech debt and prioritize your backlog
Now Compass is configured, we have everything we need to begin identifying and tackling tech debt. First, make sure your Jira project is opted into Compass components by clicking “Components” in the left-hand navigation bar, and checking the drop-down field on the top right. If you’ve opted in, it should say “Compass components.”
Next, go back into Compass and examine your scorecards. Identify areas where scorecards are either at risk or are already failing, and based on your team’s priorities, determine the most important problem to solve. You can view a specific scorecard from the “Health” UI, and see how all applicable components measure up. You can filter further by owner team to understand exactly how your own components are scoring and identify the technical debt that requires your attention.
Let’s consider another example using the DevOps Health built-in scorecard. You are reviewing your team’s components and you notice that several are failing the Deployment Frequency criterion. The scorecard is defined so that if there are fewer than five deployments per week, you notice that some of your components only have one or two deployments per week. This is a potential issue that needs investigation. Perhaps there is a problem in the build process or deployment pipelines, or maybe your team is struggling with the technical difficulty of their task. Either way, it’s technical debt that is worth addressing.
Return to your backlog and see if there are existing issues that address this problem of slow deployments. If not, you can create a new issue directly from the Scorecard page in Compass. Make sure those issues have the correct Compass components tagged on them so you can stay organized and directly track the impact of your backlog.
From there, you can confidently incorporate those issues into your next sprint or add them to your Kanban board. You know these issues are high-priority technical debt, and you know that the work you’ve done will impact your software architecture’s performance. After your team resolves the issue, you can go back to your DevOps Health scorecard and see the history of how you improved deployment frequency over time. This is a great visual to show leadership and to show your team as you discuss the value of your work.
Recap: Use Compass to prioritize your Jira backlog and reduce technical debt
Technical debt is inevitable in modern software delivery, but effective teams know how to prioritize high-impact technical debt to maintain a high level of reliability while shipping innovative new features with consistent velocity. Linking your Jira issues to a centralized Component catalog in Compass gives teams insights on work impact and allows them to make effective tradeoffs between tech debt and feature delivery with just a few steps:
- Quickly setup your software catalog in Compass by connecting your SCM, importing repos from Jira, or importing them from a CSV file
- Start with built-in scorecards, then build your own with metrics and other data sources to track software performance against your organization’s standards and practices and identify high-priority tech debt
- Make Compass part of your weekly rituals as you move tech debt from “Backlog” to “Done”, preventing incidents while consistently delivering new features