Att importera krav till Azure DevOps

Vid uppstart av ett utvecklingsprojekt med hjälp av Azure DevOps som ett samarbetsverktyg för applikationsutveckling är import av krav det första steget. Vanliga källor för kraven är Word-, PDF- och Excel-dokument. Denna artikel beskriver ett scenario med krav och en metod för att importera dem till Azure DevOps.

Beslut innan import 

Vilken process som ska användas för projektet, Scrum och Agile är vanligast 
Hur kravdokumentationen mappas till de olika nivåerna/typerna för uppgifter (Work Items) i DevOps.  

Scrum används i detta exempel. Scrumprocessen har typerna Epic, Feature, PBI (Product Backlog Item) och Task i hierarkisk ordning, med Epic överst. Ett enkelt sätt är att se Epics och Features som platshållare för att beskriva krav från ett affärsperspektiv, dvs. den dokumentation du vanligtvis får från kunden. PBI:er och Uppgifter skapas för detaljerade beskrivningar av vilka specifika funktioner som ska utvecklas för att uppfylla kraven. 

Det finns ingen absolut modell eller sanning i hur informationen ska fördelas mellan nivåerna, men du behöver hitta ett bra sätt för ditt specifika projekt innan du importerar kraven. Att ställa upp en minimal PoC (Proof of Concept) som exempel med alla nivåer fyllda med workitems är ett bra sätt att testa och också diskutera med kunden hur det kommer att fungera. 

Scenario 

  • 100 numrerade krav med några rader text per krav. 
  • I dokumentationen är kraven organiserade i 
  • 3 huvudområden (MA) 
    • 4 underområden (SA) per MA, dvs 12 SA totalt cirka 6-10 krav (Req nn) per SA, vilket summerar till 100 krav 

 

 

Skärmbild

Import av krav 

Vald lösning för mappning av krav 

  • Mappa varje krav till en Feature, dvs. 100 Features. Under projektets gång är det enkelt att hitta kravet, se hur många PBI:er det resulterade i för att uppfylla kravet, och vad statusen är för PBI:erna. 
  • Välj Epic-mappning, antingen tre huvudområden eller 12 underområden. Här väljer vi de 12 underområdena och märker (taggar) var och en av dem med den överordnade huvudområdesnivån. 

Förberedelse för import 

Att importera i en hierarkisk struktur är en utmaning och det finns olika angreppssätt. Det är möjligt att ha både Epics och Features i samma fil, men DevOps kräver ett mer komplext utseende på filen och att allt importeras på en gång, annars kommer förälder/barn-relationen mellan Epics/Features ofta att misslyckas. 

Vi använder två olika filer för Epics och Features och inkluderar taggar för att hjälpa till att koppla strukturen efter import, mer flexibelt och enklare importera delmängder av kraven. 

  • Skapa två Excel-filer med kolumnerna Work Item Type, Title, Description, Area Path, Iteration Path och Tags. 
  • Epics i första filen, Title och Description direkt från kraven (underområde) och taggar som innehåller namnet på huvudområdet. 
  • Features i andra filen, Title och Description direkt från kraven, Tags som innehåller namnet på underområdet. 

Om du skapade en PoC, exportera Epics och Features via en fråga för att se ett csv-exempel. 

Utmaningen är att mappa kravtexterna till kolumnerna i csv-filen. Det finns utrymme för mycket kreativitet, men här är en metod. 

  • Om texten finns i en Word- eller PDF-fil, kopiera innehållet till en Excel-fil och filtrera ut Title/Description och huvud-/underområdena i motsvarande kolumner.
  • Lägg till de statiska kolumnerna Work Itiem Type, Area Path och Iteration Path, de är obligatoriska vid import. 
  • Omgärda Title-, Descriptions- och Tags-fälten med citattecken (") - det löser problem om fälten innehåller kommatecken. 
  • Spara som en xls-fil - den kommer att vara din originalfil om du behöver göra ändringar. 
  • Spara filen som csv utf-8. Om du får en semikolonseparerad fil när du sparar från Excel, öppna filen i Anteckningar och ersätt semikolon med kommatecken. 

Om transformationen är komplicerad är Power Query Editor i Excel ett riktigt bra verktyg för att steg för steg transformera en inmatningsfil från källa till DevOps importformat. Ersättning av semikolon/kommatecken måste fortfarande göras med Anteckningar, och kanske även ersättningar till citattecken ("). 
 
När allt är klart kommer du att ha något liknande dessa två exempel. 
Epics csv-fil:

Skärmavbild 2023-04-20 kl. 11.53.28.png

Features csv-fil: 

Skärmavbild 2023-04-20 kl. 11.53.06.png

Import 

Nu är det dags att importera allt till DevOps. Importfunktionen finns under Board, Queries, formatet är CSV. Notera att semikolonseparerade filer inte stöds, separatorn måste vara ett kommatecken (,) 

Använd "Import Work Items" i Queries-menyn, välj en fil för import (Epics som exempel här) och tryck på Import. Alla rader visas, till höger har du en förhandsvisning. Inget sparas ännu. Använd "Save"-knappen i förhandsvisningen till höger för att spara en vald Epic, eller använd "Save items" längst upp till vänster för att spara alla Epics. Det är verkligen användbart att ha en förhandsvisning innan import av alla, du kan alltid avbryta importen och justera filen vid behov. 
 
2 import.png
 
Om det finns rader i röd färg har de någon sorts problem som måste lösas. Om det bara är några få problem, fixa det manuellt för varje Epic eller Feature, eller välj flera rader och använd Redigera-funktionen i trepunktsmenyn. Spara inte alla items om du har rader som misslyckats - det är komplicerat att hålla reda på vad som är importerat eller inte om du måste ladda om importen från filen. 

Steg efter import 

När alla Epics och Features är importerade behöver de kopplas ihop i en förälder/barn-relation. 

  • Gå till Boards/Backlog-vyn och välj Features för att visa alla importerade Features. 
  • Välj "View options"-ikonen längst upp till höger och sedan Mapping. Epics kommer att visas till höger. 
  • Inkludera Tags med kolumnalternativ och använd filter Tags för att välja Features med en specifik Epic. 
  • Välj de filtrerade funktionerna och dra och släpp dem på Epics, använd vanliga Ctrl- och Shift-funktioner vid val, Ctrl-A fungerar. Upprepa för alla Epics. 

Resultatet kommer att se ut så här. Allt är nu klart för att skapa PBI/Tasks och börja utveckla. 

3 post import.png

Sammanfattning 

Att mappa krav från olika källor till DevOps importfiler kräver en del arbete, men att ha alla krav i DevOps är en stor fördel i ett utvecklingsprojekt. Det är väl använd tid att planera en väl fungerande struktur och importera alla krav som en engångsåtgärd när man startar ett större projekt. 

Krister Ranta

Krister Ranta is a successful IT project manager who takes an agile and collaborative approach to deliver complex projects on time and within budget. He is passionate about using technology to drive business value and enjoys sailing, skiing and badminton in his free time.