Technický audit firemní aplikace: kdy se vyplatí a co musí obsahovat

Technický audit firemní aplikace není soutěž o nejhezčí zdrojový kód. Je to podklad pro rozhodnutí, zda systém opravit, stabilizovat, modernizovat po částech, nebo postupně nahradit.

Kvalitní audit musí posoudit nejen samotnou aplikaci, ale také databázi, integrace, infrastrukturu, bezpečnost, nasazování změn a způsob dlouhodobé správy. Výsledkem nemá být dlouhý seznam technických nedostatků. Vedení firmy potřebuje pochopit, která rizika ohrožují provoz, co musí tým řešit okamžitě a do čeho má smysl investovat později.

V článku vysvětlujeme, kdy se technický audit vyplatí, jaké oblasti musí pokrýt a jaký výstup by měla firma požadovat.

Technický audit firemní aplikace a identifikace provozních rizik

Anonymizovaný příklad z praxe: Firma XY původně plánovala kompletní přepis. Audit ale ukázal, že hlavní problém způsobovala jedna integrace, pomalé databázové dotazy a chybějící testy. Stabilizace těchto oblastí umožnila odložit přepis a bezpečně pokračovat v postupné modernizaci.

Obsah článku

Kdy se technický audit vyplatí
Co technický audit není
Co musí audit obsahovat
Jak audit probíhá
Jaké podklady připravit
Jaký výstup požadovat
Jak poznat kvalitní audit
Co může následovat

Kdy se technický audit firemní aplikace vyplatí

Audit dává největší smysl ve chvíli, kdy firma potřebuje udělat technické nebo investiční rozhodnutí, ale nemá dostatek spolehlivých informací o současném stavu systému.

Typickým důvodem není pouze stáří aplikace. Rozhodující je dopad na provoz, náklady, bezpečnost a schopnost systému podporovat další rozvoj firmy.

Původní dodavatel už systém nerozvíjí

Firma potřebuje předat aplikaci novému týmu, ale neví, v jakém stavu ji přebírá. Chybí dokumentace, nikdo nezná všechny závislosti a běžná změna může ovlivnit několik dalších částí systému.

Audit v takové situaci zmapuje architekturu, data, integrace, infrastrukturu i provozní postupy. Nový tým pak nezačíná naslepo a vedení firmy získá realistickou představu o rizicích převzetí.

Znalosti drží jeden člověk

Systém může fungovat spolehlivě, dokud se o něj stará původní vývojář nebo dlouholetý administrátor. Jakmile tento člověk odejde, firma zjistí, že nezná přístupy, způsob nasazování, závislosti ani postup obnovy po výpadku.

Technický audit odhalí, kde firma závisí na jednotlivci, a navrhne, jak znalosti převést do dokumentace, automatizace a sdílené odpovědnosti.

Každá změna trvá příliš dlouho

Dlouhá doba vývoje nemusí automaticky znamenat, že firma musí systém přepsat. Příčinou mohou být chybějící testy, složitá architektura, ruční nasazování, nejasné zadání nebo nekvalitní datové vazby.

Audit oddělí technické příčiny od organizačních a ukáže, které změny mohou vývoj skutečně zrychlit.

Firma plánuje větší modernizaci nebo přepis

Před velkou investicí potřebuje vedení vědět, co lze zachovat a co už další rozvoj omezuje. Bez tohoto posouzení může firma přepsat i části, které fungují dobře, nebo naopak ponechat komponenty, které budou nový systém dál brzdit.

Než schválíte kompletní přepis, projděte si také 12 otázek před přepisem firemního systému.

Aplikace je pomalá nebo nestabilní

Pomalá odezva může vznikat v aplikaci, databázi, infrastruktuře nebo externí integraci. Stejně tak výpadek nemusí způsobovat chyba v kódu, ale nedostatek prostředků, špatná konfigurace nebo chybějící řízení front a časových limitů.

Audit musí příčinu ověřit měřením, logy a analýzou provozu. Pouhý dojem uživatelů nestačí.

Firma chce nezávisle ověřit práci dodavatele

Vedení firmy může potřebovat druhý odborný pohled před prodloužením smlouvy, investicí nebo převzetím systému. Nezávislý audit pomůže ověřit kvalitu technického řešení, stav dokumentace, provozní rizika i dlouhodobou udržitelnost.

Skryté příčiny problémů ve firemní aplikaci

Co technický audit není

Technický audit není automatický výpis chyb z analytického nástroje. Nástroje mohou upozornit na duplicity, zranitelné knihovny nebo složitý kód, ale samy neurčí dopad na provoz firmy.

