DÔLEŽITOSŤ ANALÝZY RIZÍK PRI VYTVÁRANÍ SOFTVÉROVÉHO PROJEKTU - PDF

Description
DÔLEŽITOSŤ ANALÝZY RIZÍK PRI VYTVÁRANÍ SOFTVÉROVÉHO PROJEKTU Keď m{m dobre preskúmané z{kutia mojej cesty, bezpečne dorazím do cieľa. Ľuboš Gel{nyi Slovenská technická univerzita Fakulta informatiky a

Please download to get full document.

View again

of 8
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information
Category:

Maps

Publish on:

Views: 12 | Pages: 8

Extension: PDF | Download: 0

Share
Transcript
DÔLEŽITOSŤ ANALÝZY RIZÍK PRI VYTVÁRANÍ SOFTVÉROVÉHO PROJEKTU Keď m{m dobre preskúmané z{kutia mojej cesty, bezpečne dorazím do cieľa. Ľuboš Gel{nyi Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, Bratislava Abstrakt. Je všeobecne zn{me, že pri takmer každej ľudskej činnosti vznik{ riziko neúspechu. Preto je dôležite rizik{ definovať a vopred sa pripraviť na riešenie možných problémov, prípadne obídenie samotného rizika. Analýza rizík je jednou z dôležitých činností potrebných pre úspešné realizovanie softvérového projektu. V súčasnosti je dok{zané, že pri dôkladnej analýze rizík je realiz{cia projektov efektívnejšia. V tejto eseji by som r{d priblížil z{kladné výhody analýzy rizík pri vytváraní projektu a spresnil informácie o analýze rizík samotnej ako aj porovnal jej dôležitosť pri vytv{raní väčších alebo menších softvérových projektov. Poznatky aplikujem na softvérový projekt, ktorý vytvára Tím 17 v rámci predmetu Tvorba softvérového systému v tíme 1 na FIIT STU. Kľúčové slová: identifikácia a analýza rizík, hrozby, efektivita projektu, vývoj softvéru, softvérový projekt Úvod Nepochybne každý človek sa ob{va neúspechu. Aj keď lenivosť či pohodlnosť n{s môžu značne demotivovať, človek sa od prírody snaží svoju pr{cu robiť kvalitne o to viac v tejto rýchlej dobe, ktor{ n{s núti posúvať sa st{le vpred a robiť svoju pr{cu dokonale v rámci našich možností. Manažment projektov softvérových a informačných systémov, 2009, s. 1-8 2 Ľuboš Gelányi Jedným z možných riešení ako maximalizovať šance na úspešné ukončenie svojej práce môže byť identifikovanie a spr{vne vyhodnotenie rizík, ktoré môžu pri vykon{vanej činnosti nastať. Spomedzi softvérových projektov, ktoré boli schv{lené pre vývoj, je 5 až 15 percent dokončených po termíne a to vo forme prinajmenšom neadekv{tnej. Veľmi veľa ostatných projektov je dokončených príliš neskoro a veľakr{t aj s presiahnutým rozpočtom. M{lo softvérových projektov je skutočne úspešných. A pritom softvérové zlyhanie je najlepšie predvídateľné a je veľmi ľahké sa mu vyhnúť [2]. Stačí len definovať rizik{ a správne ich zanalyzovať. Pri riešení softvérového projektu treba analýze rizík venovať maxim{lnu dôležitosť. Je potrebné určiť mieru ohrozenia fungovania pr{ce na projekte daným rizikom. Je dok{zané, že pomerne veľké percento vyvíjaných softvérových projektov skončí neúspešne. Toto môže byť spôsobené viacerými faktormi. V príprave na tvorbu softvérového projektu nazývame tieto faktory ako potenci{lne rizik{. Rizik{ by mali byť identifikované pred začatím pr{ce na projekte a n{sledne by mala byť vypracovan{ veľmi dôležit{ analýza rizík. Identifikácia a analýza rizík v softvérom projekte Analýza rizík je proces, prostredníctvom ktorého sa identifikujú bezpečnostné rizik{, ktoré je potrebné kontrolovať alebo akceptovať [3]. Riziko môžeme definovať ako hrozbu možnej straty. V kontexte vývoja softvéru môže byť t{to strata ch{pan{ ako zníženie kvality softvérového produktu, zvýšenie nákladov, oneskorené finalizovanie projektu alebo úplné zlyhanie [1]. Z uvedeného vyplýva, že analýza m{ svoje opodstatnenie pri poznaní rizík, tak z hľadiska bezpečnosti softvérového produktu, ako aj z hľadiska efektivity procesu tvorby softvéru. Bez dôkladného poznania potenciálnych rizík sa zvyšuje pravdepodobnosť neúspechu pri vytváraní softvérového projektu. Identifikáciou rizík sa rozumie proces presného definovania jednotlivých hrozieb, ktoré môžu ohroziť vývoj alebo prev{dzku softvérového produktu. Identifikácia základných rizík musí byť vykonan{ pred samotným spustením softvérového projektu. Je potrebné identifikovať rizik{ najmä v týchto oblastiach: 1. Riziká spojené s technickým vybavením 2. Riziká spojené s nedostatočnou kvalitou a kvantitou prostriedkov 3. Riziká spojené s organizáciou projektu 4. Ostatné riziká [4]. Na obrázku Obr.1 sú graficky zobrazené percentuálne podiely jednotlivých faktorov na zlyhanie projektu. Z obr{zku je zrejmé, že veľký vplyv na zlyhávaní projektov majú organizačné riziká a riziká spojené s dostupnými prostriedkami. Dôležitosť analýzy rizík pri vytváraní softvérového projektu 3 Obr. 1 Grafické zobrazenie podielov jednotlivých faktorov na zlyhanie projektu podľa Modernanalysist.com Pri rizikách spojených s dostupnými technickým vybavením je potrebné uv{žiť životnosť hardvéru v zmysle predísť strate d{t. Z rovnakého dôvodu je potrebné pravidelne vytv{rať verzie d{t a z{lohovať ich na technicky stabilné médium. Všetci členovia tímu by mali byť obozn{mení so zaobch{dzaním s technickým vybavením. Veľkým rizikom neúspechu môže byť pr{ve neodborné zaobch{dzanie s hardvérom. Je dôležité skontrolovať licencie softvéru a pripraviť sa na riziko možného zdržania pri aktualiz{ci{ch, ktoré budú počas vývoja alebo prev{dzky potrebné. V súvislosti s dostupnými prostriedkami, ktoré pri softvérovom projekte tvorí trojica: ľudia, čas a peniaze, je potrebné si tieto prostriedky v dostatočnom predstihu rozvrhnúť, pripraviť a monitorovať ich počas celého vývoja softvéru [4]. Tieto zdroje tvoria jeden z hlavných pilierov, ktoré držia softvérový projekt v chode a na patričnej úrovni kvality a efektivity. Riziká spojené s nedostatočnou prípravou hmotných či nehmotných prostriedkov môžu v{žne narušiť projekt dokonca aj spôsobiť jeho zlyhanie. V súvislosti s organizačnou zložkou projektu je preuk{zané, že polovica faktorov prispievajúcich na zrušenie softvérového projektu je pr{ve organizačného charakteru [4], na druhej strane je však dobr{ organiz{cia z{rukou úspešného projektu. Riziko nezosúladenej pr{ce predstavuje veľkú pravdepodobnosť vytvorenia chaosu a nedorozumení pri pr{ci na projekte. Vývoj musí byť usmerňovaný určenou osobou alebo skupinou osôb, ktorá synchronizuje proces vývoja. Pod skupinou ostatné riziká sa myslia možné hrozby vyplývajúce z rôznych názorov a charakterových vlastností jednotlivých členov tímu, prípadne rôznym etnickým, 4 Ľuboš Gelányi kultúrnym, n{rodnostným, či n{boženským pôvodom. Aj keď je n{ročné sa týmto rizik{m vyhnúť, je možné znížiť ich pravdepodobnosť vhodným zložením pracovného tímu. Pre zhrnutie uv{dzam tabuľku Tab.1, ktor{ upresňuje faktory vplývajúce na úspech alebo zlyhanie softvérového projektu. Tab. 1 Faktory ovplyvňujúce úspech alebo zlyhanie projektu[4]. Faktory podporujúce úspech projektu Dobrá organizácia a riadenie Dobré technické zručnosti členov tímu Dostatočné prvotné definovanie požiadaviek Spr{vne zloženie tímu Faktory podporujúce zlyhanie projektu Nedostatočn{ organiz{cia a riadenie Slab{ kvalifik{cia členov tímu Nekvalitné definovanie požiadaviek Samozrejme v tabuľke Tab. 1 nie sú zobrazené všetky faktory, ktorých je podstatne väčšie množstvo, tieto sa ale zaraďujú medzi najdôležitejšie. Analyzovanie rizík Prvým krokom k dôkladnému rozanalyzovaniu všetkých rizík je preskúmanie faktorov prispievajúcich k zlyhaniu projektu. Niektoré z týchto faktorov sú zobrazené v tabuľke Tab. 1. Je potrebné dôkladne zv{žiť zloženie tímu ako aj riadiacej zložky. Person{lne obsadenie musí perfektne korešpondovať s požiadavkami projektu a nemalo by sa dost{vať do vz{jomných rozporov. Z{roveň by mal byť vybraný tím vývoj{rov a riadiacich pracovníkov, ktorí dok{žu splniť všetky požadované požiadavky. V ďalšom kroku je potrebné zanalyzovať komunikačné kan{ly medzi jednotlivými časťami projektového tímu a n{sledne medzi jednotlivými členmi v kompletnej hierarchii. Pri vývoji softvéru by nemala viaznuť komunik{cia. T{ musí byť jednoduch{ a rýchla za účelom urýchlenia riešenia problémov. V opačnom prípade dochádza k výraznému časovému posunu ako aj úpadku komplexnej informovanosti všetkých členov tímu a v neposlednom rade môže byť dôsledkom neintenzívnej komunik{cie nedostatočn{ vedomosť o stave projektu zo strany manažmentu projektu. Ako ďalšia v poradí by mala byť preskúman{ komplexnosť projektu. Komplexné projekty vyžadujú kvalifikovaných odborníkov, v opačnom prípade sa riziko zlyhanie zvyšuje[4]. Komplexný projekt môže vyžadovať z{kladné znalosti nielen v oblasti vývoja softvéru, ale aj v iných odvetviach. Z toho dôvodu sú komplexné projekty rizikové a vyžadujú si dôkladnejšiu prípravu. Ak sú rizik{ príliš rozsiahle, je nutné sa zamerať len na hlavné riziká a tieto je potrebné vyriešiť. N{sledne rizik{ menšieho rozsahu nemusia vo väčšej miere ohroziť úspech projektu. Je však adekv{tne vykonať prinajmenšom čiastkovú analýzu všetkých, aj menších rizík spojených s komplexnosťou projektu. Manažment projektu zast{va nemenej dôležitú rolu a je mu priradená zodpovedajúca v{ha pri analýze rizík. Je potrebné prispôsobiť prostriedky, ak ide o vnútropodnikový projekt alebo sa prostriedky budú musieť zadov{žiť n{ročnejším spôsobom z externých zdrojov. Dôležitou časťou tejto f{zy je maxim{lne vykryštalizovanie požiadaviek zo strany klienta. Komunikácia s klientom je veľmi dôležit{ pre pochopenie požiadaviek všetkými Dôležitosť analýzy rizík pri vytváraní softvérového projektu 5 členmi tímu a n{sledne pre ich špecifik{ciu. Taktiež pre objasnenie očak{vaných výstupov a softvérové produktu samotného. Všetci vybraní členovia tímu by mali byť, ak je to potrebné, rekvalifikovaní na technické prostriedky, ktoré budú použité pri danom projekte. Po analýze tohto procesu sú možné ešte posledné úpravy v zložení tímu. Napríklad vývoj{r, ktorý nem{ dostatočné znalosti s platformou, na ktorej sa bude daný softvérový projekt vyvíjať by mal byť pridelený na iné pracovné zaradenie a n{sledne by do tímu mal byť pridelený maxim{lne kvalifikovaný pracovník. Interakcia medzi človekom a technickým vybavením referuje na proces, v ktorom jednotlivé organizácie prijímajú a osvojujú si technológie, ktoré sú potrebné pre vývoj daného projektu [4]. Ak si organizácia neosvojí dané technické vybavenie, je softvérový projekt predurčený na zlyhanie. Tento proces však v sebe nesie aj ďalšie rizik{. Pri osvojení novej technológie, ktorá je nestabilná, môže dôjsť k nestabilite alebo nekompatibilite. Pri takomto osvojení je dôležité priradenie spr{vnej ľudskej zložky k novej technológii. Ľudské vedomosti a praktické zručnosti by mali byť adekv{tne požiadavk{m technického vybavenia. Ďalším dôležitým objektom analyzovania by mala byť spr{vna motiv{cia členov tímu. Podmienky na pr{cu ako aj ohodnotenie by mali byť na primeranej úrovni. Nesprávna motivácia by mohla mať deštruktívne účinky. Domotivujúcim faktorom môže byť neust{le zaoberanie sa detailmi, ktoré aktu{lne nie sú až také dôležité. Tieto rizik{ je možné eliminovať spr{vnym pl{novaním, alebo zabezpečením komunikačného kan{lu medzi členmi tímu. Zloženie tímu môže vo veľkej miere eliminovať značnú časť identifikovaných rizík. Do riadiacej zložky je potrebné vybrať pracovníkov s výbornými skúsenosťami s projektmi podobného zamerania a rozsahu. U týchto pracovníkov je taktiež dôležit{ organizačn{ schopnosť, dobr{ predstavivosť a empatia. Členovia tímu musia byť obozn{mení s požiadavkami projektu, stotožniť sa s nimi, nevkladať do projektu vlastné n{pady, ak to nie je požadované. Pracovníci musia byť efektívne rozdelení na pracovné zaradenia, ktoré zodpovedajú ich vedomostiam a schopnostiam. V neposlednom rade musia členovia tímu udržiavať korektné vzťahy. Konflikty na pracovisku výrazne zvyšujú riziko zlyhania projektu. Dôležitosť a podceňovanie analýzy rizík Analýza ako aj manažment rizík je v súčasnej dobe hlboko podceňovan{. Jednou z možných príčin môže byť nedostatok vhodných a hlavne dostupných metód na vykon{vanie analýzy alebo manažmentu rizík. Dôležitosť analýzy rizík, ako jedného z hlavných prvkov pre zefektívnenie procesu vývoja softvéru, spočíva v samotnej dôležitosti softvérových produktov pre súčasnú spoločnosť. Na vývoj softvéru sa vynakladajú nemalé finančné prostriedky za účelom zefektívnenie života spoločnosti. Najnovšie technológie podporujúce komunik{cie ľudí po celom svete, koncové zariadenia, ktoré umožňujú vykon{vať kedysi všetky dostupné funkcie stolového počítača, neust{le vyvíjajúca sa umel{ inteligencia a mnoho ďalších. Vďaka softvérovým produktom dost{vajú zariadenia každodenného života nový rozmer. Všetky tieto faktory vplývajú na neustále sa rozrastajúci dopyt po softvéri, ktorého 6 Ľuboš Gelányi hlavnou úlohou je priniesť niečo nové, prevratné. Permanentne narastajúci tlak na softvérové firmy m{ za n{sledok zrýchľovanie vývoja a sústavné napredovanie. Práve tento fakt je zaväzujúci v zmysle vyrobiť softvér rýchlo ale kvalitne. A presne tieto atribúty nadobúda vývoj softvéru po dôkladnej analýze rizík. Analýzu rizík môže vykon{vať špecializovan{ organiz{cia alebo člen tímu v z{vislosti od rozsahu projektu. Veľké projekty je nutné podrobiť dôkladnej analýze rizík pomocou profesion{lnych n{strojov. Veľké projekty majú totiž vysoké n{klady, ich zlyhanie by mohlo mať katastrof{lne n{sledky, pričom každ{ neidentifikovan{ hrozba je obrovským rizikom pre softvérový projekt. Na druhej strane pri malých softvérových projektoch nie je natoľko opodstatnené robiť detailnú analýzu. Malé softvérové projekty sa zväčša vytv{rajú v malých tímoch a v kratšom časovom rozmedzí. Rizik{ sú v tomto prípade zastúpené vo výrazne menšej miere ako pri veľkých projektoch. Z uvedeného ale vyplýva, že analýza rizík nie je pri projektoch takéhoto rozsahu finančne ani časovo n{ročn{. Pr{ve preto sa musí vykon{vať aj pri týchto projektoch. Malé projekty by nemali byť podceňované v zmysle ich opodstatnenia a aj keď v menšej miere, ale predsa aj pri týchto projektoch sú vynaložené isté prostriedky, ktoré zaiste nie sú zanedbateľné. Aj malé projekty môžu byť n{chylné na zlyhanie, a preto môže analýza rizík výrazne dopomôcť k úspešnému dokončeniu projektu. Samotn{ analýza môže byť vykon{van{ členmi tímu alebo riadiacou zložkou projektu. Ďalšia možnosť, v tomto prípade však neadekv{tna, je prenechanie analýzy rizík na externú organizáciu, ktorá vykoná detailnú analýzu rizík. Vidina zisku však v mnohých prípadoch presiahne potrebu vyvíjania efektívne a precízne. Časť softvérových projektov sa dost{va do komplikovanej situ{cie vyrovnať sa so vznikajúcimi problémami priamo v priebehu vývoja. Dôkladnou analýzou rizík je možné včas definovať hrozby a v predstihu ich modifikovať alebo eliminovať. Najväčšou hrozbou však st{le ost{va ľudský faktor. Spr{vanie techniky je v rôznych smeroch predvídateľné, aj keď toto platí len do istej miery. Na druhej strane členovia tímu sú nepredvídateľní a to z hľadiska chýb spôsobených bežnou nepozornosťou a nezodpovednosťou. Túto hrozbu analýza rizík nedok{že eliminovať. Avšak vhodným zostavením tímu a s prepracovaným pl{nom sa d{ zmierniť riziko pochybenia ľudského faktora. Návrh analýzy rizík v tímovom projekte Tímový projekt na FIIT STU je klasifikovaný ako malý softvérový projekt, to však nevylučuje fakt, že je potrebné vykonať analýzu rizík. Analýzu rizík navrhujem vykonať na týchto z{kladných rizik{ch, ktoré sú pre potreby tohto projektu dostačujúce: 1. Nedostačujúca komunik{cia 2. Nedostatočn{ kvalifik{cia členov tímu 3. Riziká spojené s technickým vybavením 4. Organizačné rizik{ Riziko nedostatočnej komunik{cie bolo už rozanalyzované. Členovia tímu urobili všetky potrebné opatrenia, aby mohla komunik{cia prebiehať viacerými informačnými kan{lmi. Dôležitosť analýzy rizík pri vytváraní softvérového projektu 7 Nedostatočn{ kvalifik{cia členov tímu ma vyššiu pravdepodobnosť nakoľko niektorí členovia tímu v súčasnosti nie sú kvalifikovaní na splnenie požiadaviek určených zadaním Tímového projektu. Opatrenie boli a budú vykonané prostredníctvom samoštúdia a konzultovaním s vedúcim tímu, prípadne s ostatnými členmi. Riziká spojené s technickým vybavením sú ťažko ovplyvniteľné, nakoľko technika je pod správou fakulty, boli však vytvorené opatrenia formou zálohovania súborov na externý server. Organizačné rizik{ boli ošetrené vypracovaním plánu a rozdelením úloh v rámci tímu. Úlohy sú prideľované operatívne. Všetky rizik{ boli zanalyzované a zmiernené, aj keď sa žiadne z nich nepodarilo úplne odstr{niť, členovia tímu sú pripravení na riešenie možných nežiaducich okolností. Záver Stojím si za tvrdením, že analýza rizík je jedným z dôležitých procesov, ktoré sú spojené s vývojom softvéru a zvyšujú pravdepodobnosť úspešného zavŕšenia softvérového produktu. Aj keď percento projektov, ktoré zlyhajú, je stále pomerne vysoké, práve analýza rizík napomáha k ich úspešnosti. Zodpovedným prístupom k tomuto procesu je možné zefektívniť každý jeden softvérový projekt či už väčšieho alebo menšieho rozsahu. Prostriedky využívané pri vývoji sú príliš cenné na to, aby sa nimi plytvalo a z tohto dôvodu je potrebné sa zamyslieť nad všetkými n{strahami, ktoré ohrozujú veľmi z{služnú činnosť tvorby softvéru. Pre tímový projekt v rámci predmetu Tvorba softvérového systému v tíme 1, ktorý vyvíja Tím 17, som identifikoval riziká a navrhol ich základnú analýzu. Táto analýza rizík by mohla dopomôcť jednotlivým členom pochopiť dané rizik{ vyplývajúce zo samotného vývoja a n{sledne zvýšiť šance na úspešné dokončenie projektu. Použitá literatúra 1. Dhlamini, J., Kachepa, A., Nhamu, I.: Southern African Lecturer s Association Confference: Inteligent risk management tools for software development, ACM, (2009), x-y 2. Charette, R.: Why software fails. Dostupné na internete: [cit: Október] 3. Strnád, O.: Bezpečnosť a manažment informačných systémov. Slovenská technická univerzita, Bratislava (2009), x-y. 4. Warkentin, M., Moore R. S., Bekkering, E., Johnston, A. C.: Analysis of Systems Development Project Risk : An Integrative Framework, ACM, Vol. 40, No. 2 (2009), x-y. 8 Ľuboš Gelányi Annotation Importance of risk analysis in software project development In genereal, among almost all human activities risk of failure appears. This is why it so important to define risks and prepare to solve potencional problems in advance, perhaps even avoid the risk. Risk analysis is one of important activities contributes to achieve sucessfull software project. It was proven that thoroughly made risk analysis make software project more effective. I would like to explain basic advantages of risk analysis in project development in this essay and so I want to compare its importance in bigger and smaller projects. I will apply the knowledge on software project beeing developed by Team 17 on FIIT STU.
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks