Wat zijn aanpassingen?
Met aanpassingen worden wijzigingen in de configuratie-items bedoeld. Door het iteratieve, cyclische karakter van een Skryv project, komen aanpassingen veelvuldig voor.
Aanpassingen beheren
Uiteraard is het niet de bedoeling dat deze wijzigingen onmiddellijk van kracht worden en instant impact uitoefenen op het gedrag van de dienstverlening. Deze dienstverlening loopt immers 24/7 en op elk gegeven ogenblik zijn er tientallen, zoniet honderden processen die openstaan en die elk hun eigen voortgangsstatus hebben. De integriteit van al deze bestaande processen moet gewaarborgd blijven en mag je niet zomaar in gevaar brengen door een lukrake configuratiewijziging. Bovendien is in bepaalde gevallen een gecoördineerde wijziging in meerdere configuratie-items nodig. Deze kan je niet simultaan uitvoeren, maar moet je incrementeel gaan opbouwen en stelselmatig testen & valideren. Daarom worden wijzigingen in configuratie-items eerst verzameld en beheerd in een git-repository, bijvoorbeeld op GitHub. Pas nadat de nieuwe configuratie is getest en gevalideerd, publiceert de IT-infrastructuurbeheerder de configuratie-items in de productie-omgeving van de applicatie.
Aanpassingen testen & valideren
Aanpassingen testen & valideren gebeurt in de test- of previewomgeving van de applicatie. Zowel in lokale Studio als in online Studio heb je de mogelijkheid om je aanpassingen te pushen naar deze testomgeving. Daar kunnen business analisten op basis van dummy gebruikers en dummy dossiers het gewijzigde gedrag van de dienstverlening uitproberen.
Aanpassingen opslaan in git repository
Lokale Studio
In een setup waarbij configuratoren een lokale Studio en developers een IDE gebruiken, worden wijzigingen automatisch gesynchroniseerd en weergegeven in een git-client, zoals Fork. Vanuit deze client kun je commits maken, meerdere lokale branches beheren, wijzigingen van de centrale repository op GitHub ophalen en samenvoegen met je eigen lokale branch of je werk indienen via een pull request naar GitHub. Een diepgaande kennis van git is essentieel om deze processen effectief te beheren.
Online Studio
Configuratoren die via online Studio configuratiewijzigen uitvoeren, werken zonder git client. Dit biedt het voordeel dat ze geen lokale software moeten installeren en onderhouden, alsook dat ze in principe geen kennis van git nodig hebben. Nadeel is dan weer het ontbreken van een volcontinue synchronisatie tussen de configuratie zoals ingeladen in de sessie van de online Studio en de configuratie zoals opgeslagen op de master branch in de git repository. Hoe langer je de online Studio sessie openhoudt, hoe groter het risico dat de twee out-of-sync raken. Binnen online Studio zijn er enkele functionaliteiten toegevoegd om aanpassingen tussentijds op te slaan en uiteindelijk over te brengen naar de centrale repository op GitHub.
Aanpassingen publiceren
Eenmaal de aanpasssingen getest en gevalideerd zijn, en opgeslagen in de master branch binnen de centrale repository, kan de IT-infrastructuurbeheerder overgaan tot publicatie in de applicatie. Hiertoe wordt doorgaans gebruik gemaakt van een CI/CD-tool zoals Jenkins.
Backwards compatibility
Configuratiewijzigingen kunnen na publicatie invloed uitoefenen op bestaande dossiers en/of lopende processen. Het is de verantwoordelijkheid van de configurator-analist om de impact correct in te schatten en de backwards compatibility van de aanpassingen te garanderen.