Close

Prioriteit geven aan technische schulden in je Jira-backlog en deze verminderen met Compass

Katie Silver
KATIE SILVER

HOOFDPRODUCTMANAGER, ATLASSIAN

Managementsamenvatting

Technische schulden, veroorzaakt door opschaling en de noodzaak om snel nieuwe functies te leveren, vormen een veelvoorkomende uitdaging voor softwareteams. Teams krijgen al snel te maken met technische schulden. Te veel schulden leiden echter op lange termijn tot een lagere snelheid. Atlassian Compass, een intern ontwikkelaarsplatform (IDP), biedt teams een gecentraliseerde softwarecatalogus zodat ontwikkelaars sneller informatie kunnen vinden en inzicht kunnen krijgen in de status en prestaties van hun software. Door Jira-issues te koppelen aan je catalogus en statusmaatregelen in Compass, kunnen teams technische schulden met veel impact identificeren en verminderen wanneer ze prioriteit geven aan hun backlog. Tegelijkertijd kunnen ze nieuwe functies leveren met constante snelheid.

Tijd

Acht minuten lezen. Minder dan tien minuten om Compass in te stellen.

Publiek

Je bent een Jira-gebruiker in een softwareleveringsteam. Ontwikkelaars, engineers, productmanagers en meer kunnen er allemaal van profiteren.

Vereisten

  • Compass: je kunt het gratis proberen en het duurt enkele minuten om aan de slag te kunnen gaan.
  • Jira: je hebt een actief bedrijfsbeheerd Jira-project.

Zijn de technische schulden in je backlog uit de hand gelopen? Je bent niet de enige

Bouw, meet en leer, maar dan super snel. Agile softwareteams leveren code met een ongelooflijke snelheid. De afweging is technische schuld, een onvermijdelijk fenomeen dat de kwetsbaarheid van de code vergroot en teams trager maakt. Hoe goed begrijpt jouw team de technische schuld? Op welke inzichten kun je je backlog prioriteren om je technische schuld te verminderen en tegelijkertijd innovatieve nieuwe functies te blijven leveren? Lees verder en leer hoe je de prioriteit van de Jira-backlog kunt beoordelen en hoe je de technische schuld van je team kunt aanpakken om de software sneller te kunnen leveren.

Technische schulden zijn openstaande werkzaamheden die zijn beloofd maar niet aan de klant zijn geleverd, fouten in de code of werkitems die de flexibiliteit schaden.

Dan Radigan
Atlassian

De hoofdoorzaak van technische schulden: snelheid en omvang

Teams staan onder constante druk om snel nieuwe functies te leveren. Tegelijkertijd, naarmate producten en teams groeien, neemt de complexiteit toe en krijgen organisaties te maken met een toename van services en software. Wie voor wat verantwoordelijk is wordt onduidelijk, er ontstaan kennissilo's en het vinden van informatie wordt een grotere uitdaging. Naarmate de complexiteit van producten toeneemt, de codebases groter worden en teams prioriteit blijven geven aan de levering van nieuwe functies, neemt de kans op bugs en prestatieproblemen toe. De statistieken zijn verbluffend:

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]

Bedrijven moeten snel handelen om relevant en concurrerend te blijven. Daarbij blijven succesvolle bedrijven groeien qua omvang, omzet en soorten producten, dus moet vrijwel elke organisatie leren om technische schulden effectief te beheren. Hoe goed begrijpt jouw team zijn technische schuld?

Prioriteit geven aan je backlog en technische schulden verminderen met Compass

Bij Atlassian gebruiken we Compass om een gecentraliseerde catalogus bij te houden van alle services, bibliotheken, API's en andere softwarecomponenten die door onze teams zijn samengesteld en worden beheerd. Met Compass gebruiken teams de softwarecatalogus om eenvoudig het de verantwoordelijken van een service bij te houden, gegevens uit de hele organisatie met elkaar te verbinden en de status van onze software te tonen. Met deze inzichten kunnen teams hun werk effectief prioriteren, snel handelen en de kwaliteit van de code hoog houden. Het gebruik van deze inzichten om direct de juiste technologieschuld aan te pakken, leidt in de toekomst tot een hogere snelheid.

