V dnešním světě je Životní cyklus informačního systému opakujícím se tématem, které upoutalo pozornost milionů lidí po celém světě. Ať už kvůli svému dopadu na společnost, jeho významu v populární kultuře nebo jeho vlivu v profesionální oblasti, Životní cyklus informačního systému se stal stálým bodem diskuse. Od svých počátků až po současnost zanechala Životní cyklus informačního systému svou stopu v různých aspektech každodenního života, vytváří protichůdné názory a vášnivé debaty. V tomto článku důkladně prozkoumáme fenomén Životní cyklus informačního systému a analyzujeme jeho nejdůležitější aspekty, abychom porozuměli jeho důležitosti a jeho možným důsledkům pro budoucnost.
Životní cyklus projektu se skládá z jednotlivých etap, které si můžeme představit jako na sebe naskládané kamenné kostky, které takto složené tvoří např. most. Most v našem případě znamená náš cíl projektu, tedy správně fungující informační systém (IS), a jednotlivé kostky si představíme jako jednotlivé etapy stavby našeho mostu. Nejprve zjistíme, zda se vyplatí most vůbec postavit, tzn. zda přistoupit k jeho realizaci, tedy zjistíme, zda bude opravdu výhodnou investicí, zda jej lidé opravdu potřebují (v případě IS zachycujeme požadavky na systém tzn. jeho funkčnost, design, návaznost na jiné systémy, integraci s ostatními systémy, reakční dobu,…). V případě, že se stavba mostu (tvorba IS) opravdu vyplatí, nastává fáze analýzy, kdy se vytváří nákresy mostu, odhady nákladů a zdrojů (v případě IS jde o konceptuální model, který zachytí danou skutečnost v rámci modelu).
V další části vytvoříme přesný nákres mostu (v případě IS vytvoříme implementační model systému, tedy konkrétního návrhu IS), nastává proces stavby mostu (vývoj dané aplikace), tedy samotný vývoj a dále následná implementace a zavedení (nainstalování a spuštění aplikace), kdy je most podroben zátěžovým zkouškám (provedení zátěžových testů na systém)a je spuštěn zkušební přechod (zkušební provoz aplikace). Poté je most uveden do běžného užívání, je v provozu a neustále udržován (udržování IS), jako např. drobné opravy, úklid (změny v IS) a v případě, že hrozí zhroucení, tj. když již ani úpravy a rekonstrukce nemají smysl či se finančně nevyplatí (IS je tak zastaralý a nefunkční, že se nevyplatí opravy a nejlepší možností je vytvořit nový), nastává fáze stažení z užívání (zbourání mostu).
Jak jsme již uvedli na příkladu výše, životní cyklus vývoje IS se skládá z jednotlivých etap (můžeme říci, že i z jednotlivých fází). Jedná se o kompletně pokrytý cyklus vývoje IS od jeho počátků, kdy zvažujeme, zda IS vůbec vyvíjet, přes zachycení jeho požadavků, tvorbu konceptuálního a implementačního (designového) modelu, implementaci, zavedení, testování až po údržbu systému a jeho provoz, v některých případech i stažení systému z užívání.
Každý proces vývoje IS můžeme tedy popsat prostřednictvím životního cyklu. Obecně si zde definujeme jeho základní etapy, kterými jsou:
Pojem životního cyklu je velice rozšířený. I když jej chápeme správně jako jednotlivé po sobě jdoucí a na sebe navazující fáze tvorby IS, tedy jako posloupnost kroků, které je třeba vykonat pro dosažení úspěšného vývoje IS, přizpůsobujeme si jej podle svých požadavků a potřeb. To nám umožňuje dosáhnout vyšší efektivity a produktivity při vývoji a mimochodem to životnímu cyklu vůbec neubírá na jeho důležitosti a významu, neboť právě definování životního cyklu a jeho fází bylo základem a nutností pro možnost vzniku metodik. Metodiky pro řízení a vývoj IS využívají životní cyklus jako svůj základ a definované fáze umožňují podrobněji určit jednotlivé činnosti, na které jsou aplikovány přímo jednotlivé metody. Začátky a konce etap životního cyklu jsou základními klíčovými milníky, podle kterých se řídí vývoj jednotlivých metodik.
Jak již bylo řečeno, ne vždy jsou však fáze životní cyklu striktně definovány. Různí autoři chápou IS z odlišného hlediska, například produktového hlediska, z hlediska vývoje vlastního IS či podle používané metodiky. Uveďme si nyní několik příkladů.
Kendall[1] uvádí tyto fáze vývoje:
Podle Poláka [2] má životní cyklus fáze:
Podle Řepy [3] vychází životní cyklus z dané metodiky a jako doporučení uvádí, že je dobré pro každou metodiku stanovit:
Také se zmiňuje o tom, že každá etapa se skládá z činností a zdůrazňuje, že pro každou činnost by měla existovat metodika, kterou je činnost popsána.
Metodika by měla obsahovat:
Z výše uvedeného tedy vyplývá, že životní cyklus může být chápán různě. Přesto existují národní a mezinárodní standardy, které popisují posloupnost kroků a přesné určení jaké metody, techniky, nástroje, dokumenty, řízení atd. použít při vývoji IS.
V České republice byl v prosinci roku 2002 vydán Standard ISVS 005/02.1 pro náležitosti životního cyklu informačního systému, který vydal Úřad pro veřejné informační systémy v Praze. Standard se vztahuje na IS veřejné správy a na projekty akvizice, vývoje, provozu a údržby těchto systémů a věnuje se především dokumentaci a jednotlivým krokům, které musí být provedeny pří vývoji IS. Standard definuje základní postupy a náležitosti procesů životního cyklu informačního systému nebo jeho části s hlavními cíli:
Dále jsou standardem sledovány cíle:
Mezinárodní standardy pronikají také na území České republiky a jejich dodržování se stává jedinou z možností jak obstát na konkurenčním trhu. V této podkapitole se zaměříme na ty nejznámější.
ISO/IEC 12207 [4]
ISO/IEC 12207 je mezinárodní standard určený pro softwarové procesy v rámci životního cyklu (Software Life Cycle Processes). Tento standard byl poprvé navržen v roce 1988 a publikován v roce 1995 a stanoven jako společný mezinárodního rámec pro vývoj, dodávky, podporu a údržbu softwaru. Standard se věnuje především třem zásadním procesům: procesům primárního životního cyklu, podpoře procesů životního cyklu a organizačním procesům životního cyklu.
ISO/IEC 15504 [5]
ISO/IEC 15504 Software Process Improvement and Capability Determination, známý pod zkratkou SPICE, je mezinárodní rámec pro hodnocení procesů, který byl vyvinut Joint Technical Subcomittee v období mezi standardem ISO (International Organization for Standardization) a IEC (International Electrotechnical Comission). Byl odvozen ze standardu procesu životního cyklu ISO 12207 a modelů dospělosti (maturity models) jako je model CMM (o modelu CMM je pojednáno v kapitole 8.5.2.1), Bootstrap a Trillium. Standard obsahuje referenční model, který definuje dimenze procesů a dimenze "způsobilosti" (capability). Dimenze procesů jsou rozděleny do pěti kategorií procesů na dimenzi zákazník/dodavatel, inženýrství, podpora, řízení a organizace. Vyspělost procesů (capability of processes) je měřena pomocí atributů procesu a jsou definovány mezinárodním standardem devíti atributy jako je výkonnost procesů, řízení procesů, dále definice, rozmístění, měření, kontrola, inovace a optimalizace procesu. Každý z těchto atributů je hodnocen pětibodovým hodnocením od nedosaženo (not achieved) až po plně dosaženo (fully achieved). Standard poskytuje návod na to, jak provádět hodnocení procesů, obsahuje model pro toto hodnocení a doporučené nástroje používané pro hodnocení.
Životní cyklus kompletně pokrývá celý vývoj IS, který se skládá z jednotlivých etap/fází, které na sebe navazují. Každý IS lze popsat pomocí životního cyklu, jehož základními etapami je zachycení požadavků na systém, tvorba konceptuálního a implementačního modelu, implementace, zavedení, testování, udržování systému a jeho provoz a v některých případech také i stažení systému z užívání.
Jednotliví vývojáři si životní cyklus přizpůsobují podle svých vlastních potřeb, tzn. ne vždy se shodují názvy etap a jejich rozdělení do dílčích činností a úkolů u všech projektů. To umožňuje každému přizpůsobit si životní cyklus podle svých potřeb, čímž dochází ke zvýšení efektivity a produktivity.
Pro snadnější pochopení životního cyklu existují národní a nadnárodní standardy. Zmínili jsme český standard ISVS 005/02 z roku 2002, který se vztahuje na IS veřejné správy a na projekty akvizice, vývoje, provozu a údržby těchto systémů, dále se věnuje především dokumentaci a jednotlivým krokům, které musí být provedeny pří vývoji IS.
Nejznámějšími mezinárodními standardy je Standard ISO/IEC 12207 a ISO/IEC 15504. ISO/IEC 12207 je Standard pro softwarové procesy v rámci životního cyklu (Software Life Cycle Processes) a je návodem, jak správně řídit projekt IS. Standard ISO/IEC 15504 (Software Process Improvement and Capability Determination) nám může pomoci při zlepšování procesů v rámci vývoje IS, které vedou k zvýšení efektivnosti a produktivity práce.