Som du uden tvivl er klar over, henviser softwarekonfigurationsstyring (SCM) inden for softwareudvikling til en proces til vedligeholdelse af computersystemer, servere og software i en ønsket, ensartet tilstand.
Det kaldes nogle gange softwareændringsstyring eller it-automatisering, og idéen er at have et system på plads til at spore og sammenligne ændringer, der foretages på tværs af et system gennem hele processen for softwareudvikling, samt identificere, hvem der foretog disse ændringer.
Formålet er at gøre projektstyringen lettere, minimere fejl, øge sporbarheden og forbedre den overordnede softwarekvalitet.
Fordelene ved en SCM-proces er:
- Opdateringer fra flere brugere: Ofte arbejder mange mennesker med softwareudvikling, hvilket betyder, at der hele tiden sker opdateringer og ændringer. SCM gør det muligt at spore al kode og alle konfigurationer, der er implementeret i produktionen (også kaldet en konfigurationsrevision), og introducerer samtidig sporbarhed ved at fastslå, hvilken bidragyder der foretog hver enkelt ændring.
- Produktivitet: SCM øger softwarens produktivitet, da det sikrer et minimum af fejl. Du kan for eksempel altid sikre, at dine test- og produktionsmiljøer stemmer overens.
- Kommunikation og samarbejde: Kommunikation mellem teammedlemmer er nem med SCM, hvilket gør det enkelt for de involverede interessenter at arbejde sammen om projektet og forbedre produktets kvalitet.
- Test på platforme og operativsystemer: Sørg for, at softwaren fungerer effektivt på tværs af flere platforme og operativsystemer.
- Tilpasning til ændringer: SCM gør det lettere at håndtere ændringer i tidsplaner, politikker og brugere.
- Omkostningsstyring: Ved at spore teammedlemmer og projektets arbejdsgang hjælper SCM med at kontrollere omkostningerne og øge effektiviteten.
I denne artikel gennemgår jeg de forskellige trin i en SCM-proces, hvem der skal involveres, og hvilke værktøjer der er tilgængelige for at hjælpe.
De 5 trin i en SCM-plan
Processen for softwarekonfigurationsstyring er en række trin, der er designet til at spore og administrere alle fejl, ressourcer, koder, dokumenter, hardware og budgetter gennem et projekt.
SCM er en tværfaglig proces, der involverer personer på alle niveauer, herunder DevOps-medarbejdere, udviklere, projektledere/-ejere, systemadministratorer og testere.
1. Planlægning og identifikation
Det første trin i processen er planlægning og identifikation. I dette trin er målet at planlægge udviklingen af softwareprojektet og identificere de elementer, der er omfattet. Dette opnås ved at holde møder og brainstormingssessioner med dit team for at fastlægge de grundlæggende kriterier for resten af projektet.
En del af denne proces består i at finde ud af, hvordan projektet skal forløbe, og identificere afslutningskriterierne. På den måde ved dit team, hvordan det skal genkende, hvornår alle projektets mål er nået.
Specifikke aktiviteter i dette trin omfatter:
- Identifikation af elementer som testtilfælde, specifikationskrav og kodemoduler
- Identifikation af hvert softwarekonfigurationselement i processen
- Gruppering af grundlæggende oplysninger om, hvorfor, hvornår og hvilke ændringer der skal foretages, samt hvem der er ansvarlig for at foretage dem
- Oprettelse af en liste over nødvendige ressourcer som værktøjer, filer, dokumenter osv.
2. Versionsstyring og grundlinje
Trinnet med versionsstyring og grundlinje sikrer produktets kontinuerlige integritet ved at identificere en accepteret version af softwaren. Denne grundlinje fastlægges på et bestemt tidspunkt i SCM-processen og kan kun ændres gennem en formel procedure.
Formålet med dette trin er at kontrollere de ændringer, der foretages i produktet. Efterhånden som projektet udvikler sig, etableres nye grundlinjer, hvilket resulterer i flere versioner af softwaren.
Dette trin omfatter følgende aktiviteter:
- Identifikation og klassificering af de komponenter, der er omfattet af projektet
- Udvikling af en måde at spore hierarkiet for forskellige versioner af softwaren på
- Identifikation af de væsentlige relationer mellem forskellige komponenter
- Etablering af forskellige grundlinjer for produktet, herunder udviklings-, funktions- og produktgrundlinjer
- Udvikling af en standardiseret mærkningsordning for alle produkter, revisioner og filer, så alle er på samme side.
Fastlæggelse af en grundlinje for en projektattribut tvinger formelle processer for styring af konfigurationsændringer til at blive iværksat, hvis disse attributter ændres.
Have an account? Log In
3. Ændringsstyring
Ændringsstyring er den metode, der bruges til at sikre, at alle ændringer, der foretages, er i overensstemmelse med resten af projektet. At have disse kontroller på plads hjælper med kvalitetssikring samt godkendelse og udgivelse af nye baseline(r). Ændringsstyring er afgørende for en vellykket gennemførelse af projektet.
I dette trin indsendes anmodninger om ændring af konfigurationer til teamet og godkendes eller afvises af konfigurationsstyringsansvarlig. De mest almindelige typer af anmodninger er at tilføje eller redigere forskellige konfigurationselementer eller ændre brugertilladelser.
Denne procedure omfatter:
- Kontrol af ad hoc-ændringer, som kunden anmoder om
- Vurdering af ændringsanmodningens berettigelse ved at undersøge den samlede indvirkning, den vil have på projektet
- Gennemførelse af godkendte ændringer eller forklaring af, hvorfor ændringsanmodninger blev afvist.
4. Konfigurationsstatusregnskab
Det næste trin er at sikre, at projektet udvikler sig i henhold til planen ved at teste og verificere i overensstemmelse med de på forhånd fastlagte baselines. Det indebærer at gennemgå versionsbemærkninger og relaterede dokumenter for at sikre, at softwaren opfylder alle funktionelle krav.
Konfigurationsstatusregnskabet følger hver version, der udgives under processen, og vurderer, hvad der er nyt i hver version, og hvorfor ændringerne var nødvendige. Nogle af aktiviteterne i dette trin omfatter:
- Registrering og evaluering af ændringer fra én baseline til den næste
- Overvågning af status for og løsning af alle ændringsanmodninger
- Vedligeholdelse af dokumentation for hver ændring, der er foretaget som følge af ændringsanmodninger, og for at nå en anden baseline
- Kontrol af tidligere versioner til analyse og test.
5. Revisioner og gennemgange
Det sidste trin er en teknisk gennemgang af alle faser i softwarens udviklingslivscyklus. Revisioner og gennemgange ser på processen, konfigurationerne, arbejdsgangen, ændringsanmodningerne og alt det, der er indgået i udviklingen af hver baseline under projektets udvikling.
Teamet gennemfører flere gennemgange af applikationen for at verificere dens integritet og udarbejder også vigtig ledsagende dokumentation såsom versionsbemærkninger, brugermanualer og installationsvejledninger.
Aktiviteterne i dette trin omfatter:
- At sikre, at målene, der blev fastlagt i planlægnings- og identifikationstrinnet, er nået
- At sikre, at softwaren overholder de identificerede standarder for konfigurationsstyring
- At sikre, at ændringer fra baselines stemmer overens med rapporterne
- At validere, at projektet er konsistent og komplet i henhold til projektets mål.
I modsætning til traditionelle filsystemer kan specialiseret software til databasestyring tilbyde avancerede funktioner som dataintegritet og sikkerhed, der er afgørende for effektiv konfigurationsstyring af software.
Hvem er involveret i softwarekonfigurationsprocessen?
SCM-processen er tværfaglig og involverer næsten alle medlemmer af softwareudviklingsteamet.
Konfigurationsstyringsansvarlig
Den konfigurationsstyringsansvarlige har ansvaret for at afgøre, hvem der er ansvarlig for hvad under hele udviklingsprocessen. Vedkommende sikrer, at alle følger SCM-processen på tværs af projektet, og har det sidste ord i alle ændringsanmodninger.
Projektleder
Projektlederens rolle er afgørende for SCM-processen. Projektlederen fastlægger projektets tidsramme for at sikre, at det overholder tidsfristerne for færdiggørelse, og udarbejder også rapporter om teamets fremskridt. En anden vigtig rolle for projektlederen er at sikre, at alle teammedlemmer følger de på forhånd fastlagte retningslinjer for oprettelse, ændring og test af softwaren.
Softwareudviklere
Udviklerne er ansvarlige for at skrive kode under udviklingen samt imødekomme alle godkendte ændringsanmodninger.
Revisor
Denne rolle har ansvaret for alle revisioner og gennemgange og skal sikre, at den endelige udgivelse er komplet og konsistent.
More Articles
Hvad er fordelene ved at bruge værktøjer til konfigurationsstyring?
Der findes en række værktøjer, der kan hjælpe med at lette processen for softwarekonfigurationsstyring. Formålet med disse værktøjer er at automatisere traditionelt manuelle opgaver, hvilket giver større nøjagtighed, hastighed og kontrol. Mere specifikt kan de hjælpe med:
- Advarsler og rapporter: Et godt SCM-værktøj giver advarsler og rapporter, hvis der er afvigelser fra den aftalte baseline. Disse data bliver videresendt næsten i realtid, så ledere hurtigt kan handle, hvis noget kommer ud af kurs.
- Sporing af ændringer: SCM-værktøjer sporer automatisk ændringer på servere eller i applikationer og gør det også muligt at indtaste sådanne data manuelt. Ændringsrevision kan også udføres ved at overvåge output fra scripts.
- Sammenligning af konfigurationer: De bedste værktøjer til softwarekonfigurationsstyring giver mulighed for at identificere forskelle mellem konfigurationer.
- Hurtigere fejlfinding: Fejl, fejltagelser og problemer identificeres hurtigt, så udviklere kan gribe ind, før problemet vokser.
- Sporing af aktiver: De fleste SCM-værktøjer har en funktion til at spore hardware- og softwareaktiver, så du ikke behøver at føre en manuel liste.
- Patchhåndtering: SCM-værktøjer kan hjælpe dig med at holde styr på alle detaljer i forbindelse med patchhåndtering, når du distribuerer opdateret software.
Er der nogen ulemper ved at bruge et værktøj til softwarekonfigurationsstyring?
Der er nogle ting, du bør overveje, før du tager et SCM-værktøj i brug, herunder:
- Ressourceforbrug: Du skal have ressourcerne til at understøtte processen fra start til slut
- Begrænset viden: Alle involverede skal have et indgående kendskab til de anvendte værktøjer til softwarehåndtering
- Ulempe for SMB'er: Omfanget af det, der kræves for at bruge disse værktøjer effektivt, kan være vanskeligt for en lille virksomhed at understøtte
- Hardwarespecifikationer: Der kræves hurtig hardware med høj ydeevne, for at processen kan køre problemfrit.
Afsluttende ord om softwarekonfigurationsstyring
Ovenfor har jeg præsenteret en generel oversigt over, hvad du skal vide for at etablere en proces til softwarekonfigurationsstyring, så du kan spore, kontrollere og administrere dine projekter.
SCM-værktøjer som Ansible eller TeamCity hjælper med at automatisere mange aspekter af SCM-processen og kan give et stort afkast af investeringen. Du kan se vores udvalg i artiklen de 10 bedste værktøjer til softwarekonfigurationsstyring.
Verdenen inden for softwarekonfigurationsstyring og QA udvikler sig hurtigt. Tilmeld dig The QA Lead-nyhedsbrevet for at få flere nyttige tips, tricks og værktøjer direkte i din indbakke.
Eller fortsæt med at lære ved at lytte til denne podcast: GENERATIONEN AF AUTONOM AUTOMATISERING OG HVORDAN DEN SER UD (MED BERTOLD KOLICS FRA MABL) eller ved at læse denne liste: 10 NYESTE SOFTWARETESTVÆRKTØJER, SOM QA'ER BRUGER