In dit artikel laten we zien hoe Atlassian Compass gebruikt, ons platform voor ontwikkelaarservaringen, om technische schulden te verminderen en prioriteit te geven aan onze Jira-backlog.

Compass helpt teams de impact van hun werk te begrijpen en effectief te plannen

Compass is het ervaringsplatform van Atlassian voor ontwikkelaars, ook wel bekend als een intern ontwikkelaarsplatform of IDP. Compass is opgericht om Atlassian te ondersteunen bij het microservicetraject en om onze ontwikkelaarservaring te stroomlijnen. Compass vermindert de dagelijkse rompslomp voor ontwikkelaars door hen te helpen sneller informatie en inzichten te vinden en de weg naar productie te versnellen:

Archiefkast met codedocumenten

Catalogus

Verminder de cognitieve belasting met behulp van een uitgebreide catalogus met softwarecomponenten

DNA-helix

Gezondheid

Pas scorecards toe voor gezondheid, genereer beleidsregels en maak deze bekend, en verbeter je ontwikkelaarservaring

Drie onderling verbonden ringen

Uitbreidbaarheid

Koppel kritieke servicegegevens om tijd te besparen bij het zoeken en om het wisselen van context te verminderen

Abstracte sjabloonillustratie

Sjablonen

Automatiseer de consistentie en versnel de productietrajecten met kant-en-klare softwaresjablonen

Compass-componenten bieden teams een gecentraliseerde manier om hun software te catalogiseren en er inzicht in te krijgen. Componenten zijn alles wat zich in een repo bevindt: een service, bibliotheek, ML-model, enz. Je kunt deze standaard in Jira koppelen, zodat issues in je backlog aansluiten op de echte software die ze beïnvloeden. Dit helpt teams om inzicht te krijgen in de impact van hun werk en hoe dat zich verhoudt tot het grote geheel van hun software.

Het platformengineeringteam van Atlassian kan dankzij Compass informatie, normen en praktijken centraliseren die ons helpen een goede ontwikkelaarservaring en technische cultuur te behouden. Dit leidt tot autonome teams, duidelijke normen en praktijken, overzichtelijk beeld van de verantwoordelijken van een service en minder zoektijd.

Ga binnen enkele minuten aan de slag met Compass: stel je catalogus, statistieken en scorecards in om te kunnen beginnen

Je kunt binnen enkele minuten aan de slag met Compass door een paar eenvoudige stappen te volgen: (1) je componenten importeren, (2) teams toewijzen als eigenaar van je componenten, (3) scorecards configureren.

Stap 1: Importeer je componenten vanuit hun huidige locatie

Voor de meeste teams betekent dat dat je een SCM-tool (Source Code Management) moet koppelen, zoals Github of Bitbucket, of dat je repo's moet importeren die gekoppeld zijn aan je Jira-projecten. Je kunt ook componenten importeren uit een CSV-bestand of een combinatie van deze methoden om snel een uitgebreide catalogus samen te stellen van alles wat je ontwikkelaars bouwen en onderhouden.

Je kunt binnen enkele minuten aan de slag met Compass door je componenten te importeren vanuit hun huidige locatie. Voor de meeste teams betekent dat dat je een SCM-tool (Source Code Management) moet koppelen, zoals Github of Bitbucket, of dat je repo's moet importeren die gekoppeld zijn aan je Jira-projecten. Je kunt ook componenten importeren uit een CSV-bestand of een combinatie van deze methoden om snel een uitgebreide catalogus samen te stellen van alles wat je ontwikkelaars bouwen en onderhouden.

Stap 2: Wijs teams toe als eigenaar van je componenten

Over het algemeen moet aan elke component één team worden toegewezen dat primair verantwoordelijk is voor de werking ervan. Door aan elke component een eigenaarteam toe te voegen, wordt een cultuur van samenwerking versterkt, kunnen ontwikkelaars op de hoogte blijven van relevante informatie en kunnen ze elk onderdeel deskundig behandelen, zelfs als een persoon of lead niet beschikbaar is. Compass gebruikt Atlassian Directory voor teamdefinities, dus alle bestaande teams die je in Jira gebruikt, zijn al beschikbaar.

