Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti
Maintenance Tomáš Krátký
[email protected] http://www.profinit.eu/cz/podpora-univerzit/univerzitni-vyuka
Co je údržba ? Stav systému o Systém je dodán v rozsahu dle nabídky o Systém je akceptován a rutinně provozován o Systém neobsahuje příliš mnoho chyb Předmět vývoje o Chyby / problémy v produkci o Drobné změny o Systematický rozvoj Rytmus dodávek o Pravidelné plánované releases o Malé dodávky pro naléhavé věci
Typy údržby dle ISO/IEC 14764 Corrective o Za účelem opravy nalezených chyb a problémů Adaptive o Za účelem udržení použitelnosti SW v měnícím se prostředí
Perfective o Za účelem zlepšení výkonnosti nebo udržovatelnosti Preventive o Za účelem detekce a opravy latentních chyb než se stanou skutečné
SWEBOK
Údržba vs. …
Údržba vs. SDLC Miniwaterfall o Máme o systému velkou znalost o Rozsah změny typicky menší o Velmi efektivní
Údržba vs. SDLC
Údržba vs. měření o Velmi snadno lze získat přesná čísla – absolutní i relativní
o Nutné pro dobrou ekonomiku o Podklad pro servisní smlouvu na další léta
Údržba vs. dokumentace V rámci údržby upravujete systém o potenciálně dlouho poté, co byl vytvořen o aniž byste byli jeho autory to je nemožné bez kvalitní dokumentace !! Minimálně potřebujete o kvalitní specifikaci, abyste uhlídali rozsah o architekturu a design, abyste je mohli ctít o jasné a přesné postupy, abyste se jimi mohli řídit Zásadní otázky o Otázka formy o Otázka množství, uspořádání a orientace o Otázka ekonomie tvorby, údržby a používání
Údržba vs. dokumentace
Údržba vs. dokumentace
Údržba vs. vývojové prostředí o Maximálně podobné produkci o Maximálně podobně používané o Continuous integration / smoked testing
Viz vše z přednášky o vývojovém prostředí !
Údržba vs. architektura o Rozšiřitelnost, udržovatelnost architektury je klíčová a usnadňuje údržbu o Nutná schopnost absorbovat nové požadavky o Pozor na postupné a plíživé ničení architektury – Nerespektujeme původní architekturu – Zavádíme nesystematicky nové koncepty
Údržba vs. CM o Evidence všech požadavků zákazníka o Definovaný proces změnového řízení o Mapování na dodávky o Klasické situace – Práce na dalším release – Oprava chyby v akceptaci - nekritické – Oprava chyby v produkci - kritické
Údržba vs. CM
Údržba vs. CM
Údržba vs. testy Větší systém je prakticky nemožné po každé změně otestovat ručně celý, takže komplexní testování se buď ignoruje nebo
existují regresní automatické testy, průběžně se testuje každý ZR / chyba, testy jsou dobře naplánované a zorganizované, existuje záznam o testování, existuje dobré akceptační testování.
Údržba vs. testy
Údržba vs. ekonomika o Cílem je na údržbě vydělat – velmi efektivní proces – velmi přesné odhady
Údržba vs. … vše ostatní o V období údržby je kladen zvýšený důraz na – kvalitu a – efektivitu
prakticky všech činností
Je těžké udržet pořádek. Je snadné polevit. Je snadné údržbu podcenit. Je snadné „šlápnout vedle“.
Rekapitulace Systém, agendu, situaci, zákazníka, … známe o Lze mít velký pořádek v procesu údržby o Lze přesně stanovit okrajové podmínky o Lze přesně určovat pracnost, data dodávek, …
Systém, agenda, situace, … jsou velké / složité o Lze elegantní systém postupně snadno rozbít
Poznatky z praxe
Poznatky z praxe Typické problémy o Podcenění o Opomenutí o Chuť "vydělat" na parciální věci o Závislost na konkrétních lidech o Ne každý se údržbou dokáže nadchnout o Plíživé ničení architektury, designu, … o "Čemu nerozumím mažu" o Neznalost systému o … Dobré rady o Disciplina a dodržování rozumných postupů je nutná podmínka o Zásadní závislost na kvalitě návrhu o Složitější systém složitější údržba o Velmi složité s osobami, které nemají k systému "citový" vztah o Nepodceňovat moment únavy
Goodies
Templates, checklists, literatura o Vše co bylo dříve … o Vše co bude později …
Otázky ???