Del tema de la revista a la pràctica del projecte
Pàgines de serveis i tècniques pertinents per a l'article
Substituir una aplicació consolidada sovint sembla més senzill sobre el paper que en la pràctica. En empreses mitjanes, el programari de negoci acostuma a estar estretament integrat amb processos reals: gestió de comandes, magatzem, fabricació, servei, facturació, compliment normatiu. Precisament per això el clàssic «Big Bang» falla tan sovint: una data límit en què tot és nou genera la màxima incertesa — funcional, tècnica i organitzativa.
Modernització de sistemes heretats sense Big Bang vol dir planificar la modernització com una reconfiguració controlada en ple funcionament. En lloc de «tot de cop», es tracta d’una seqüència d’etapes que redueix el risc, preserva correctament dades i interfícies i no sobrecarrega l’explotació. La clau és un full de ruta de migració que no només consideri l’arquitectura, sinó també el suport, els releases, els permisos, el monitoring, la formació i les vies decisòries.
El següent full de ruta de 6 etapes està formulat perquè la direcció d’IT, els administradors, els responsables tècnics de projecte i els departaments de negoci tinguin una orientació comuna: què cal aclarir quan, quins artefactes són necessaris i quines decisions tenen conseqüències costoses més endavant?
Modernització de sistemes heretats sense Big Bang: Per què el Big Bang rarament funciona a la pràctica
Un canvi de tipus Big Bang concentra molts canvis en un moment: nova interfície, nous models de dades, nous permisos, noves interfícies, nous paràmetres d’explotació. Fins i tot si cada component individual „funciona“, la combinació sota càrrega real sovint és el factor de risc: casos límit no planificats, dades mancants, lògiques de dades mestres diferents, camins d’integració no provats.
Símptomes típics en projectes sobredimensionats:
- Responsabilitats poc clares: Qui decideix en conflictes d’objectius entre negoci i explotació? Sense rols definits, les qüestions de detall escalen a debats de principis.
- Llacunes de proves per la varietat de processos: Es proven els processos centrals, però no els casos excepcionals acumulats en 10 anys de pràctica. Precisament aquests casos excepcionals acaben al Service Desk en el moment del go-live.
- Migració de dades «a l’últim tram»: Les decisions de mapatge es retarden. Més endavant es comprova que dades històriques, referències o duplicats bloquegen la migració.
- Explotació s’integra massa tard: Monitoring, backups, recuperació, finestres de manteniment, rutines de patch — tot això no es pot incorporar amb sentit l’última setmana.
La modernització pas a pas no és un camí més lent, sinó més planificable: distribueix el risc en el temps, genera lliuraments intermèdies mesurables i permet incorporar coneixement d’ús real a les següents etapes.
Principi fonamental: Strangler Pattern i límits d’integració «vius»
En moltes modernitzacions reeixides hi ha el Strangler Pattern: noves funcionalitats o mòduls es construeixen al voltant del sistema antic i assumeixen gradualment responsabilitats fins que la part antiga deixa de ser necessària. El que importa per a l’explotació no és tant el patró arquitectònic com l’establiment net de límits d’integració.
Els límits d’integració són punts on els sistemes intercanvien dades o accedeixen de manera compartida a dades. Això inclou interfícies (per exemple REST, fitxers, missatgeria), bases de dades compartides, models d’identitat i permisos, així com procesos en segon pla. La modernització es torna manejable quan aquests límits es dissenyen conscientment:
- Contracte estable cap a l’exterior: els sistemes socis o adjacents han de processar el menor nombre possible de canvis simultanis.
- Mesurabilitat: Els fluxos de dades han de ser observables (Logs, mètriques, quotes d’errors), perquè l’explotació i la direcció del projecte puguin detectar riscos de manera precoç.
- Capacitat de rollback: Si una etapa presenta problemes, el sistema ha de poder tornar a un estat estable sense generar ‚caos de dades‘.
El full de ruta de migració en 6 etapes
Les etapes estan formulades deliberadament perquè successivament forcin decisions fonamentades. Es poden paralel·litzar punts individuals, però no s’han de saltar sense que això comporti costos més elevats posteriorment.
Etapa 1: Avaluació de l’estat que apropa explotació i funcionalitat
Una modernització rarament fracassa per «massa poca tecnologia», sinó per suposicions incorrectes sobre les dependències. Per això, una bona avaluació de l’estat no és un simple document d’arquitectura, sinó un conjunt pragmàtic de mapes i riscos que tots els implicats puguin llegir.
Continguts recomanats per a l’etapa 1:
- Mapa d’aplicacions: Quines aplicacions, serveis, jobs i sistemes perifèrics estan connectats al sistema central? Quins d’ells són crítics per al negoci i quins són només no imprescindibles?
- Mapa d’integracions: Quines interfícies existeixen (exportació de fitxers, EDI, REST, SOAP, accés a base de dades, SFTP)? Qui n’és el responsable, quins objectes de dades flueixen i amb quina freqüència?
- Inventari de dades: Quins conjunts de dades són primaris (System of Record) i quins són derivats (informes, exportacions)? Com estan regulades la retenció i l’eliminació?
- Realitat d’explotació: Com es realitzen els deployments? Hi ha finestres de manteniment? Quin és el concepte de backup? Quins temps de restauració són realistes?
- Prioritzar punts crítics: No es tracta de «tot està obsolet», sinó: on són els canvis arriscats? On hi ha colls d’ampolla de rendiment? On bloqueja la falta de capacitat d’interfície?
Important: Aquesta etapa idealment acaba amb una priorització conjunta. IT i l’àrea de negoci estableixen quins àmbits de procés es modernitzen primer (per exemple el registre de comandes o el portal de clients) i quins àmbits s’estabilitzen (per exemple la lògica de registre), per evitar distraccions innecessàries.
Etapa 2: Definir la visió objectiu — però com a marc de decisió, no com a estat final
En el teixit empresarial mitjà, una visió objectiu esdevé ràpidament una «llista de desitjos». Més útil és entendre la visió objectiu com a marc de decisió que redueixi discussions posteriors. Això inclou límits explícits: què es manté on-prem, què es pot portar al Cloud? Quina base de dades està definida? Com s’integren les identitats? Com s’operen els nous components?
Això significa en la pràctica:
- Principis d’arquitectura: p. ex. «interfícies primer», «no accés directe a DB per sistemes de tercers», «versionat d’APIs».
- Principis d’operació: p. ex. „cada nova component disposa de monitoring i runbook“, „els deployments són reproduïbles“, „les finestres de patch són planificables“.
- Principis de dades: p. ex. „el System of Record per a cada objecte de dades és inequívoc“, „les dades històriques es migren o s’arxiven segons regles definides“.
Una decisió central en aquesta etapa és l’estratègia d‘integració a seguir. Molts equips subestimen que el treball d’integració (interfícies, models de dades, maneig d’errors) sovint constitueix la major part de la complexitat. Qui estableix estàndards aviat, redueix la fricció posterior en l’explotació.
Si voleu adaptar o estabilitzar interfícies per a programari existent, convé tractar el tema com un fil de modernització independent —no com una tasca accessòria al final.
Etapa 3: desacoblar interfícies i dades – “Reforma del sistema cardiovascular”
En molts entorns legats la base de dades és el mitjà d’integració ocult: els informes accedeixen directament, els sistemes perifèrics escriuen a taules, les tasques en segon pla eludeixen les regles de negoci. Això fa que els canvis siguin arriscats, perquè ningú no pot dir amb seguretat quines consultes o processos externs fallaran demà.
A la Etapa 3 es tracta doncs d’un desacoblament controlat. Components típics:
- Façana d’API: Una interfície definida (per exemple REST), a través de la qual components nous i existents llegeixen i escriuen dades. REST vol dir aquí: interfície basada en HTTP amb punts d’accés clars i dades JSON estructurades; són importants la versionització i les convencions d’errors.
- Adaptadors per a interfícies antigues: On la substitució directa no és possible, es construeixen adaptadors de transició (convertidors de fitxers/EDI, ponts de missatgeria, proxy).
- Contractes de dades: Quins camps són obligatoris, quins opcionals? Quins codis/valors d’estat estan permesos? Aquestes regles han d’estar documentades i ser provables.
Organitzativament, la Etapa 3 és el moment en què els equips necessiten un conjunt lleuger de Governança d’API: convencions de nomenclatura, versionat, regles de deprecació, estratègia de proves, procés d’aprovació. Sense governança s’acaba generant un „caos d’interfícies“: molts endpoints semblants, responsabilitats poc clares, breaking changes sense avís previ.
Un altre focus: la qualitat de les dades. La modernització posa al descobert problemes de dades que abans es passaven per alt. Per això ja en aquesta fase s’han d’establir comprovacions senzilles: percentatges de duplicats, violacions de claus foranes, valors d’estat invàlids, nulls inesperats. Això és menys una qüestió de BI i més un risc operatiu i de migració: les dades deficients augmenten l’esforç de proves, l’esforç de suport i la taxa d’errors en el funcionament en paral·lel.
Etapa 4: modernització funcional en talls verticals
L’error de planificació més comú en una migració per fases: es modernitzen capes tècniques sense lliurament intermedi útil des del punt de vista funcional. Això duu a llargues fases en què les àrees de negoci „no veuen res“, mentre augmenten l’esforç i el risc.
En canvi, funcionen els talls verticals: un procés clarament delimitat es modernitza de punta a punta —incloent interfície d’usuari, regles de negoci, accés a dades i interfícies. Exemples serien un subprocés definit com l’alta de reclamacions, un mòdul de portal de clients o un flux de treball d’aprovació.
En què haurien de fixar-se TI i la direcció del projecte:
- Criteris d’acceptació: No només „funciona“, sinó: quins passos del procés estan coberts? Quines rols? Quins casos d’error? Quins llindars de rendiment?
- Gestió de versions: Com es fa la distribució sense sobrecarregar els usuaris? Un ritme clar, notes de llançament ordenades, opcions de rollback definides i un canal de comunicació redueixen els pics de suport.
- Configuració en lloc de casos especials: Si un procés té deu variants, la temptació d’implementar cada variant «fixa» és gran. Sovint paga la pena definir primer un model configurable (p. ex. model d’estats, regles de validació) perquè les ampliacions posteriors siguin planificables.
Aquesta etapa mostra també si la visió objectiu és viable: s’ajusta el model d’autoritzacions? El logging funciona de manera que els casos de suport siguin rastrejables? Són els timeouts, els retries i els textos d’error dissenyats perquè ajudin en l’operació i no es limitin a produir només «Error 500»?
Etapa 5: Funcionament paral·lel, planificació del cutover i migració de dades sense sorpreses
El funcionament paral·lel és la xarxa de seguretat de la modernització — però només si es dissenya de manera conscient. Funcionament paral·lel no vol dir necessàriament «dos sistemes que ho fan tot per duplicat». Sovint significa que durant un període coexisteixen peces antigues i noves, mentre les dades es mantenen sincronitzades o les responsabilitats es separen clarament.
El que és crucial és la pregunta: Quines dades són la font de veritat i on? «Font de veritat» vol dir: on s’estableix la veritat per a un objecte (per exemple client, comanda, article, factura)? Sense aquesta claredat s’originen incoherències que han de resoldre el suport i la unitat funcional.
Per a l’etapa 5 són útils tres directrius tècniques i organitzatives:
- Estrategia de sincronització: O bé basada en esdeveniments (Events/Messaging), basada en API (el sistema nou crida la lògica antiga o viceversa) o programada en el temps (jobs). Cada variant té implicacions operatives: monitoratge, tolerància a fallades, postprocessament.
- Runbook de cutover: Una seqüència de passos per al canvi: congelació de dades (quines dades no es poden modificar a partir de quan?), execucions d’importació, informes de validació, commutació d’interfícies, pla de comunicació, criteris de rollback.
- Informes de conciliació: No «migram i esperem», sinó: conciliacions de sumes/quantitats, mostreigs, llistes de referència. Aquests informes haurien d’haver corregut diverses vegades en entorns de proves abans del cutover.
La migració de dades rarament és un import únic. Sovint calen diversos assajos amb mappings depurats, perquè només amb dades reals surten a la llum anomalies: claus duplicades, valors especials heretats històricament, camps obligatoris buits. Qui accepti això i ho planifiqui com un procés d’aprenentatge evita migracions de correcció precipitades («Hotfix-Migrationen») durant el cap de setmana.
Un punt subestimat: auditoria i traçabilitat. En processos crítics per al negoci no n’hi ha prou que les dades estiguin «allà». Calen camins de registre i modificació comprovables (Audit Trail), sobretot quan afecten drets, preus, aprovacions o facturació. Això s’ha de tenir en compte tant en l’operació paral·lela com en el cutover.
Etappe 6: Estabilització, entrega d’operacions i desconnexió controlada
Moltíssimes modernitzacions acaben oficialment amb el Go-live – i operativament només comencen després. Etappe 6 és la fase en què es decideix si la nova solució és sostenible a llarg termini o si els deutes tècnics s’han limitat a traslladar-se.
Temes clau en aquesta etapa:
- Hypercare amb normes clares: Una fase de estabilitat definida després de la posada en producció, amb vies de comunicació fixes, classificació d’errors i priorització. Important: no tota sol·licitud és un Incident.
- Runbooks i monitorització: Els runbooks són manuals d’operació per a tasques i incidències recurrents (Start/Stop, patrons d’error típics, Logs, reinici). La monitorització inclou mètriques i alertes; l’objectiu no és «supervisar-ho tot», sinó detectar «senyals rellevants» sense generar fatiga d’alertes.
- Routines de patch i actualització: Qui introdueix components moderns ha de planificar les actualitzacions: finestres de manteniment, Rollback, actualitzacions de seguretat, dependències de les entorns d’execució i de les bases de dades.
- Pla d’apagat per al sistema antic: L’apagat és una part del projecte: arxivat de dades, conservació legal, desactivació de jobs, eliminació d’interfícies antigues, adaptació dels manuals d’operació.
Un bon indicador d’èxit de Etappe 6: l’equip pot després d’unes setmanes no només «apagar incendis», sinó tornar a lliurar amb planificació. Això s’aconsegueix quan operació i projecte prioritzen conjuntament durant la fase de Hypercare i eliminen de manera sostenible les causes (per exemple mitjançant millors validacions, missatges d’error clars, timeouts robustos en les interfícies).
Punts de decisió que sostenen el full de ruta
Al llarg de totes les etapes hi ha decisions recurrents que en projectes de mida mitjana són especialment efectives. Afecten menys la tecnologia en si i més la capacitat d’operació i migració.
1) Identitat i permisos: aclarir-ho aviat
Quan es creen nous mòduls, sovint xoquen diferents conceptes de permisos: rols històrics heretats del sistema antic, grups d’Active Directory, rols d’aplicació, accessos d’entitats externes. Convé definir una direcció aviat: per exemple Single Sign-on sobre SAML 2.0 (un estàndard per a l’autenticació centralitzada) o un model de rols consolidat amb recertificació (verificació periòdica dels permisos).
Sense un pla clar per a les identitats, en un funcionament en paral·lel l’esforç creix ràpidament: manteniment duplicat d’usuaris, responsabilitats poc clares, incidències de suport per una „rol incorrecte“. Això no és un tema marginal, sinó pèrdua de productivitat en el dia a dia.
2) Estandarditzar entorns i deploys
Molts sistemes legacy funcionen estable perquè „ningú no toca res“. La modernització augmenta la freqüència de canvis —i amb això la necessitat de deploys reproduïbles. El que importa és que Dev/Test/Prod no es desalineïn (diferències de configuració, certificats faltants, paràmetres de base de dades diferents). A la pràctica això vol dir: versionar les configuracions, gestionar els secrets de manera ordenada, empaquetar els releases de forma rastrejable i documentar-los.
3) Definir l’observabilitat com a requisit d’explotació
Observabilitat significa: en cas d’incidència es pot rastrejar què ha passat —mitjançant logs, mètriques i correlació. Correlació vol dir que els passos relacionats es puguin vincular entre sistemes (per exemple mitjançant una Request-ID). Això estalvia hores en el suport perquè ja no cal „endevinar“ les causes.
4) No subestimar el pla de canvi i comunicació
La migració gradual viu del fet que els usuaris experimentin els canvis de forma repetida. Sense un pla de comunicació i formació això condueix a resistències o a processos paral·lels (llistes d’Excel, solucions manuals). Són recomanables grups pilots, bucles de feedback clars i un canal definit per a preguntes. Això no és una „tasca de màrqueting“, sinó que redueix la càrrega de suport i els errors en les dades.
Com integrar el pla de ruta en la rutina del projecte
Un pla de ruta només serveix si es tradueix a control i col·laboració. Tres mecanismes pràctics:
- Portes d’etapa amb llistes de verificació: Cada etapa acaba amb criteris clars: què s’ha lliurat (artefactes, decisions), què queda obert, quin risc s’ha acceptat?
- Registre de decisions: Una documentació de decisions senzilla i mantinguda de forma continuada (Què s’ha decidit? Per què? Quines conseqüències?). Això evita que els equips reobrin qüestions de principis mesos més tard.
- Tauler comú de riscos: No només riscos tècnics, també riscos operatius i d’organització (rols inexistents, responsabilitat de les dades poc clara, llacunes en les proves). Cada risc té un responsable i una mesura associada.
Especialment en entorns de mida mitjana, on els equips gestionen diversos sistemes en paral·lel, la transparència és més important que la perfecció. El pla de ruta ha d’accelerar les decisions, no crear burocràcia addicional.
Conclusió: modernització com a reestructuració controlada en lloc d’una aposta pel dia límit
La modernització de sistemes legacy sense Big Bang no és un compromís, sinó un enfocament metodològic per conciliar risc, seguretat operativa i contingut funcional. El pla de 6 etapes assegura que les integracions i les dades no es facin de forma improvisada, que el funcionament en paral·lel no es converteixi en caos i que la transició a l’explotació estigui planificada de manera conscient.
Si voleu modernitzar una aplicació consolidada, convé mapejar primer el pla de ruta amb els vostres processos clau i les integracions: què és realment prioritari, quines interfícies són crítiques per al negoci i quina etapa produeix, a continuació, la major reducció de risc?
Si voleu elaborar un pla de migració concret i adaptat al vostre paisatge tecnològic, podeu estructurar el tema amb nosaltres en una entrevista inicial: Posar-se en contacte.
Parlar del projecte o de la iniciativa de modernització amb Net-Base.
Pas següent
Quan d'un tema se'ndevé un projecte real, s'han de considerar aviat i de manera conjunta l'arquitectura, els actius existents i l'operació.
No només donem suport en qüestions puntuals, sinó també quan, a partir de fragments de codi font, temes de sistemes heredats o idees de portal, ha de sorgir un projecte empresarial sòlid.
- L'estat actual, la visió objectiu i els riscos tècnics s'avaluen conjuntament.
- REST, accés a dades, portals i desplegament no es posposaran com a efectes retardats.
- Veu aviat quin camí és viable des del punt de vista econòmic i operatiu.