I den föregående artikeln berättade vi om hur vi utformade DevOps-resan för en global OEM-kund, där vi kartlade deras nuvarande läge inom IT-utveckling och drift samt omdefinierade deras transformationsparadigm. I det här blogginlägget kommer vi att diskutera ett DevOps-paradigm inom hälso- och sjukvårdsapplikationer.
DevOps levererar snabba IT-tjänster genom en kombination av automatisering och Agile-processer, vilket bidrar till att optimera prestanda och förbättra samarbetet mellan mjukvaruutvecklingsteam. Detta för samman dem för att leverera snabbare resultat med tillförlitlighet och kvalitet. Att införa detta tillvägagångssätt i en hälso- och sjukvårdsmiljö, till exempel vid utveckling av mjukvara för medicintekniska produkter, är dock inte lika enkelt på grund av strikta krav på regelefterlevnad.
DevOps är dock en katalysator för framgångsrik applikationsutveckling, kontinuerlig integration och driftsättning. Det kräver strikta granskningar och godkännanden före lansering utan att kompromissa med hälso- och sjukvårdsbranschens regler och föreskrifter. Vår strategi för att implementera DevOps omfattar därför:
Vi förstår att utveckling av applikationer för medicintekniska produkter är en komplex och starkt reglerad process som kräver efterlevnad av strikta standarder och föreskrifter för att säkerställa patientsäkerheten. En av de mest avgörande standarderna inom den medicintekniska branschen är International Electrotechnical Commission (IEC) 62304. Standarden beskriver kraven för utveckling, underhåll och livscykelhantering av programvara som används i medicintekniska produkter. Att förstå, tillämpa och följa IEC 62304 är avgörande för utvecklare av medicintekniska produkter för att säkerställa att deras produkter uppfyller de högsta säkerhets- och prestandastandarderna. Därför är användningen av en modern utvecklingsmetod inom hälso- och sjukvårdsbranschen komplex och sällsynt, eftersom den kräver en strikt efterlevnad av processerna.
Vi har utvecklat ett omfattande och robust ramverk för riskhantering för att följa principerna i IEC 62304 genom noggrann planering, dokumentation av krav, testning och verifiering samt spårbarhet – för att säkerställa efterlevnad av alla relevanta regleringsstandarder. Detta ramverk säkerställer att alla dess principer följs och att ”bevisdokumentation” genereras för framtida revisionsändamål. Vårt ramverk för riskhantering för DevOps-metoder ger utvecklare möjligheter samtidigt som programkod levereras till produktion på ett säkert och tillförlitligt sätt. Detta omfattar alla komponenter i standardernas programutvecklingsprocess, enligt nedan:
Att säkerställa kvalitet och säkerhet är av avgörande betydelse under kodningen. Vi strävar efter att upptäcka fel i ett tidigt skede som kan hindra vår kod i ett senare skede, genom att utnyttja konceptet ”build breakers” i byggfasen. Detta innebär att så snart en utvecklare startar en byggprocess utförs enhetstestningen, och tröskelvärdena för enhetstest och kodtäckning är konfigurerade så att byggprocessen kan fortsätta. Dessutom genomförs en kvalitetsgranskning av koden med SonarQube samt en granskning av open source-beroenden med verktyget Dependency-check. Om något av de definierade tröskelvärdena inte uppfylls kommer byggprocessen att ”misslyckas” och skickas tillbaka till utvecklaren för vidare analys och åtgärd.
Förutom rutinerna för kontinuerlig integration och driftsättning har vi också observerat att skapandet av projektteam, repositorier och grenar medför betydande operativa utmaningar där manuella fel smyger sig in. Detta har lett till utvecklingen av en Azure-pipeline som automatiserar skapandet av projekt, repositorier, tavlor och till och med standardiserade YAML-pipelines för projektteam, för att säkerställa en smidig introduktion. Automatiserade pipelines är ett sätt att bygga, testa och driftsätta kod och infrastruktur på ett konsekvent och tillförlitligt sätt.
Mycket har uppnåtts med detta tillvägagångssätt, och här listas några av fördelarna:
- Förbättrad kodkvalitet och säker kodning,
- Förbättrad efterlevnad av branschkrav inom hälso- och sjukvården,
- Ökad frekvens för mjukvarubyggande,
- Snabbare återkoppling från testprocessen, samt
- Förbättrad utvecklingsupplevelse genom minskad manuell hantering.
Det finns fortfarande mer att göra. När vi går vidare finns det utrymme att omvandla DevOps-resan genom att förbättra samarbetet mellan utvecklare och drift, inklusive automatisering av mjukvarutestning med hjälp av verktyg, Documentation as a Code och en riskfri lanseringsstrategi i Cloud Foundry. Detta skulle bidra till att förbättra tiden till marknaden och driva affärsframgång för leverantörer av applikationer inom hälso- och sjukvården. I takt med att landskapet utvecklas kommer transformationsresan att fortsätta att accelerera.