Prosessen for programvarekonfigurasjonsstyring: 5 trinn

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

Som du sikkert er klar over, viser programvarekonfigurasjonsstyring (SCM) innen programvareutvikling til en prosess for å opprettholde datamaskinsystemer, servere og programvare i en ønsket, konsistent tilstand.  Noen ganger kalt endringsstyring av programvare eller IT-automatisering, går ideen ut på å ha et system på plass for å spore og sammenligne endringer som er gjort på tvers […]

Som du sikkert er klar over, viser programvarekonfigurasjonsstyring (SCM) innen programvareutvikling til en prosess for å opprettholde datamaskinsystemer, servere og programvare i en ønsket, konsistent tilstand. 

Noen ganger kalt endringsstyring av programvare eller IT-automatisering, går ideen ut på å ha et system på plass for å spore og sammenligne endringer som er gjort på tvers av et system gjennom hele prosessen for programvareutvikling, samt identifisere hvem som gjorde disse endringene.

Formålet er å gjøre prosjektstyringen enklere, minimere feil, øke sporbarheten og forbedre den generelle programvarekvaliteten. 

Fordelene med en SCM-prosess er:

  • Oppdateringer fra flere brukere: Det er ofte mange som arbeider med programvareutvikling, noe som betyr konstante oppdateringer og endringer. SCM gjør det mulig å spore all kode og alle konfigurasjoner som er distribuert til produksjon (også kalt en konfigurasjonsrevisjon), og gir dessuten sporbarhet ved å fastslå hvilken bidragsyter som har gjort hver enkelt endring.
  • Produktivitet: SCM øker programvarens produktivitet fordi det sikrer færre feil. Du kan for eksempel alltid sørge for at test- og produksjonsmiljøene samsvarer.
  • Kommunikasjon og samarbeid: Kommunikasjonen mellom teammedlemmene blir enklere med SCM, noe som gjør det lett for interessentene i prosjektet å samarbeide og forbedre produktets kvalitet. 
  • Testing på plattformer og operativsystemer: Sørg for at programvaren fungerer effektivt på tvers av flere plattformer og operativsystemer. 
  • Tilpasning til endringer: SCM gjør det enklere å tilpasse seg endringer i tidsplaner, retningslinjer og brukere.
  • Kostnadskontroll: Ved å spore teammedlemmer og prosjektflyt bidrar SCM til å kontrollere kostnadene og øke effektiviteten.

I denne artikkelen går jeg gjennom de ulike trinnene i en SCM-prosess, hvem som må involveres, og hvilke verktøy som er tilgjengelige for å hjelpe til.

De 5 trinnene i en SCM-plan

Prosessen for programvarekonfigurasjonsstyring består av en rekke trinn som er utformet for å spore og administrere alle feil, ressurser, koder, dokumenter, maskinvare og budsjetter gjennom et prosjekt.

SCM er en tverrfaglig prosess som involverer personer på alle nivåer, inkludert DevOps, utviklere, prosjektledere/-eiere, systemadministratorer og testere. 

1. Planlegging og identifisering

Det første trinnet i prosessen er planlegging og identifisering. I dette trinnet er målet å planlegge utviklingen av programvareprosjektet og identifisere elementene som omfattes. Dette gjøres ved å ha møter og idédugnader med teamet for å finne frem til de grunnleggende kriteriene for resten av prosjektet. 

En del av denne prosessen innebærer å finne ut hvordan prosjektet skal gjennomføres og identifisere avslutningskriteriene. På denne måten vil teamet vite hvordan det skal avgjøre når alle prosjektets mål er nådd. 

Spesifikke aktiviteter i dette trinnet omfatter:

  • Identifisere elementer som testtilfeller, spesifikasjonskrav og kodemoduler
  • Identifisere hvert enkelt konfigurasjonselement for dataprogramvaren i prosessen
  • Gruppere grunnleggende detaljer om hvorfor, når og hvilke endringer som skal gjøres, og hvem som skal ha ansvaret for å gjøre dem
  • Opprette en liste over nødvendige ressurser, som verktøy, filer, dokumenter og så videre

2. Versjonskontroll og grunnlinje

Trinnet for versjonskontroll og grunnlinje sikrer produktets kontinuerlige integritet ved å identifisere en godkjent versjon av programvaren. Denne grunnlinjen fastsettes på et bestemt tidspunkt i SCM-prosessen og kan bare endres gjennom en formell prosedyre. 

