Vi måste alla kunna lita på att den programvara som ingår i säkerhetskritiska system är tillräckligt säker, eller omvänt, att risken för att systemen fallerar och orsakar fara är acceptabelt låg. Detta ställer speciella krav på de företag som utvecklar och underhåller programvaran.
Kraven för säkerhetskritiska system fastställs i olika standarder, som t ex IEC 61508, ISO 26262, EN5012x, DO-178B, och IEC 60880. Ett mål vid utveckling av säkerhetskritiska system är därför att säkerställa att en sådan standard uppfylls. Detta innebär bland annat att utvecklingsprocessen behöver analyseras och anpassas.
Arbetet med detta påminner mycket om processförbättringsarbete baserat på etablerade modeller som CMMI och SPICE. Processkraven i dessa standarder överlappar till stor del med kraven i säkerhetsstandarderna.
Det är därför ofta motiverat att kombinera arbetet med att uppfylla säkerhetsstandarder med förbättringsarbete baserat på etablerade modeller som CMMI och SPICE.
Vikten av att vara med från början
Att introducera standarder för säkerhetskritiska system är komplicerat. Standarderna är oftast omfattande och svåra att förstå och applicera. Det är nödvändigt att överbrygga vitt skilda områden som mekanik, hård- och mjukvara. Vi talar här om relationen mellan mekanisk säkerhet och funktionell säkerhet. Vidare behöver existerande utvecklingsmetoder som t ex agil metodik, anpassas för att uppfylla kraven i säkerhetsstandarderna (som ofta är beskrivna i ett vattenfallsflöde).
Det är därför viktigt att få med säkerhetsperspektivet från början i projekten såväl som i organisationen. Organisatoriskt behövs i regel särskilda roller med ansvar för säkerheten. Det kan vara svårt att bedöma dessa rollers mandat och hur insatta de som innehar rollerna behöver vara i tekniken som utvecklas. Det är nödvändigt att definiera väl balanserade besluts- och kommunikationsvägar mellan dessa säkerhetsinriktade roller och utvecklingsprojekten. Samma sak gäller i relationen med beställare, leverantörer och underleverantörer.

Standarder spelar en avgörande roll vid utveckling av säkerhetskritiska system. IEC 61508 är en central standard som anpassats för tillämpning i en rad olika områden. Nedan är en översikt av områden den anpassats till:
- Bilindustri ISO 26262
- Kärnkraft IEC 61513, 60880, 62138
- Maskin IEC 620061
- Medicin IEC 62304, 60601Process IEC 61511
- Tåg EN 50126, 50128, 50129, IEC 62278
- Flyg RTCA DO-178C
Våra Tjänster
Addalot har en unik kombination av lång erfarenhet inom processförbättring – som t ex CMMI, SPICE och agil utveckling – och gedigen förståelse för säkerhetsstandarder. Vi erbjuder följande kvalificerade tjänster inom området programvarusäkerhet:
- Anpassning av programvaruprocesserna så att de uppfyller aktuell säkerhetsstandard. Vi hjälper till med både framtagning och införande av processerna.
- Utvärdering av underleverantörers förmåga att leverera säkerhetskritisk programvara. Utvärderingen görs i förhållande till en given säkerhetsstandard, ofta kombinerad med relevanta delar av CMMI eller SPICE.
- Kvalificering och verifiering av säkerhetskritiska produkter, komponenter och verktyg (inkluderar både process- och produktutvärdering).
- Olika typer av säkerhetsrelaterade projektuppgifter och roller:
- Kravspecifikation, designgranskning, kodanalys, riskanalys, FMECA
- Safety Manager, Quality Assurance, Quality Engineer
- Utbildningen Introduktion till Funktionell Säkerhet – fokus på programvara