De què parlem
La modernització de programari és la feina de posar al dia un programa que l'empresa fa servir i necessita, però que ha envellit: corre en una tecnologia sense suport, només funciona en ordinadors antics, el va fer algú que ja no hi és o cada canvi costa més que l'anterior.
Sota aquest nom hi ha encàrrecs diferents. Mantenir i fer evolucionar un programa existent que va construir un altre. Migrar-lo a un entorn actual sense canviar el que fa. Renovar-lo per parts. O substituir-lo per un de nou, enduent-se'n les dades. Saber quin d'ells és el teu ja és part del projecte.
Quan es planteja
Les raons solen ser de risc més que de comoditat: el sistema operatiu o la base de dades sobre els quals corre han deixat de rebre actualitzacions de seguretat; l'única persona que el coneixia s'ha jubilat o ha tancat; no es pot connectar amb res de nou; o un canvi legal o de negoci demana una modificació que ningú sap fer. Mentre funciona, és fàcil ajornar-ho; el problema és que el dia que falla no hi ha pla.
Què inclou un projecte ben plantejat
- Una auditoria inicial: què hi ha, en quina tecnologia, amb quina documentació i en quin estat és el codi.
- L'inventari del que el programa fa de debò, inclòs el que ningú recorda que feia.
- La tria de l'estratègia: mantenir, migrar, renovar per parts o substituir.
- La migració de dades, amb les seves comprovacions.
- Un període en paral·lel i un pla de tornada enrere.
- Documentació nova, per no repetir la situació de partida.
- Un acord de manteniment a partir d'aquí.
Què mou el preu
- Si hi ha codi font i documentació, o cal deduir-ne el funcionament des de fora.
- La tecnologia d'origen: com més antiga i rara, menys gent la domina.
- La mida real del programa, que sol ser més gran del que sembla des de les pantalles.
- El volum i la netedat de les dades que cal traslladar.
- La convivència: mantenir dos sistemes sincronitzats durant un temps és feina afegida.
- El que s'aprofita per canviar: modernitzar sense tocar funcions costa menys que modernitzar i millorar alhora.
De què depèn el termini
L'auditoria inicial és breu i és la que permet estimar la resta amb una mica de fonament: sense ella, qualsevol termini és una suposició. Després, el que marca el calendari és l'estratègia triada —renovar per parts reparteix la feina en el temps; substituir concentra el risc en un tall— i la necessitat de no interrompre l'activitat, que obliga a triar bé els moments de canvi.
El que se sol complicar
El que complica aquests projectes és el que el programa vell fa en silenci: un càlcul que s'hi va afegir fa anys, un procés nocturn, un fitxer que algú recull cada mes. Res d'això figura en cap document i tot plegat es troba a faltar quan deixa de passar. La migració de dades és l'altre punt sensible: els formats antics amaguen registres incomplets i criteris que van canviar amb el temps.
Errors que surten cars
- Esperar que falli. Modernitzar amb el programa aturat és fer-ho amb pressa i sense marge.
- Reescriure-ho tot d'un cop. És l'opció amb més risc; per parts es pot corregir el rumb.
- Donar per bona la llista de funcions. Cal observar com es fa servir, no només preguntar.
- Apagar el sistema antic massa aviat. Un temps en paral·lel descobreix el que hi faltava.
- Tornar a dependre d'una sola persona. Sense documentació ni codi lliurat, la història es repeteix.
Què t'ha de quedar per escrit
- El resultat de l'auditoria i l'estratègia triada, amb les alternatives descartades.
- Quines funcions es conserven, quines canvien i quines es retiren.
- El pla de migració de dades i les proves que el validen.
- El procediment de tornada enrere i fins quan es manté el sistema anterior.
- El lliurament del codi i de la documentació, i les condicions del manteniment posterior.
Situacions habituals
Casos que hi caben: un programa d'escriptori fet fa molts anys que només arrenca en un ordinador concret; una aplicació web amb un autor que ja no respon i que necessita manteniment; una base de dades d'oficina que ha crescut fins a ser el sistema central de l'empresa; o un programa que funciona bé però no es pot connectar amb la botiga en línia ni amb el banc. Si el que hi falta és només aquesta connexió, potser n'hi ha prou amb una integració.
Què preparar abans de demanar proposta
- Quin programa és, qui el va fer i en quina tecnologia, si se sap.
- Si es disposa del codi font, de la base de dades i d'alguna documentació.
- Què és el que preocupa: seguretat, dependència d'una persona, canvis que no es poden fer.
- Quantes persones el fan servir i per a quins processos és imprescindible.
- Si es busca només mantenir-lo, migrar-lo tal com és o aprofitar per canviar-lo.