Audit také není hodnocení jednotlivých programátorů. Jeho cílem je posoudit systém, procesy a rizika, ne hledat viníka za rozhodnutí, která často vznikala postupně během mnoha let.

Kvalitní auditor automaticky nedoporučí kompletní přepis. Nejprve ověří, zda firma může problém odstranit stabilizací, úpravou konkrétní části nebo postupnou modernizací.

Audit nemá skončit dlouhým seznamem nálezů bez priorit. Pokud vedení neví, co musí řešit nyní, co může odložit a jaký první krok dává smysl, audit nesplnil svůj účel.

Co musí technický audit firemní aplikace obsahovat

Rozsah auditu se vždy přizpůsobuje konkrétnímu systému a cíli firmy. U firemní aplikace by ale měl zahrnout následující oblasti.

Architektura systému

Auditor zmapuje hlavní části aplikace, jejich odpovědnosti a vzájemné závislosti. Prověří, zda architektura odpovídá současnému provozu a plánovanému rozvoji.

Důležité je zjistit, kde jedna změna ovlivňuje celý systém, které komponenty lze rozvíjet samostatně a kde vznikají kritická místa nebo zbytečně složité vazby.

Výstup nemá obsahovat pouze diagram. Musí vysvětlit, jak architektura ovlivňuje rychlost změn, stabilitu a budoucí náklady.

Kvalita zdrojového kódu

Auditor prověří strukturu projektu, čitelnost, duplicity, technický dluh, správu závislostí, práci s chybovými stavy a kvalitu dokumentace.

Nejde o to označit každý starší postup za chybu. Důležité je najít místa, kde změny představují vysoké riziko, kde tým opakovaně opravuje stejné problémy nebo kde kód brání bezpečnému rozvoji.

Automatické testy

Samotná existence testů nestačí. Auditor musí ověřit, které důležité procesy testy chrání, zda se spouštějí automaticky a zda jejich výsledkům tým důvěřuje.

Zvláštní pozornost si zaslouží fakturace, oprávnění, objednávky, synchronizace dat a další procesy, jejichž chyba může mít finanční nebo provozní dopad.

Databáze a výkon

Audit databáze zahrnuje datový model, indexy, pomalé dotazy, blokování, růst objemu dat, archivaci, zálohování a rizika budoucí migrace.

Auditor by měl pracovat s reálnými provozními daty, statistikami a plány dotazů. Teprve potom může určit, zda problém způsobuje databázový návrh, aplikace nebo nedostatečná infrastruktura.

Bezpečnost a oprávnění

Bezpečnostní část musí prověřit autentizaci, uživatelské role, přístupová práva, správu citlivých údajů, tajné klíče, zranitelné závislosti a dohledatelnost důležitých operací.

Auditor má posoudit také proces aktualizací a reakce na bezpečnostní incidenty. I dobře navržený systém představuje riziko, pokud ho nikdo pravidelně neaktualizuje. Pokud audit souvisí s regulovanou službou, je nutné zohlednit také požadavky NIS2 na aplikace, infrastrukturu a incidentní procesy.

Infrastruktura a provoz

Audit prověří hosting nebo cloud, konfiguraci jednotlivých prostředí, škálování, dostupnost, zálohy, obnovu po havárii, monitoring a logování.

Firma musí vědět, jak rychle tým zjistí výpadek, kde najde příčinu a jak obnoví provoz. Záloha bez pravidelně ověřené obnovy nepředstavuje spolehlivý plán.

Nasazování změn

Auditor zjistí, jak tým sestavuje, testuje a nasazuje nové verze. Prověří automatizaci, oddělení vývojového, testovacího a produkčního prostředí i možnost návratu k předchozí verzi.

Ruční kroky zvyšují riziko chyby a často vytvářejí závislost na jednom člověku. Audit proto musí popsat, které části procesu lze bezpečně automatizovat.

Integrace a datové toky

Firemní aplikace obvykle komunikuje s ERP, CRM, účetnictvím, skladem, e-shopem, výrobními zařízeními nebo externími službami.

Auditor musí zmapovat API, importy, exporty, automatické úlohy, chybové stavy a odpovědnost za jednotlivá napojení. Prověří také duplicity dat, ruční zásahy a situace, kdy si systémy předávají rozdílné informace.

Postup technického auditu aplikace od analýzy po doporučení

Jak technický audit probíhá

Kvalitní audit začíná stanovením cíle. Jinak bude auditor postupovat před převzetím aplikace, jinak před investicí do modernizace a jinak při řešení bezpečnostních nebo výkonnostních problémů.

