Vi har i de tidigare avsnitten berört vikten av kontroll och att det är viktigt att man vet vem som gör vad och vart. I denna text tar vi en lite djupare titt på hur arbetet bör bedrivas för att i så hög grad som möjligt kunna förutsäga resultatet.
Metodik har berörts tidigare men vikten av en metodik som alla utvecklare känner sig trygga med kan inte nog understrykas. Metoden ska säkerställa:
- att kvalitetssäkra artefakter som produceras genom att skapa automatiserade enhets- och integrationstester
- att artefakterna versionshanteras och publiceras enligt fastställd metod
- att definiera ett enhetligt och standardiserat sätt att arbeta
- att allt görs som återanvändbara komponenter
- att alla som utvecklar/integrerar ett IT-system kan få stöd av sina kollegor med peer review och snabb förändringshantering
- att det ska vara svårt eller omöjligt att bryta mot reglerna (”den här sista ändringen måste med annars kommer det inte funka” är en klassisk alternativ metod för att säkerställa att det kommer gå åt skogen)
- en förutsägbar leveranskvalitet genom test och test igen
- Effektivitet genom automatisering, lättrörlighet och att undvika repetitioner – automatiserade tester skall vara tillräckligt omfattande för att våga lita på så att förändringstakten ska kunna hållas hög
- IT-säkerhetsprogram för att hela tiden ha fokus på att kravställd säkerhet och spårbarhet uppnås
- Säkerställa kommunikation i utvecklargruppen i form av korrekta kommentarer i versionshanteringssystem, ärendehanteringssystem och möten
Utöver en fungerande metodik behövs en arkitektur som tar fasta på vad som ska uppnås, nämligen kontroll och spårbarhet. Det gäller under utveckling men också när systemet tagits i drift. Viktiga ledord i arkitekturval är bl.a.:
- Automation av allt som går
- Orkestrering och robotisering av driftsättning, patchning och drift
- Återbruk på alla nivåer – allt från komponenter och dokumentation till kompletta systemkonfigurationer
- Versionshantering
- Automatgenererad systemdokumentation baserad på samma grunddata som system installeras ifrån – för konsistens
- Automatiska tester av hela IT-system inklusive infrastruktur
- SDN och automatgenererade nätverkskonfigurationer
- Containertänk/Inkapsling
- Zero trust mentalitet
Det handlar hela tiden om att skapa en miljö där det är svårt att göra fel, maximera möjligheten till auktoriserad insyn samtidigt som man minimerar risken för oauktoriserad påverkan. Metod och arkitektur ska stärka varann och förvaltas i samklang för att uppnå satta mål.
Läs även de andra delarna i serien:
Del 1: Kontroll
Del 2: Krav, utvecklingsmiljö och medarbetare
Basalt har under 10 års tid utvecklat, driftsatt och förvaltat nyckelfärdiga IT-system inklusive infrastruktur där kraven på säkerhet och insyn är mycket höga. Regelverk och hundratals manår av erfarenhet och misstag begångna genom åren har kokat ner till den metodik och arkitektur som idag utgör grunden i BEANS-konceptet. Kompletta BEANS-baserade IT-system som Basalt levererat till kund har genom extern granskning mot högt ställda krav konstaterats hålla vad vi lovar. Metodiken och arkitekturen säkerställer att vi kan göra det många gånger till många kunder.