Hensikten med dette trinnet er å kontrollere endringene som gjøres i produktet. Etter hvert som prosjektet utvikler seg, etableres nye grunnlinjer, noe som resulterer i flere versjoner av programvaren.  

Dette trinnet omfatter følgende aktiviteter:

  • Identifisere og klassifisere komponentene som omfattes av prosjektet
  • Utvikle en måte å spore hierarkiet til de ulike versjonene av programvaren på
  • Identifisere de grunnleggende relasjonene mellom ulike komponenter
  • Etablere ulike grunnlinjer for produktet, inkludert utviklings-, funksjons- og produktgrunnlinjer
  • Utvikle en standardisert merkemetode for alle produkter, revisjoner og filer, slik at alle har samme utgangspunkt.

Å etablere en grunnlinje for et prosjekts attributt tvinger frem formelle prosesser for konfigurasjonsendringskontroll dersom disse attributtene endres. 

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

3. Endringskontroll

Endringskontroll er metoden som brukes for å sikre at alle endringer som gjøres, er i samsvar med resten av prosjektet. Å ha disse kontrollene på plass bidrar til kvalitetssikring samt godkjenning og lansering av nye grunnlinjer. Endringskontroll er avgjørende for at prosjektet skal fullføres vellykket. 

I dette trinnet sendes forespørsler om å endre konfigurasjoner til teamet, og de godkjennes eller avslås av programvarekonfigurasjonsansvarlig. De vanligste typene forespørsler gjelder å legge til eller redigere ulike konfigurasjonselementer eller endre brukertillatelser.

Denne prosedyren omfatter:

  • Kontroll av ad hoc-endringer som kunden ber om
  • Vurdering av om endringsforespørselen er berettiget ved å undersøke den samlede innvirkningen den vil ha på prosjektet
  • Gjennomføring av godkjente endringer eller forklaring på hvorfor endringsforespørsler ble avslått.

4. Konfigurasjonsstatusregnskap

Neste trinn er å sikre at prosjektet utvikles i henhold til planen ved å teste og verifisere det mot de forhåndsdefinerte grunnlinjene. Dette innebærer å se på versjonsmerknader og relaterte dokumenter for å sikre at programvaren oppfyller alle funksjonelle krav. 

Konfigurasjonsstatusregnskap sporer hver versjon som lanseres under prosessen, og vurderer hva som er nytt i hver versjon og hvorfor endringene var nødvendige. Noen av aktivitetene i dette trinnet omfatter:

  • Registrering og evaluering av endringer som er gjort fra én grunnlinje til den neste
  • Overvåking av statusen og løsningen på alle endringsforespørsler
  • Vedlikehold av dokumentasjon for hver endring som er gjort som følge av endringsforespørsler, og for å  nå en annen grunnlinje
  • Kontroll av tidligere versjoner for analyse og testing.

5. Revisjoner og gjennomganger

Det siste trinnet er en teknisk gjennomgang av hvert trinn i programvareutviklingens livssyklus. Revisjoner og gjennomganger ser på prosessen, konfigurasjonene, arbeidsflyten, endringsforespørslene og alt som har inngått i utviklingen av hver grunnlinje gjennom hele prosjektets utvikling. 

Teamet gjennomfører flere gjennomganger av applikasjonen for å verifisere integriteten og utarbeider også viktig tilhørende dokumentasjon, for eksempel versjonsmerknader, brukerhåndbøker og installasjonsveiledninger.

Aktivitetene i dette trinnet omfatter:

  • Å sørge for at målene som ble fastsatt i trinnet for planlegging og identifisering, er nådd
  • Å sikre at programvaren samsvarer med de identifiserte standardene for konfigurasjonskontroll
  • Å sørge for at endringer fra grunnlinjene samsvarer med rapportene
  • Å validere at prosjektet er konsistent og komplett i henhold til prosjektets mål.

I motsetning til tradisjonelle filsystemer kan spesialisert programvare for databaseadministrasjon tilby avanserte funksjoner som dataintegritet og sikkerhet, noe som er avgjørende for effektiv programvarekonfigurasjonsstyring.

Hvem er involvert i programvarekonfigurasjonsprosessen?

SCM-prosessen er tverrfaglig og involverer så godt som alle medlemmer av programvareutviklingsteamet.

Konfigurasjonsansvarlig

Konfigurasjonsansvarlig har ansvaret for å avgjøre hvem som er ansvarlig for hva gjennom hele utviklingsprosessen. Vedkommende sørger for at alle følger SCM-prosessen i hele prosjektet, og har siste ord i alle endringsforespørsler. 

