Aplikace funguje, ale nikdo se v ní nevyzná
Zdrojový kód máte, ale chybí dokumentace, původní vývojář není dostupný a každá změna se odkládá, protože nikdo neví, co může přestat fungovat.
Údržba · dokumentace · postupná modernizace
Máte důležitý interní systém, ke kterému existuje zdrojový kód, ale původní autor odešel, dokumentace chybí a každá úprava je riziko? Pomohu aplikaci pochopit, zdokumentovat, udržovat a postupně rozvíjet bez zbytečného přepisu od nuly.
Kdy dává služba smysl
Služba je určená hlavně pro menší a střední firmy, které provozují starší, ale stále důležitou aplikaci. Nejde o módní přepis kvůli nové technologii. Cílem je snížit provozní riziko a udržet systém užitečný.
Zdrojový kód máte, ale chybí dokumentace, původní vývojář není dostupný a každá změna se odkládá, protože nikdo neví, co může přestat fungovat.
Firma se změnila, přibyly nové procesy, exporty, importy nebo napojení na jiné systémy. Stará aplikace je ale pořád součástí každodenní práce.
ASP.NET WebForms, WinForms, Windows services, starší desktopové aplikace nebo rozsáhlý MS SQL kód jsou pro mnoho týmů nezajímavé. Právě zde má dlouhá praxe hodnotu.
Rozsah služby
Seniorní technické převzetí staršího podnikového systému: od zorientování v kódu a databázi přes opravy až po rozumnou modernizaci. Výstupem nemá být jen změněný kód, ale i lepší porozumění systému.
Seznámení se zdrojovým kódem, databází a provozním prostředím. Opravy chyb, menší i větší úpravy, dohledání příčin problémů a bezpečné nasazování změn.
Popis hlavních částí aplikace, databázových vazeb, workflow, importů, exportů a napojení. Dokumentace pomáhá firmě snížit závislost na jednom člověku.
Refaktoring problematických míst, doplnění testů, úpravy pro novější Windows, stabilizace databáze, zlepšení výkonu a příprava systému na další rozvoj.
Delphi a starší desktopové aplikace řeším v případě, kdy je cílem převést jejich funkcionalitu do prostředí .NET. Nejde o běžnou údržbu Delphi projektu, ale o bezpečný přechod na udržitelnější technologii.
Praxe a technologie
Dlouhodobě pracuji na interních podnikových systémech, které nejsou efektní na první pohled, ale firma je denně potřebuje pro běžný provoz.
Reference
Níže jsou uvedeny pouze větší projekty, na kterých jsem pracoval, doplněné o stručnou technologickou poznámku k Blazoru.
Ještě v době MS DOS, do roku 1995.
Desktopová aplikace v Delphi + MS SQL, cca do roku 2002. Vlastní projekt, který IMA, s.r.o. integrovala do svého produktového portfolia a prodávala zákazníkům.
Aplikace pro lokalizace resources u desktopových aplikací nejprve pro Delphi, později pro .NET. Vlastní projekt.
Technologie: ASP.NET WebForms + MS SQL
Práce jako člen vývojového týmu v MagicWare, s.r.o., spolupráce cca do roku 2008. Systém zpracovával rezervace a obsluhu zákazníků pro cestovní kancelář.
Přínosy pro firmu: optimalizace výkonu při dolování velkých objemů dat, změna architektury přístupu k datům.
Technologie: ASP.NET WebForms + MS SQL
Workflow účetních dokladů, docházka, HR systém a helpdesk. ASP.NET WebForms + MS SQL, v provozu přes 15 let a stále aktivně vyvíjen. Práce jako významného člena vývojového týmu na projektu s vlivem na architektonické změny v Havit, s.r.o.
Přínosy pro firmu: úprava architektury projektu směrem k dlouhodobé udržovatelnosti kódu; zavedení architektury pluginů, pomocí kterých si může zadavatel přidávat vlastní kód, který implementuje například legislativní odchylky v různých zemích.
Technologie: ASP.NET WebForms + MS SQL
Specifický e-shop na míru s vysokou mírou konfigurovatelnosti. Cílem byla minimalizace pracnosti při zadávání variant produktů na straně provozovatele.
S moderními technologiemi jako Blazor mám zatím dílčí zkušenosti; moje hlavní doména je údržba a rozvoj provozovaných systémů v klasickém .NET stacku.
Rizika starších systémů
Starší systém může být pro firmu ekonomicky výhodné dál používat. Musí se ale průběžně udržovat, protože okolní prostředí se mění i tehdy, když se samotné aplikace nikdo nedotkne.
Staré knihovny, zastaralé přihlašování, slabá práce s oprávněními nebo nejasné databázové přístupy mohou zvyšovat riziko úniku dat i provozních incidentů.
Po aktualizaci operačního systému, serveru, databáze, prohlížeče nebo ovladačů může přestat fungovat část aplikace, tisk, exporty, komunikace nebo plánované úlohy.
Když v systému nejsou popsaná pravidla a vazby, firma neví, které části jsou kritické. Dokumentace a testy snižují riziko při každé další úpravě.
Metodický postup
Nejdříve je nutné systém pochopit. Teprve potom má smysl opravovat, rozšiřovat nebo modernizovat.
Projdu strukturu projektu, databázi, konfigurace, způsob nasazení, závislosti a hlavní riziková místa.
Popíšu hlavní části systému, opravím zjevné provozní problémy a navrhnu priority podle rizika a přínosu.
Doplňuji nové funkcionality tak, aby byly respektovány existující procesy, data a způsob práce uživatelů.
Modernizuji po částech: nejdříve tam, kde to sníží riziko, zrychlí práci nebo umožní další rozvoj systému.
Ceník
Ceny se odvíjejí od typu práce, rozsahu spolupráce a požadované dostupnosti.
| Typ práce | Cena |
|---|---|
| Prvotní technická orientace, převzetí, audit rizik, dokumentace | 1 800 Kč/hod |
| Konzultace, architektura, krizové zásahy, rozhodování o modernizaci | 1 800–2 100 Kč/hod |
| Bezpečné úpravy a nové funkce bez návazné spolupráce | 1 500 Kč/hod |
| Dlouhodobá spolupráce od 25 h/měsíc | od 1 200 Kč/hod |
| Vyšší garantovaná dostupnost / prioritní režim | individuálně, obvykle 1 500+ Kč/hod nebo měsíční paušál |
Nejsem plátce DPH.
AI v praxi
Dnes se může uživatel pokusit upravit starší aplikaci pomocí AI sám. U jednoduchých úkolů to může pomoci. U podnikové aplikace s databází, oprávněními, historií změn a napojením na další systémy je ale hlavní problém jinde: pochopit důsledky změny.
Vyhledávání souvislostí v kódu, návrh testů, vysvětlení neznámých částí aplikace, refaktoring opakovaného kódu, přípravu dokumentace a rychlejší orientaci ve větším projektu.
Seniorní vývojář posoudí, zda je návrh bezpečný, jak ovlivní data, výkon, oprávnění, uživatele a provoz. AI může navrhnout změnu; odpovědnost za správné rozhodnutí musí nést člověk, který rozumí vývoji i provozu.
AI používám jako urychlovač analýzy, refaktoringu, testování a dokumentace. Ne jako náhradu odborného úsudku, kontroly změn a znalosti starších technologií.
Kontakt
Pošlete stručný popis systému, použité technologie, zda máte zdrojový kód a co aktuálně potřebujete vyřešit.
Zbyšek Hlinka
sídlo: Juditina 2808/1, 415 01 Teplice
IČO: 12270288
Zapsán v Živnostenském rejstříku vedeném Magistrátem města Teplice
kontakt: hlinka@hlinka.cz – e-mail a Microsoft Teams
telefon: 603 551 282