Det ældre system rummer mere end gammel kode

Et modent system rummer ofte mange års forhandlet forretningsadfærd. Nogle regler står tydeligt i koden. Andre findes i tidsplaner for batchkørsler, databasekonventioner, driftstjeklister, leverandørprocedurer og erfarne medarbejderes vurderinger. Set fra et teknologisk perspektiv kan disse elementer virke tilfældige, selv om de er afgørende for kontinuiteten.

Modernisering mislykkes, når det nuværende system kun dokumenteres som komponenter, der skal udskiftes. Et mere nyttigt perspektiv kortlægger de kapabiliteter, systemet leverer, de beslutninger det understøtter, de kritiske data det ejer, de efterfølgende afhængigheder det betjener, de kontroller det udfører, og de undtagelser som mennesker håndterer omkring det.

Opret et kontinuitetsregister før opgavelisten for udskiftningen

Et kontinuitetsregister angiver de fakta og den adfærd, som enhver overgang skal bevare: stabil identitet, forretningsdefinitioner, godkendelsesmyndighed, tidsmæssige forpligtelser, afstemningsregler, revisionsdokumentation, forventninger til genopretning og serviceniveauer. Hvert element bør have en ejer og en måde at blive testet på. Registret er ikke en undskyldning for at gengive al historisk adfærd; det er et grundlag for bevidst at beslutte, hvad der skal bevares, ændres eller udfases.

Det ændrer afdækningen. I stedet for kun at spørge, hvilke funktioner brugerne behøver, spørger teamet, hvorfor en regel findes, hvilken konsekvens en ændring får, og hvem der har myndighed til at acceptere konsekvensen. Forældet adfærd kan fjernes med sikkerhed, når dens formål og afhængigheder er undersøgt. Vigtig adfærd kan omformes frem for utilsigtet at gå tabt.

Udform målet og overgangen samlet

En målarkitektur viser de planlagte fremtidige ansvarsområder og grænser. Den viser ikke i sig selv, hvordan organisationen kan fungere i morgen. Overgangsarkitekturer beskriver de mellemliggende tilstande, der skal bære reelt arbejde, mens data, grænseflader og brugere flyttes. De omfatter midlertidigt ejerskab, sameksistens, afstemning, ekstra kontroller og tydelige kriterier for udfasning.

Hvis der ikke findes en troværdig måde at flytte en kritisk identitet, køre gamle og nye regler samtidig eller kontrollere resultater på tværs af begge systemlandskaber, kan målet kræve andre grænser. Overgangen er en arkitektur i sig selv, ikke et udokumenteret projektstillads.

Migrér i afgrænsede dele baseret på forretningskapabilitet og dokumentation

Tekniske lag er sjældent den sikreste migreringsenhed. Hvis alle data flyttes først, derefter alle tjenester og til sidst alle kanaler, kan der opstå lange perioder, hvor ingen ejer et fuldstændigt forretningsresultat. Et kapabilitetsudsnit følger en meningsfuld vej gennem regler, data, grænseflader og drift. Det kan være smalt, men kan accepteres som en helhed.

Vælg udsnit efter afhængighed og konsekvens, ikke kun efter enkelhed. Det tidlige arbejde bør afprøve de mest risikable antagelser og samtidig undgå et uacceptabelt omfang af skade. Hvert udsnit behøver kriterier for succes, afstemning og genopretning. Afslutning betyder, at organisationen kan drive og forklare den nye vej, ikke blot at koden er udrullet.

Behandl sameksistens som en driftsmodel

Parallel drift rejser spørgsmål, som et migreringsdiagram ofte udelader. Hvilket system er autoritativt for hvert faktum? Kan begge modtage ændringer? Hvordan korreleres identiteter? Hvem beslutter, når resultaterne afviger? Hvor hurtigt skal afstemningen ske? Hvilken dokumentation viser, at den nye adfærd er tilsvarende dér, hvor det er vigtigt?

Det er driftsmæssige beslutninger. De kræver ejere, driftsvejledninger, overvågning og eskalering. Dobbeltskrivning eller datareplikering kan indgå i mekanismen, men ingen af delene skaber forretningsmæssig myndighed. En klar beslutning om den autoritative kilde og en kontrolleret vej for undtagelser er vigtigere end en stadig finere synkroniseringsteknologi.

Tilbageførsel skal omfatte forretningstilstanden, ikke kun udrulningen

Tilbageførsel af en applikationsversion ophæver ikke automatisk ordrer, der er accepteret, meddelelser, der er sendt, beslutninger, der er registreret, eller data, der er transformeret, mens versionen var aktiv. Planlægning af genopretning skal identificere irreversible virkninger, kompenserende handlinger og det punkt, hvor det ikke længere er ansvarligt at vende tilbage til den tidligere tilstand.

Definér for hver overgang, hvad der kan prøves igen, genafspilles, afstemmes, kompenseres eller genoprettes. Afprøv både beslutningsprocessen og mekanismen. Ledere bør vide, hvem der kan standse fremdriften, hvilken dokumentation der udløser valget, og hvordan driften fortsætter, mens problemet undersøges.

Brug beslutningstærskler, ikke kun en kalenderbaseret køreplan

En moderniseringskøreplan bør vise den dokumentation, der kræves for at bevæge sig mellem tilstande: Regeldækningen er forstået, dataafstemningen ligger inden for en godkendt tolerance, genopretningen er testet, ansvaret for driftsstøtte er accepteret, eller en kritisk afhængighed er fjernet. Datoer er vigtige, men datoer uden tærskler tilskynder til at rapportere fremdrift, før risikoen reelt er ændret.

Beslutningsregistre viser, hvorfor et mål, en rækkefølge eller et midlertidigt kompromis blev valgt, og angiver også, hvornår antagelsen bør genovervejes.