Prosjektleder

Prosjektlederens rolle er avgjørende for SCM-prosessen. Prosjektlederen fastsetter prosjektets tidsramme for å sikre at det overholder fristene for ferdigstillelse, og utarbeider også rapporter om teamets fremdrift. En annen viktig oppgave for prosjektlederen er å sikre at hvert teammedlem følger de forhåndsdefinerte retningslinjene for å opprette, gjøre endringer i og teste programvaren.

Programvareutviklere

Utviklerne har ansvaret for å skrive kode under utviklingen og håndtere alle godkjente endringsforespørsler. 

Revisor

Denne rollen har ansvaret for alle revisjoner og gjennomganger, og må sørge for at den endelige lanseringen er komplett og konsistent.

More Articles

Hva er fordelene ved å bruke verktøy for konfigurasjonsstyring?

Det finnes en rekke verktøy som kan bidra til å legge til rette for prosessen med konfigurasjonsstyring av programvare. Formålet med disse verktøyene er å automatisere tradisjonelt manuelle oppgaver, noe som gir større nøyaktighet, hastighet og kontroll. Mer spesifikt kan de bidra med:

  • Varsler og rapporter: Et godt SCM-verktøy vil gi varsler og rapporter hvis det oppstår avvik fra det avtalte referansegrunnlaget. Disse dataene vil bli sendt gjennom systemet nesten i sanntid, slik at ledere kan handle raskt hvis noe kommer ut av kurs. 
  • Sporing av endringer: SCM-verktøy sporer automatisk endringer på servere eller i applikasjoner, og gjør det også mulig å registrere slike data manuelt. Endringsrevisjon kan også utføres ved å overvåke resultatene fra skript. 
  • Sammenligning av konfigurasjoner: De beste verktøyene for konfigurasjonsstyring av programvare gjør det mulig å identifisere forskjeller mellom konfigurasjoner.
  • Raskere feilsøking: Feil, feiltrinn og problemer identifiseres raskt, slik at utviklere kan iverksette tiltak før problemet vokser. 
  • Sporing av beholdning: De fleste SCM-verktøy har en funksjon for å spore maskinvare- og programvareressurser, slik at du slipper å føre en manuell liste. 
  • Håndtering av oppdateringer: SCM-verktøy kan hjelpe deg med å spore alle detaljer knyttet til håndtering av oppdateringer når du distribuerer oppdatert programvare. 

Finnes det noen ulemper ved å bruke et verktøy for konfigurasjonsstyring av programvare?

Det er noen ting du bør vurdere før du tar i bruk et SCM-verktøy, blant annet:

  • Ressursbelastning: Du må ha ressursene som kreves for å støtte prosessen fra begynnelse til slutt 
  • Kunnskapsbegrensninger: Alle som er involvert, må ha inngående kunnskap om programvareadministrasjonsverktøyene som brukes
  • Ulempe for SMB-er: Omfanget av det som kreves for å bruke disse verktøyene effektivt, kan være vanskelig for en liten bedrift å håndtere
  • Maskinvarespesifikasjoner: Rask maskinvare med omfattende konfigurasjon er nødvendig for at prosessen skal kjøre problemfritt.

Avsluttende ord om konfigurasjonsstyring av programvare

Ovenfor presenterte jeg en generell oversikt over det du trenger å vite for å sette opp en prosess for konfigurasjonsstyring av programvare, slik at du kan spore, kontrollere og administrere prosjektene dine. 

SCM-verktøy, som Ansible eller TeamCity, bidrar til å automatisere mange aspekter av SCM-prosessen og kan gi god avkastning på investeringen. Du finner vårt utvalg av disse i artikkelen de 10 beste verktøyene for konfigurasjonsstyring av programvare.
Verdenen innen konfigurasjonsstyring av programvare og kvalitetssikring utvikler seg raskt. Meld deg på nyhetsbrevet fra The QA Lead for å få flere nyttige tips, triks og verktøy rett i innboksen.

Eller fortsett å lære ved å lytte til denne podkasten: GENERERINGEN AV AUTONOM AUTONOM AUTOMATISERING OG HVORDAN DEN SER UT (MED BERTOLD KOLICS FRA MABL) eller ved å lese denne listen: DE 10 NYESTE VERKTØYENE FOR PROGRAMVARETESTING SOM QA-ANSVARLIGE BRUKER

You may also like