Met de componentencatalogus kunnen ontwikkelaars in je hele organisatie snel documentatie of recente CI/CD-activiteiten vinden die verband houden met een service of bibliotheek. Dit verhoogt de productiviteit van ontwikkelaars door minder tijd te besteden aan het zoeken naar informatie en de onderbrekingen hierdoor, doordat deze informatie nu op ieder moment voor iedereen beschikbaar is.

Wanneer een SCM is verbonden, detecteert Compass automatisch gebeurtenissen zoals implementaties en voegt deze samen in de activiteitsfeed. Op basis van de gebeurtenissen in je repo, berekent Compass automatisch verschillende belangrijke statistieken die klaar zijn voor gebruik, zoals de implementatiefrequentie en het succespercentage van de build. Je kunt DORA-statistieken instellen en zelfs aangepaste gegevens bijhouden, zoals het aantal openstaande beveiligingskwetsbaarheden voor een bepaalde component.

Overzichtspagina van componenten met componentgegevens, scorecards en statistieken

Stap 3: Configureer scorecards om normen toe te passen op je componenten

Nu je catalogus is gevuld en de statistieken binnenstromen, is het tijd om scorecards te gaan gebruiken. Scorecards worden gebruikt om normen op te stellen en deze toe te passen op componenten in je hele organisatie. Scorecards kunnen elk gewenst doel gebruiken voor statistieken van componenten en veldgegevens. Dit helpt je ervoor te zorgen dat je softwarecomponenten gezond zijn en dat teams de aanbevolen werkwijzen volgen. Compass wordt standaard geleverd met een aantal standaard scorecards die klaar zijn voor gebruik met statistieken die we je aanraden bij te houden, zoals componentgereedheid en DevOps-status. Je kunt je eigen aangepaste scorecards maken. Als je ziet welke scorecards niet werken voor je componenten, weet je welke technische schulden je moet aanpakken!

Overzichtspagina van de Compass-componenten waarop de scorecard servicegereedheid geopend is en waarop de foutscore wordt weergegeven

Laten we, om verder te gaan met het bovenstaande voorbeeld, de beveiliging aanpakken met een aangepaste scorecard die niet werkt als er meer dan één openstaande beveiligingskwetsbaarheid tegelijk is. Beveiligingskwetsbaarheden zijn een klassiek voorbeeld van technische schulden. Maak eerst een statistiek om beveiligingskwetsbaarheden op te sporen en configureer deze om je verschillende componenten uit de juiste bron te halen.

Ga vervolgens naar het tabblad Scorecards onder 'Status' in de navigatiebalk bovenaan. Klik op 'Scorecard aanmaken', vul de gegevens in en zorg ervoor dat je de statistiek over beveiligingskwetsbaarheden toevoegt die je zojuist hebt gemaakt als scorecardcriterium. Stel dat de scorecard niet werkt als er ooit op een bepaald moment meer dan één openstaande beveiligingskwetsbaarheid is. Dit is een goede keuze voor services van niveau 1 die cruciaal zijn voor de operationele status van je software. Stel de operator in op 'kleiner dan of gelijk aan' en stel de waarde in op één. Stel het gewicht in op 100% en klik op Aanmaken. Nu heb je een gecentraliseerde manier om beveiligingsgerelateerde risico's bij te houden en teams duidelijke acties te geven om de status van hun software te verbeteren.

In de praktijk configureer je meerdere scorecards om verschillende normen te meten om een uitgebreid beeld te krijgen van je technische schulden.

Compass linken aan Jira: identificeer technische schulden met een grote impact en geef prioriteit aan je backlog

Nu Compass is geconfigureerd, hebben we alles wat we nodig hebben om te beginnen met het identificeren en aanpakken van technische schulden. Zorg er eerst voor dat je Jira-project is aangemeld voor Compass-componenten door in de linkernavigatiebalk op 'Componenten' te klikken en het vervolgkeuzeveld rechtsboven aan te vinken. Als je je hebt aangemeld, moet er 'Compass-componenten' staan.

Ga vervolgens terug naar Compass en bekijk je scorecards. Identificeer gebieden waar scorecards risico lopen of al niet werken, en bepaal op basis van de prioriteiten van je team welk probleem als eerste moet worden opgelost. Je kunt een specifieke scorecard bekijken in de gebruikersinterface van 'Status' en zien hoe alle toepasselijke componenten het doen. Je kunt verder filteren op eigenaarteam om precies te begrijpen hoe je eigen componenten scoren en om vast te stellen welke technische schulden je aandacht vereisen.

