Údržba softwaru: typy a jak ji naplánovat
Údržba softwaru zajišťuje, že aplikace po spuštění dál funguje a je bezpečná. Projdeme typy údržby a ukážeme, jak ji naplánovat.
Shrnutí a kontext
„Hotová aplikace“ je stav, který trvá do první bezpečnostní záplaty některé z jejích závislostí. Údržba softwaru je všechno, co se s aplikací děje po spuštění, aby dál fungovala a byla bezpečná. Níže najdete typy údržby, co patří do plánu údržby a které úkoly se opakují každý měsíc, čtvrtletí a rok.
1. Co je údržba softwaru
Údržba začíná prvním dnem v provozu. Patří do ní opravy chyb, aktualizace knihoven a běhového prostředí, úpravy kvůli změnám v okolních systémech i drobná vylepšení. Ve smlouvách o servisu se k ní obvykle přidává i provoz: zálohy, monitoring a obnova certifikátů.
Údržbu často dělá někdo jiný než původní vývojáři, typicky agentura po předání aplikace nebo nový kolega o rok později. Nejdřív pak musí dohledat přístupy, prostředí a to, jaká verze kde běží. U nahlášené chyby se ještě zjišťuje, jestli už není opravená v novější verzi.
2. Typy údržby softwaru
Klasické dělení podle normy ISO/IEC/IEEE 14764 má čtyři typy. Opravná a preventivní údržba řeší chyby, adaptivní a zdokonalovací údržba aplikaci mění. Samotný provoz, tedy zálohy a správu serverů, norma do údržby nezahrnuje, ve smlouvách o servisu ale bývá.
| Typ | Co zahrnuje | Příklad |
|---|---|---|
| Opravná | Oprava chyb nalezených v provozu | Export faktur padá u faktur s více než 100 položkami |
| Adaptivní | Přizpůsobení změnám prostředí | Nová verze Node.js, změna API platební brány, nová verze iOS |
| Zdokonalovací | Vylepšení výkonu nebo drobné nové funkce | Rychlejší načítání seznamu, nový filtr |
| Preventivní | Odstranění problémů dřív, než způsobí chybu | Aktualizace knihovny se známou zranitelností, refaktoring |
3. Co patří do plánu údržby
Plán údržby říká, o co se kdo stará, jak rychle reaguje a co se dělá pravidelně. Bez něj se údržba dělá jen ve chvíli, kdy něco přestane fungovat. Doby reakce a dostupnost se obvykle sepisují do samostatné smlouvy, viz šablona SLA.
4. Pravidelné úkoly údržby
Většina údržby se dá rozepsat do opakovaných úkolů. Nové verze ověřte na staging prostředí dřív, než je nasadíte na produkci.
| Jak často | Úkoly |
|---|---|
| Každý měsíc | Aktualizace knihoven a bezpečnostních záplat, kontrola chyb v monitoringu, kontrola, že zálohy proběhly |
| Každé čtvrtletí | Zkušební obnova ze zálohy, kontrola přístupů (odebrat lidi, kteří na projektu nepracují), kontrola termínů konce podpory |
| Každý rok | Prodloužení domény a certifikátů, které se neobnovují samy, revize SLA a nákladů, revize technického dluhu |
5. Údržba aplikací pro více klientů
Agentura, která udržuje desítky aplikací, může u nich využívat více poskytovatelů hostingu, monitoringu a dalších služeb. V případě nutnosti řešit problém v produkčním prostředí pak potřebuje rychle dohledat přístupy, prostředí a kontakty ke konkrétní aplikaci.
V AboutTheApp má každá aplikace své odkazy rozdělené do kategorií, například Monitoring a kvalita, DevOps a infrastruktura, Zabezpečení a Podpora. Odkazy, které se týkají jen jednoho klienta nebo prostředí, připojíte jen k nim a označíte jako privátní. Dashboard ukazuje nasazené verze u každého klienta a umí vyfiltrovat zastaralé instalace, takže je vidět, kde je aktualizace na řadě. Klient na své About page vidí svá prostředí, verze a poznámky k vydání, což z velké části nahradí měsíční přehled nasazení.
Do AboutTheApp nepatří přístupové údaje ani API klíče. U aplikace uveďte odkaz na položku ve správci hesel nebo v trezoru tajných klíčů a přístup řiďte tam.
Časté otázky
Jaké jsou typy údržby softwaru?
Podle normy ISO/IEC/IEEE 14764 se rozlišuje údržba opravná (oprava chyb z provozu), adaptivní (přizpůsobení změnám prostředí), zdokonalovací (vylepšení a drobné funkce) a preventivní (odstranění problémů dřív, než způsobí chybu).
Co zahrnuje údržba softwaru?
Opravy chyb, aktualizace knihoven, běhového prostředí a bezpečnostních záplat, úpravy kvůli změnám v okolních systémech a drobná vylepšení. Smlouva o servisu k tomu obvykle přidává provoz: monitoring, zálohy, obnovu certifikátů a doby reakce na výpadky.
Jaký je rozdíl mezi podporou a údržbou softwaru?
Podpora řeší dotazy a požadavky uživatelů, například jak něco udělat nebo proč něco nefunguje. Údržba mění samotnou aplikaci a její prostředí. Nahlášená chyba často začne v podpoře a skončí jako úkol pro údržbu.
Jak často se má aktualizovat software?
Bezpečnostní záplaty co nejdřív po vydání, ostatní aktualizace knihoven typicky jednou za měsíc. Verzi běhového prostředí a frameworku je potřeba změnit dřív, než jí skončí podpora, ne až potom.
Jak mít přehled o údržbě mnoha aplikací najednou?
Potřebujete u každé aplikace stejně uspořádané podklady: odkazy na hosting, monitoring a repozitář, kontakty a nasazené verze. V AboutTheApp je máte u aplikace podle kategorií a dashboard ukazuje, u kterých klientů běží zastaralá verze.
Ve zkratce
Údržba softwaru je pravidelná práce, ne reakce na výpadky. Plán s rozsahem, dobami reakce a opakovanými úkoly a jedno místo se všemi podklady k aplikaci z ní dělají předvídatelnou službu.
Chcete mít podklady k údržbě u každé aplikace?
Založte si zdarma aplikaci v AboutTheApp a připojte k ní odkazy na hosting, monitoring, zálohy a kontakty.