Modernizace softwaru

Jak modernizovat starý software bez zbytečného rizika

Modernizace starého softwaru není jen přepsání obrazovek do nového frameworku. Ve skutečnosti jde často o citlivý zásah do systému, který firma nebo instituce používá mnoho let a ve kterém jsou schované procesy, zvyky, výjimky a historická data. První chyba bývá snaha zahodit původní systém příliš rychle. Lepší je nejdřív pochopit, co systém opravdu dělá, které části jsou kritické a které už jen přežívají ze setrvačnosti.

Správný postup začíná analýzou dat, uživatelských postupů a technických rizik. U starších aplikací bývá největší hodnota právě v datech a pravidlech, ne v samotném vzhledu aplikace. Proto má smysl nejdřív zmapovat databázi, hlavní entity, vazby, validace, tiskové výstupy, importy, exporty a role uživatelů. Teprve potom je bezpečné navrhnout novou architekturu.

Velmi dobrý přístup je postupná modernizace. Místo jednoho velkého přepnutí lze vytvořit nové webové rozhraní nad vybranou částí funkcionality, připravit migrační nástroje a ověřovat výsledek na reálných datech. Tím se výrazně snižuje riziko, že se při přechodu ztratí důležité informace nebo že nový systém nebude odpovídat skutečné práci uživatelů.

Technicky dává smysl oddělit backend, databázi a frontend. Backend drží business pravidla, databáze musí být navržená čistě a frontend se může vyvíjet postupně podle priorit. U větších systémů je důležité počítat s logováním, auditní stopou, testováním migrace, verzováním změn a možností bezpečného návratu, pokud se při nasazení objeví problém.

Cílem modernizace by nemělo být pouze to, že aplikace vypadá nově. Cílem má být stabilnější systém, lepší údržba, rychlejší práce s daty a možnost dalšího rozvoje. Pokud je modernizace dobře řízená, starý systém se nestane technickým dluhem, ale zdrojem znalostí pro novou aplikaci.

Pro praktický postup doporučujeme také stránku služby Modernizace starého softwaru.