Overzichtspagina van de Compass-componenten waarop de scorecard servicegereedheid geopend is en waarop de foutscore wordt weergegeven

Laten we eens kijken naar een ander voorbeeld met de ingebouwde scorecard van DevOps-status. Je bekijkt de componenten van je team en je merkt dat verschillende componenten niet voldoen aan het criterium van de implementatiefrequentie. De scorecard is zo gedefinieerd dat als er minder dan vijf implementaties per week zijn, je merkt dat sommige van je componenten maar één of twee implementaties per week hebben. Dit is een mogelijke issue dat onderzocht moet worden. Misschien is er een issue in het bouwproces of de implementatie-pipelines, of misschien worstelt je team met de technische moeilijkheidsgraad van zijn taak. Hoe dan ook, het is een technische schuld die zeker moet worden aangepakt.

Ga terug naar je backlog en kijk of er bestaande issues zijn die dit probleem van trage implementaties aanpakken. Zo niet, dan kun je rechtstreeks vanaf de scorecardpagina in Compass een nieuw issue aanmaken. Zorg ervoor dat in die issues de juiste Compass-componenten zijn getagd, zodat je georganiseerd kunt blijven en direct de impact van je backlog kunt volgen.

Jira-issueweergave waarin de Compass-component wordt getagd aan het componentveld

Van daaruit kun je die issues met een gerust hart opnemen in je volgende sprint of ze aan je Kanban-bord toevoegen. Je weet dat deze issues technische schulden met hoge prioriteit hebben, en je weet dat het werk dat je hebt gedaan invloed gaat hebben op de prestaties van je softwarearchitectuur. Nadat je team het issue heeft opgelost, kun je teruggaan naar je scorecards van DevOps-status en de geschiedenis bekijken van hoe je de implementatiefrequentie in de loop van de tijd hebt verbeterd. Dit is een geweldig beeld waarmee je leiderschap kunt tonen en dat je je team kunt laten zien terwijl je de waarde van je werk bespreekt.

Overzichtspagina van de Compass-componenten waarop de scorecard servicegereedheid geopend is en de slagingsstatus 100% is

Samenvatting: gebruik Compass om prioriteit te geven aan je Jira-backlog en je technische schulden te verminderen

Technische schulden zijn onvermijdelijk bij de levering van moderne software, maar effectieve teams weten hoe ze prioriteit moeten geven aan technische schulden met een grote impact om een hoge mate van betrouwbaarheid te behouden en tegelijkertijd innovatieve nieuwe functies met constante snelheid te leveren. Door je Jira-issues te koppelen aan een gecentraliseerde componentcatalogus in Compass krijgen teams inzicht in de impact op het werk en kunnen ze met slechts een paar stappen een effectieve afweging maken tussen technische schulden en de levering van functies:

  1. Stel snel je softwarecatalogus in Compass in door je SCM te koppelen, repo's te importeren uit Jira of ze te importeren uit een CSV-bestand
  2. Begin met ingebouwde scorecards en stel vervolgens je eigen scorecards samen met statistieken en andere gegevensbronnen om de softwareprestaties te vergelijken met de normen en praktijken van je organisatie en om technische schulden met hoge prioriteit te identificeren
  3. Maak Compass onderdeel van je wekelijkse routine je technische schuld te wijzigen van 'Backlog' in 'Gereed', waarbij je incidenten voorkomt en steeds nieuwe functies levert
Katie Silver
Katie Silver

Katie is een senior productbeheerder bij Compass. Ze werkt al meer dan 9 jaar bij Atlassian, waar ze zich eerst voornamelijk bezighield met bedrijfsanalyse- en commercesystemen en tegenwoordig ook met DevOps. Bij Compass helpt ze gebruikers om de kracht van hun catalogusgegevens optimaal te benutten. Daarnaast doet ze vrijwilligerswerk bij de opvang voor pasgeboren kittens van Austin Pets Alive en brengt ze tijd door met haar kat (Pepper Jack) en haar hond (Lilo). Katie heeft een bachelor in wiskunde en filmstudies behaald aan de Wesleyan University. 

Deel dit artikel