VŠE, fakulta Podnikohospodářská Manažerská informatika - projektové řízení Projekt implementace informačního systému Jiří Mikloš 2009
Obsah Obsah Obsah... 2 Úvod... 3 Zadání... 4 Projektový postup... 5 Iterativní přístup... 5 Jednotlivé fáze projektu a výstupy... 7 Úvodní studie... 7 Technický projekt... 8 Konstrukce... 9 Zavedení... 10 Složení projektového týmu... 11 Harmonogram projektu... 12 Sumarizace zdrojů a nákladů... 13 Přínosy MS Project z mého hlediska... 14
Úvod Cílem této seminární práce je ukázat středně velký projekt, který řeší softwarová firma (pro účely tohoto dokumentu si ji pojmenujeme WebSoft) zabývající se vývojem informačních systémů na zakázku. V rámci seminární práce budou zmapovány jednotlivé aktivity nutné k úspěšné realizaci projektu a to jak z pohledu finanční tak časové náročnosti. Při vytváření projektu jsem se snažil využít všechny hlavní nástroje vyučované v rámci tohoto předmětu. V tomto případě je zákazníkem této společnosti například nějaká Stavební spořitelna (pro účely tohoto dokumentu ji nazývejme JSS Jihočeská stavební spořitelna), která prodává své produkty prostřednictvím sítě partnerských obchodníků či společností zabývající se finančním poradenstvím. Kalkulace projektu zahrnuje pouze zdroje, které je potřeba zajistit na straně softwarové firmy. Při vývoji informačních systémů tohoto rozsahu je často potřeba i na straně zákazníka vytvořit paralelní projektový tým, který podává součinnost a podílí se na testování a akceptaci dodávaného řešení. Veškeré dodávky hardwarové i softwarové infrastruktury zajišťuje zákazník, v projektu s nimi tedy není počítáno. Projekt začíná ve chvíli, kdy již byla akceptována nabídka společnosti na vývoj aplikace, to znamená, že v projektu není kalkulováno s náklady a zdroji potřebnými na aktivity spojené s akvizicí zákazníka a výrobou nabídky. Websoft nedisponuje vlastními zdroji potřebnými pro vývoj informačního systému a tyto zdroje si najímá za předem dané hodinové sazby od outsourcingového partnera. Websoft se řídí nejlepšími praktikami softwarového vývoje a svoji práci podporuje metodikou odvozenou IBM Rational Unified Process. Websoft i JSS jsou vymyšlené názvy a pokud na trhu existují takto se jmenující subjekty, jedná se pouze o náhodu.
Zadání Na trhu se stavebním spořením finanční instituce obvykle k prodeji svých produktů využívají smluvní prodejce či zdánlivě nezávislé finanční poradce. Fluktuace těchto obchodníků mezi jednotlivými spořitelnami je velmi vysoká a dobrý a zkušený obchodník má velkou cenu. Stavební spořitelny se tedy snaží svým obchodníkům nabízet dobré podmínky a podpůrné služby, aby si je udrželi. Záměrem nové plánované aplikace Informačního systému obchodníka spořitelny (ISOSS) je nabídnout obchodníkům online přehled o klientech, smlouvách a aktuální výši provize. Dále aplikace přináší funkcionality, které zrychlí proces výroby nabídek a smluv a umožní tištění těchto dokumentů dle šablon. Obchodník musí mít danou aplikaci přístupnou pomocí webového prohlížeče odkudkoliv, kde je připojení k internetu. Výpočet provizí Internetová aplikace Přehled zákazníků Integrace se systémy JSS ISOSS Tisk dokumentů dle šablony Forecasting Součástí zadání je relativně podrobná zadávací dokumentace vytvořená obchodním a IT oddělením spořitelny. Obchodní oddělení spořitelny chce začít využívat nový informační systém nejpozději 1.7. 2010.
Projektový postup Dle nejlepších praktik softwarového vývoje projekt vývoje ISOSS budeme realizovat ve dvou částech a čtyřech fázích. Projekt rozdělíme na část Projekční a Implementační. Část Projekční dále dělíme na fáze Úvodní studie a Technický projekt, část Implementační na fáze Konstrukce a Zavedení. Cílem Úvodní studie je jasně popsat "Co je předmětem informačního systému?". Technický projekt odpovídá na otázku "Jak bude informační systém vytvořen?". V rámci konstukční fáze je informační systém vyroben a otestován. Fáze Zavedení probíhá v prostředí zákazníka, kdy je informační systém nasazen do produkčního prostředí a spuštěn pilotní provoz - ostrý provoz IS na omezené skupině uživatelů a dat. Iterativní přístup Při výrobě nového ISOSS se budeme orientovat na včasnou eliminaci rizik, a proto využijeme iterativní přístup. Iterativní vývoj vychází z všeobecně známého vodopádového postupu vývoje, který se aplikuje na každou jednotlivou iteraci. V průběhu realizace projektu proběhne několik "vodopádů" - iterací. Každá iterace má stejný průběh: sběr a analýza požadavků, návrh řešení, implementace a na závěr ověření kvality a integrace.
V jednotlivých fázích projektu se iterace liší v míře provádění jednotlivých činností. Ve fázi Technického projektu je v iteracích kladen důraz na analýzu a návrh, implementace se týká pouze prototypu. Naopak v konstrukční fázi jsou stěžejní činnosti iterací implementace, testování a integrace. Níže následuje klasický obrázek z metodiky vývoje informačních systémů Rational Unified Process, který znázorňuje míru intenzity jednotlivých činností v průběhu celého projektu.
Jednotlivé fáze projektu a výstupy Úvodní studie V úvodu projektu definujeme tzv. Vizi informačního systému. V té jsou specifikovány veškeré požadavky zákazníka, rámcový rozsah projektu a jeho cíle. V rámci Úvodní studie je Vize dále zpracována a výstupem studie je návrh řešení informačního systému, který je popsán z pohledu řešené business problematiky, funkčních požadavků, architektonických omezení i z pohledu známých rizik, která je nutné řešit v dalším průběhu projektu. Vize softwarového systému by měla stanovit základní představu projektu. V rámci Úvodní studie je Vize dále zpracována do těchto výstupů: Cíle a záměry projektu Model obchodního případu Určení rozsahu projektu Základní model případů užití Seznam známých rizik projektu Globální plán projektu
Technický projekt Výstupem pro Technický projekt je funkční specifikace informačního systému, včetně návrhu architektury a její ověření prototypem. Mezi tyto výstupy patří konceptuální modely celého řešení, modely a specifikace případů užití, datové a objektové modely, popis softwarové architektury, standardy uživatelského rozhraní, ale také počáteční ohodnocení rizik a plán konstrukční fáze softwarového projektu. Uvedené artefakty jsou v dalších fázích a případně i etapách průběžně aktualizovány. Úvodní studie Technický projekt Konstrukce Zavedení Technický projekt Implementační modely Standardy a návrhy uživatelského rozhraní Specifikace a modely případů užití Uživatelská práva a skupiny Popis SW architektury Zálohovací strategie Testovací strategie a plán Ohodnocení rizik Prototyp Plán konstrukce Model a specifikace případů užití - model případů užití informačního systému představuje pohled na funkce informačního systému z hlediska jeho uživatelů, definuje rozdělení systému na logické celky, v rámci kterých jsou pojmenovány a detailně definovány funkce systému. Popis softwarové architektury - detailně specifikuje rozdělení systému do vrstev (uživatelské rozhraní, obchodní logika, perzistentní uložení dat). Popisuje způsoby komunikace jednotlivých částí systému, definuje požadavky na hardware a systémový software a určuje vývojové nástroje pro všechny komponenty systému. Součástí je specifikace rozhraní na externí systémy. Implementační modely - vytvářen je zejména model struktury relační databáze, která bude sloužit jako hlavní datové úložiště. Je-li to přínosné z hlediska charakteru projektu, jsou vytvářeny i další typy modelů (modely tříd, stavové a procesní diagramy). Bezpečnostní studie - identifikuje jednotlivá bezpečnostní rizika systému (interní, externí) a navrhne postupy k jejich eliminaci v oblasti architektury a technologií systému (např. digitální certifikáty, HTTPS, čipové karty), komunikace (firewall, DMZ) a organizace (přístupová práva). Strategie zálohování a obnovy - v rámci Technického projektu jsou navrženy hlavní principy zálohovací strategie, umožňující splnit požadavky zákazníka na dostupnost systému. Tato strategie je následně implementována v rámci Konstrukční fáze.
Standardy uživatelského rozhraní (Grafický manuál) - návrh grafického rozhraní aplikace v souladu s grafickými standardy EOP. Seznam rizik - identifikuje hlavní rizika projektu a strategie pro jejich eliminaci v případě, že dané riziko skutečně nastane. Plán konstrukce - detailně popisuje obsah navazujících fází projektu, popř. je dále rozděluje do iterací a stanoví funkční obsah iterací na základě případů užití. Prototyp - prototyp je dodáván ve dvou podobách: Architektonický a Funkční. Účelem architektonického prototypu je ověření použitelnosti zvolené architektury a dále integrovatelnosti do stávajícího aplikačního prostředí zákazníka. Funkční prototyp má za úkol ověřit na konkrétním příkladu realizovatelnost funkčních požadavků na zvolené architektuře, navržený design aplikací a ergonomii navržených ovládacích prvků. Konstrukce Ve fázi Konstrukce je využíván dříve zmiňovaný iterativní přístup. Hlavními výstupy fáze konstrukce jsou: Beta-verze informačního systému - vlastní informační systém ISOSS, připravený k nasazení do prostředí zákazníka k pilotnímu provozu. Projektová dokumentace - nedílnou součástí dodávky každého informačního systému je dokumentace. Budou vytvořeny následující druhy dokumentace: Uživatelská příručka, Administrátorská a Provozní dokumentace, Instalační příručka, Programátorská dokumentace. Nedílnou součástí dokumentace projektu je aktualizovaný Technický projekt. Zdrojové kódy - zdrojové kódy jsou řádně komentovány a tyto komentáře tvoří součást programátorské dokumentace. Školení - před zavedením informačního systému do provozu je potřebné proškolit uživatele a administrátory systému. Jedním z výstupů jsou také školící materiály (prezentace, příručka).
Závěry testů - v průběhu implementační fáze probíhají také interní systémové testy. Závěry z těchto testů, které popisují typy prováděných testů, popis testovacích scénářů a dat, počet nalezených chyb jsou předány zákazníkovi. Plán zavedení - detailně popisuje obsah navazující fáze projektu - tedy fáze Zavedení. Zavedení Cílem fáze zavedení je nasadit informační systém do rutinního provozu. Prvním krokem je tzv. pilotní provoz. Pilotní provoz je běh informačního systému v cílovém ICT prostředí na omezené skupině dat a uživatelů. V rámci implementace ISOSS v Jihočeské stavební spořitelně navrhujeme tento pilotní provoz realizovat na jedné vybrané pobočce. Cílem pilotního provozu je odladit poslední chyby systému v cílovém prostředí a ověřit kvalitu systému v reálném provozu. Akceptací pilotní provozu přechází systém do plné produkce. Cílem této fáze je finální verze informačního systému nasazená v produkčním prostředí. Systém splňuje všechny parametry definované v SLA (Service Level Agreement). Systém je předán do oddělení, které je zodpovědné za provoz informačních systémů.
Složení projektového týmu Jádro týmu je tvořeno třemi základními rolemi - ředitel projektu, softwarový architekt a business architekt. Tyto role, resp. pracovníci v nich obsazeni tvoří management projektu. Ředitel projektu Softwarový architekt Business architekt Test architekt Konfigurační manažer Vývojář Tester DB architekt Analytik Dokumentarista Na obrázku výše je znázorněn kompletní seznam rolí, které se budou na výrobě ISOSS podílet.
Harmonogram projektu Realizace projektu bude trvat 28 pracovních týdnů. Délka jednotlivých fází činí: Úvodní studie 3 týdny Technický projekt 5 týdnů Konstrukce 17 týdnů Zavedení 3 týdny
Sumarizace zdrojů a nákladů Celkové finanční náklady na projekt (z pohledu lidských zdrojů) činí 4 560 000 Kč. Nákladovost jednotlivých fází projektu je následující: Fáze projektu Úvodní studie Technický projekt Konstrukce Zavedení náklady 290800,00 Kč 614800,00 Kč 3376400,00 Kč 278000,00 Kč Vytížení jednotlivých zdrojů naprojektu je v tabulce níže: role na projektu vytížení hodin Ředitel projektu 1120,00 Softwarový architekt 856,00 Analyitk1 824,00 Vývojář1 520,00 Vývojář2 408,00 Vývojář3 312,00 Databázový architekt 171,20 Analyitk2 160,00 Tester1 104,00 Tester2 104,00 Test architekt 96,00 Konfigurační manažer 96,00 Business architekt 64,00 Tester3 40,00 Dokumentarista 24,00 Vývojář4 0,00 Další požadovaná data je možné najít v přiloženém souboru MS Project.
Přínosy MS Project z mého hlediska Při plánování projektu mi MS Project pomohl zejména: Uvědomit si jednotlivé návaznosti činností na projektu a identifikovat aktivity, které lze realizovat paralelně a tak zkrátit celkovou dobu trvání projektu. Identifikovat zdroje, které jsou na projektu přetíženy. Zkalkulovat celkové náklady na projekt. Zjistit předpokládanou dobu trvání projektu. Identifikovat kritickou cestu, tedy činnosti jejichž zpoždění ovlivní celkovou dobu trvání projektu.