Innenfor programvareutvikling refererer forebyggende vedlikehold til en prosess der man ser fremover for å sikre at programvaren eller systemet fortsetter å fungere optimalt over tid. Det handler om å ta proaktive grep.
Det er mulig at du har investert i et avansert og kostbart system for å håndtere dine daglige gjøremål. Alternativt kan du ha et internt utviklingsteam som bygger et skreddersydd system. Uansett utgangspunkt, er det viktig å huske at kostnadene ikke stopper ved selve anskaffelsen.
For at programvaren skal operere problemfritt over tid, er det nødvendig med kontinuerlig investering i vedlikehold. Vedlikehold kan grovt deles inn i fire kategorier: adaptivt, korrigerende, perfektivt og forebyggende. Selv om alle disse typene er verdifulle, vil vi i dag fokusere spesielt på det forebyggende vedlikeholdet.
I dagens kontekst innebærer forebyggende vedlikehold bruk av operasjonell dataanalyse, maskinlæring og prediktiv tilstandsovervåking. Dette bidrar til å optimalisere vedlikeholdsrutiner og redusere risiko knyttet til pålitelighet i både forretningsdrift og tekniske anlegg.
Hvorfor er forebyggende vedlikehold viktig?
Hovedmålet med forebyggende vedlikehold av programvare er å forbedre ytelsen og utbedre eventuelle feil. Det er en naturlig del av programvareutviklingsprosessen. For å gi kunder best mulig opplevelse og forbedre plattformens effektivitet, er det nødvendig for et selskap å holde seg oppdatert på skiftende trender innenfor programvare.
Før et system er fullstendig vedlikeholdt, går det gjennom en rekke definerte faser:
#1. Problemidentifikasjonsfasen
I denne fasen blir alle forespørsler om endringer identifisert og tildelt et unikt nummer. Deretter blir hver endringsforespørsel vurdert for å avgjøre hvilken type vedlikehold som er mest hensiktsmessig. Dette er essensielt siden det finnes ulike typer vedlikeholdsforespørsler, og hver modifikasjon må lagres i databasen med tanke på type og prioritet. Hvis forebyggende vedlikehold blir ansett som den beste løsningen, går prosessen videre til neste trinn.
#2. Problemanalysefase
Her blir omfanget og gjennomførbarheten av hver validerte endringsforespørsel analysert. Det utarbeides en detaljert plan, og den første estimeringen av ressurser, databasedetaljer og prosjektdokumentasjon gjøres. En mulighetsstudie utarbeides i denne fasen og inneholder:
- Forventede konsekvenser av endringene
- Organisasjonens kortsiktige og langsiktige mål
- Alternative løsninger
- Sikkerhetsmessige konsekvenser av vedlikeholdet
#3. Designfase
Når det er bestemt at endringer skal utføres, planlegges hvordan det forebyggende vedlikeholdet skal gjennomføres. I denne fasen skjer følgende:
- Identifikasjon av de berørte programvaremodulene.
- Oppdatering av dokumentasjonen for de identifiserte modulene, som inkluderer vurdering av designspråk og dataflytdiagrammer.
- Utvikling av testcases for det nye designet.
- Dokumentasjon av de oppdaterte kravene.
#4. Implementeringsfase
I denne fasen blir selve kodeendringene gjort. Følgende steg blir fulgt:
- Koding og enhetstesting.
- Integrasjon. Den endrede koden integreres med det eksisterende systemet.
- Risikoanalyse og gjennomgang. Det er viktig å ikke vente til testfasen med å vurdere risiko knyttet til vedlikeholdet. Potensielle risikoer inkluderer sikkerhetskopiering og datafeil.
#5. Testfase
Denne fasen sikrer at det ikke introduseres nye feil i det eksisterende systemet. Inndata inkluderer oppdatert programvaredokumentasjon, det modifiserte systemet og en testforberedelsesrapport. Den modifiserte programvaren testes grundig gjennom systemfunksjonstesting, regresjonstesting og grensesnitttesting.
#6. Aksepttestfase
Når den modifiserte programvaremodulen er testet, evalueres om det fullt integrerte systemet fungerer som forventet. Målet er å oppdage feil og verifisere om endringene er utført i henhold til de akseptable standardene. Følgende elementer kontrolleres: det fullt integrerte systemet, akseptprosedyrer, aksepttestplaner og aksepttestsaker. En FCA-rapport og aksepttestrapport genereres i slutten av denne fasen.
#7. Leveringsfasen
Den modifiserte programvaren presenteres for sluttbrukerne i denne fasen. Brukerne får også nødvendig dokumentasjon som forklarer hvordan programvaren fungerer. Vanlige trinn i denne fasen er:
- Fysisk konfigurasjonsrevisjon (PCA).
- Informere brukerne om de nye endringene.
- Installere og informere brukere om det oppdaterte systemet.
- Sørge for en tilbakemeldingsordning for systemet.
Typer forebyggende vedlikehold
#1. Bruksbasert
Bruksbasert forebyggende vedlikehold utføres basert på hvor mye et system er brukt. Denne tilnærmingen tar høyde for den daglige bruken av et system og bruker dette til å estimere en dato for vedlikehold eller inspeksjon.
#2. Tidsbasert
Tidsbasert vedlikehold utføres etter et bestemt tidsintervall, som kan være ukentlig, annenhver uke, månedlig, kvartalsvis, halvårlig eller årlig. Vedlikeholdet utløses automatisk når forfallsdatoen nærmer seg, og alle nødvendige arbeidsordrer blir generert.
#3. Forutsigbart
Forutsigbart vedlikehold planlegger korrigerende tiltak før et problem oppstår. Teamet evaluerer systemets tilstand for å estimere når vedlikehold bør utføres, for å unngå uventede systemfeil.
#4. Foreskrivende
Foreskrivende vedlikehold går et skritt videre ved å identifisere når en feil vil oppstå, og hva årsaken er. Denne tilnærmingen analyserer ulike alternativer og potensielle utfall for å redusere risiko.
Når er forebyggende vedlikehold nødvendig?
For å fikse feil og mangler
Programvaresystemer kan inneholde feil som ikke umiddelbart påvirker driften, men som kan forårsake problemer når nye funksjoner introduseres. Forebyggende vedlikehold er viktig for å fikse disse feilene og forebygge fremtidige problemer.
Skape stabil drift
Systemer kan feile uventet, og det kan føre til driftstans, frustrasjon og tap av inntekter. Forebyggende vedlikehold reduserer slike avbrudd og sikrer at selskapet fungerer som forventet.
Løse driftsproblemer før de oppstår
Enkle vedlikeholdsrutiner kan redusere problemer knyttet til produksjonslinjen. Hvis det for eksempel er ventet trafikkøkning i en bestemt periode, kan man gjøre de nødvendige endringene for å sikre at serverne ikke blir overbelastet.
Sikre overholdelse av garantier
Hvis et system er under garanti, kan leverandøren kreve bevis for at feil ikke skyldes uaktsomhet. Forebyggende vedlikehold er derfor viktig for å dokumentere at man har tatt nødvendige forholdsregler.
Eksempler på forebyggende vedlikehold
Rekonstruering av kode
Forebyggende vedlikehold kan innebære endring av kodens struktur ved å redusere kildekoden. Dette kan gjøre koden mer lesbar eller kompatibel med ny maskinvare eller programvare.
Optimalisering av kode
Et system kan fungere, men likevel ikke være optimalisert. Kodeoptimalisering sørger for at programmet bruker færre ressurser, som CPU og minne. Dette er relevant når man introduserer ny maskinvare eller forsøker å redusere driftskostnader.
Oppdatering av dokumentasjon
Dokumentasjon er essensiell da den forklarer hvordan programmet fungerer og hvilke endringer som er gjort over tid. Oppdatert dokumentasjon sikrer at den samsvarer med systemets nåværende tilstand.
Verktøy for forebyggende vedlikehold
Programvarevedlikehold, uavhengig av type, skal ikke gjøres tilfeldig. Følgende verktøy er essensielle:
- Filsammenligning: Dette verktøyet sammenligner to systemer eller filer og identifiserer forskjeller. Det kan også avgjøre om de er identiske.
- Kompilator og linker: Kompilatorer sjekker for syntaksfeil, og kan i noen tilfeller identifisere kilden til feilene. Linkere brukes for å koble den kompilerte koden til andre komponenter.
- Debugger: En debugger sporer programmets logikk. Mange nettlesere, som Google Chrome, har et innebygd debuggingsverktøy.
- Kryssreferansegenerator: Endringer i koden må harmonisere med det eksisterende systemet. Dette verktøyet identifiserer hvordan ulike kodekomponenter og design vil påvirkes av endringer i kravene.
Læringsressurser
#1. Komplett veiledning for forebyggende og prediktivt vedlikehold
Denne boken deler beste praksis, kritiske trinn for suksess, feil og suksesser innenfor forebyggende vedlikehold basert på forfatterens erfaring. Boken fokuserer på fire aspekter: psykologisk, teknisk, ledelse og økonomi.
#2. Vedlikeholdsstrategi-serien bind 1 – Forebyggende vedlikehold
Boken undersøker viktigheten av forebyggende vedlikehold for en virksomhets generelle vedlikeholdsstrategi. Den inneholder et illustrativt flytskjema som beskriver trinnene man må følge ved forebyggende vedlikehold.
#3. Ingeniørveiledning for forebyggende vedlikehold
Denne boken veileder i dokumentasjon av feilmoduser og effektanalyse ved utførelse av forebyggende vedlikehold. Du vil lære å dokumentere feilkoder, system- eller eiendelshierarkier, evaluere risikoer og analysere feilmoduser.
#4. Grunnleggende om forebyggende vedlikehold
Denne boken tilbyr økonomisk fornuftige og enkle trinn for forebyggende vedlikehold. Den beskriver årsaker til feil, hvordan man identifiserer og korrigerer feil, samt vedlikeholdsprosessen.
Konklusjon
Det er tydelig at forebyggende vedlikehold er avgjørende for å unngå systemfeil og sikre kontinuitet i driften. Kostnadene ved forebyggende vedlikehold varierer avhengig av hvilke endringer som utføres. En god vedlikeholdsplan sikrer en smidig prosess.
Det er også verdt å utforske de beste verktøyene for testing av programvare.