Obvyklý postup zahrnuje:

  1. Stanovení cíle, rozsahu a hlavních otázek auditu.
  2. Převzetí dostupné dokumentace a potřebných přístupů.
  3. Rozhovory s vedením, uživateli a technickým týmem.
  4. Analýzu zdrojového kódu, databáze, infrastruktury a integrací.
  5. Ověření provozních, výkonnostních a bezpečnostních rizik.
  6. Seřazení zjištění podle dopadu a naléhavosti.
  7. Předání zprávy a prezentaci doporučeného postupu.

Auditor nemůže posoudit podnikový systém pouze pohledem do repozitáře. Musí znát jeho provozní význam, uživatele, kritické procesy a důsledky případného výpadku.

Jaké podklady musí firma připravit

Firma by měla podle rozsahu auditu připravit zejména:

  • přístup ke zdrojovému kódu,
  • přehled vývojového, testovacího a produkčního prostředí,
  • databázové schéma nebo řízený přístup k databázi,
  • seznam integrací a datových toků,
  • dostupnou technickou a provozní dokumentaci,
  • přístup k logům a monitoringu,
  • popis procesu nasazování,
  • přehled známých problémů a incidentů,
  • kontakty na technické a provozní vlastníky systému.

Chybějící dokumentace audit neznemožňuje. Její absence sama představuje důležité zjištění. Auditor však bude muset část informací znovu získat z kódu, konfigurace a rozhovorů, což může audit prodloužit.

Jaký výstup musí firma dostat

Vedení firmy potřebuje výstup, podle kterého může rozhodnout o dalším postupu. Technická zpráva proto musí být srozumitelná nejen vývojářům.

Kvalitní výstup by měl obsahovat:

  • popis současného stavu systému,
  • hlavní technická, provozní a bezpečnostní rizika,
  • vysvětlení jejich dopadu na firmu,
  • priority podle závažnosti a naléhavosti,
  • rychlé stabilizační kroky,
  • návrh postupné modernizace,
  • doporučení, co zachovat a co nahradit,
  • návrh první realistické etapy,
  • rámcový odhad náročnosti dalšího postupu.

Audit, který pouze označí problémy, ale neurčí jejich prioritu, dopad a doporučené řešení, neposkytuje vedení dostatečný podklad pro rozhodnutí.

Rozhodnutí mezi opravou, stabilizací a modernizací systému

Jak poznat kvalitní technický audit

Před objednáním auditu si ověřte, zda dodavatel:

  • propojuje technické nálezy s provozními a obchodními dopady,
  • řadí rizika podle závažnosti,
  • odděluje rychlé opravy od dlouhodobé modernizace,
  • vysvětluje závěry srozumitelně vedení firmy,
  • posuzuje také databázi, infrastrukturu a integrace,
  • navrhuje konkrétní první etapu,
  • zohledňuje dostupný rozpočet a provozní omezení,
  • nenavrhuje automaticky kompletní přepis.

Dobrý audit musí být dostatečně konkrétní, aby podle něj mohl pracovat i jiný technický tým. Firma by neměla zůstat závislá na auditorovi jen proto, aby pochopila jeho vlastní zprávu.

Co může následovat po auditu

Technický audit není cílový stav. Je to podklad pro rozhodnutí.

Podle výsledku může firma:

  • odstranit kritická provozní nebo bezpečnostní rizika,
  • doplnit monitoring, zálohy a dokumentaci,
  • stabilizovat databázi nebo infrastrukturu,
  • nahradit problémovou integraci,
  • modernizovat vybrané části systému,
  • připravit postupný přepis,
  • zavést dlouhodobou technickou správu.

Firma nemusí realizovat všechna doporučení najednou. Smyslem priorit je začít krokem, který přinese největší snížení rizika nebo nejrychlejší provozní přínos.

Výstup technického auditu a roadmapa dalšího rozvoje

Jak s technickým auditem pomáhá GoveSoft

GoveSoft prověřuje firemní aplikace, které se obtížně rozvíjejí, chybí jim dokumentace nebo zůstaly závislé na původním dodavateli.

Audit zaměřujeme na konkrétní rozhodnutí. Posoudíme architekturu, zdrojový kód, databázi, bezpečnost, infrastrukturu, integrace i proces nasazování. Zjištění seřadíme podle jejich dopadu a navrhneme první realistickou etapu.

Výsledkem nemá být automatické doporučení kompletního přepisu. Cílem je zjistit, co firma musí stabilizovat, co může zachovat a kde modernizace přinese skutečný provozní nebo obchodní přínos.

Potřebujete zjistit skutečný stav aplikace před převzetím, modernizací nebo větší investicí? Podívejte se, co prověřujeme při technickém auditu a jaký výstup dostanete.

Přejít nahoru