Skupina C

Monitorovanie softvérového projektu a vplyv na plánovanie a riadenie

Autor:Michal Bartal
Abstrakt:Dôležitosť manažmentu rastie spolu s veľkosťou softvérového projektu. Monitorovanie projektu tvorí rozhranie medzi projektom a jeho manažmentom. Cieľom monitorovania je najmä včasná identifikácia odchýliek medzi realitou a plánom, s predpokladom následného uplatnenia korekčných opatrení. Autor sumarizuje možné príčiny odchýliek projektu od ideálneho stavu a poskytuje príklady možností ich riešenia. Tiež analyzuje zdroje skreslenia pri vnímaní a reportovaní stavu projektu, ktoré môžu negatívne ovplyvniť aplikáciu aj inak kvalitného a odladeného procesu vývoja softvéru. Cieľom tejto eseje je podať ucelený pohľad autora na problematiku, bez dôrazu na niektorú konkrétnu metodiku alebo podporný nástroj.

"Čiernobiele" testovanie

Autor:Michal Bebjak
Abstrakt:Testovanie je dôležitou súčasťou životného cyklu softvérového projektu. Testovacie metódy v zásade rozdeľujeme na testovanie metódou čiernej resp. bielej skrinky. Táto práca sa zaoberá porovnaním oboch metód a techník používaných pri týchto metódach. V prípade metód čiernej skrinky sa zameriava na testovanie na základe prípadov použitia, rozšírených prípadov použitia, diagramu spolupráce a formálnej špecifikácie. Z metód bielej skrinky sa zameriava hlavne na testovanie modulov. Obe skupiny metód testovania majú rôznu oblasť pokrytia a používajú sa pri rôznych metódach tvorby softvéru. Môžu sa však vhodne dopĺňať. V práci sú uvedené aj skúsenosti s jednotlivými metódami testovania.

Kto tvorí úspešný tím?

Autor:Michal Homola
Abstrakt:Táto esej sa zaoberá analýzou osobností v softvérovom tíme, ktorej výsledky môžu napomôcť zefektívniť prácu na softvérovom projekte. V prvej časti sú uvedené tri klasifikácie osobnostných typov, MBTI klasifikácia, Kiersey-Bates klasifikácia a Shepardova klasifikácia. V druhej časti sa diskutuje aké vlastnosti sú potrebné pre pozície tímového lídra, systémového analytika a programátora. Následne v tretej časti sme sa pokúsili priradiť vhodné typy osobností na dané pozície.

Tvorba plánov v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov projektu

Autor:Juraj Majer
Abstrakt:Cieľom tejto eseje je podať ucelený pohľad autora na problematiku plánovania v softvérovom projekte, stanovenie dôležitosti jednotlivých cieľov, plánovanie úloh pri práci na vývoji softvéru a ich rozdelenie medzi jednotlivých členov tímu. Existuje niekoľko prístupov k tvorbe plánov. V tomto dokumente sa bližšie sústredíme na porovnanie dvoch pohľadov - tradičného vodopádového modelu plánovania a špirálového prístupu k plánovaniu a riadeniu softvérového projektu. Ďalej uvedieme charakteristiky extrémneho programovania ako jedného z prístupov k rozdeleniu úloh v tíme. Plány sa vytvárajú na to, aby usmerňovali ľudí, ktorí sa snažia ich dodržiavať. Každý proces však musí byť súčasťou diskusie, postupne sa meniť a zdokonaľovať. Správny plán je organický, zahŕňa zvyky a názory tímu, reflektuje na prípadné zmeny počas trvania projektu. Preto pri dodržiavaní plánov a riadení ľudí treba dbať na možnosť ich aktualizácie. Striktné dodržiavanie obmedzení môže viesť v tíme k nepochopeniu a odmietaniu spoločného ducha a úplne znemožniť vytvorenie žiadaného synergického efektu.

Prečo vôbec analyzovať a plánovať riziká?

Autor:Ondrej Pok
Abstrakt:Otázka, ktorú si určite položilo už mnoho ľudí, ktorí sa bez predchádzajúcej prípravy pod vplyvom rôznych okolností dostali do roly manažéra v softvérovom projekte. V tejto eseji sa pokúsim zamyslieť nad oboma stranami mince, teda výhodami aj nevýhodami manažmentu rizík a ako manažment rizík ovplyvňuje náklady na projekt a úspešnosť projektu. Pokúsim sa zvážiť veľkosť a rozsah projektu, pretože projekty malého rozsahu môžu byť ohrozované inými hrozbami ako projekty veľkého rozsahu, ako aj rozdielne metódy vývoja softvéru použité v softvérových projektoch, pretože v súčasnosti stále populárnejšie agilné metódy vývoja si vyžadujú odlišný prístup manažmentu rizík ako plánovo-orientované metódy.

Podpora činností softvérového manažéra so zameraním na riadenie softvérového projektu

Autor:Zoltán Pulai
Abstrakt:Vývoj väčších softvérových systémov si vyžaduje vysokú mieru spolupráce medzi viacerými členmi projektového tímu s rôznymi zodpovednosťami. Proces vývoja je často rozložený v čase a priestore a je vykonávaný v rámci špecializovaných pracovných skupín. Tieto vlastnosti vyžadujú nájdenie vhodných odpovedí na otázky, týkajúce sa deľby práce, komunikácie, koordinácie a spolupráce počas plánovania, vývoja a údržby softvérových systémov. V predkladanej práci si zhrnieme, na aké činnosti môže využiť softvérový manažér podporné nástroje. Podrobnejšie si rozoberieme tematiku plánovania a sledovania úloh. Na základe analýzy vlastností dvoch nástrojov si zhrnieme rôzne prístupy k riadeniu softvérového projektu.

Efektívne využitie podporných prostriedkov na riadenie softvérového projektu

Autor:Ondrej Hirjak
Abstrakt:Časy, keď sa na vývoji softvérového produktu podieľalo zopár ľudí a veľkosť tímu sa rátala rádovo v jednotkách, sú dávno za nami. V súčasnosti nie je ničím neobvyklým, ak na projekte pracujú stovky ľudí, mnohokrát vo vzdialených lokáciach a títo potrebujú medzi sebou spolupracovať a koordinovať svoju prácu. Projekty takéhoto rozsahu je pomerne náročné riadiť a práve úlohou pomocných prostriedkov pre riadenie softvérového projektu je túto náročnosť odbúrať, umožniť účinne a prehľadne riadiť a kontrolovať projekt. Obsahom eseje je prehľad možností využitia podporných prostriedkov na riadenia softvérového projektu, zváženie vhodnosti a efektívnosti jednotlivých využití na konkrétne činnosti.

Monitorovanie softvérového projektu.

Autor:Peter Nociar
Abstrakt:Pri tvorbe softvérového projektu hrajú dôležitú úlohu tri základné veličiny a to čas, cena a požiadavky na produkt obsiahnuté v špecifikácii. V každom projekte sa môže fixnosť/flexibilnosť týchto parametrov meniť a podľa toho sa vytvára aj plán projektu. No prax ukazuje, že žiadny projekt sa nedá naplánovať úplne presne a že vždy sa môžu vyskytnúť nepredvídateľné okolnosti, ktoré odchýlia projekt zo stanoveného plánu. Ako teda môžeme zistiť či projekt postupuje podľa plánu? Musíme určiť prioritné podmienky pre konkrétny projekt a od nich odvodiť adekvátne metriky na určovanie postupu. Tieto metriky by mali byť volené tak, aby čo najlepšie odzrkadľovali povahu projektu a dôležitosť spomínaných troch hlavných parametrov. Potom by mali byť schopné čo najvierohodnejšie určiť, či je stav projektu zhodný s plánom a na základe výsledkov prípadne poopraviť pôvodný plán.

Naozaj dokážeme vytvoriť kvalitný softvér?

Autor:Michal Okresa
Abstrakt:Zvyšovať kvalitu softvéru počas vývojového cyklu môžeme splnením dvoch základných požiadaviek. Tou prvou je používanie metodík, ktoré zabezpečia vývoj vysoko kvalitného softvéru. Druhá požiadavka súvisí s nasadením techník, ktoré zaručia požadované atribúty kvality v existujúcich artefaktoch. Oba prístupy musia byť kombinované, ak má byť vývojový tím efektívny a úspešný.
V tejto eseji opisujeme procesy verifikácie, validácie a testovania a ich použitie v rámci životného cyklu softvéru. Približujeme čitateľovi metódy a postupy, ktoré sa používajú vo fáze špecifikácie požiadaviek, analýzy, návrhu, implementácie a počas nasadenia softvéru v prevádzke. Venujeme sa porovnaniu troch najpoužívanejších metodík vývoja softvéru: RUP, MSF a XP, z hľadiska zabezpečenia kvality.

Ako vytvoriť "dobrý plán"

Autor:Ľuboš Pazdera
Abstrakt:Esej sa snaží identifikovať najčastejšie chyby, ktoré tvorcovia plánov v softvérových projektoch robia. Dokument nielen poukazuje na rizikové faktory vplývajúce na softvérový projekt, ale aj ponúka riešenie ako možno vytvoriť "dobrý plán". Esej pojednáva o spôsobe vytvárania realistického i pesimistického plánu a hodnotí oba tieto prístupy. Pri tvorbe realistického plánu je rozoberaný konkrétny model plánovania etáp a ľudských zdrojov. V časti popisujúcej pesimistický plán je rozoberané riešenie, ktoré umožní pokryť prípadné zaostávanie za časovým harmonogramom. V nasledujúcej časti esej kladie dôraz na monitorovanie reálneho stavu projektu a jeho porovnávanie s projektovým plánom, čo vedie k prípadnej aktualizácii plánu. Záverečná časť sumarizuje výsledky práce a zároveň poukazuje na možnosti ďalšieho postupu.

Charakterové vlastnosti osôb v softvérovom projekte

Autor:Juraj Petráš
Abstrakt:Pri zostavovaní tímu sa často sústredíme len na odborné znalosti jednotlivých členov tímu a snažíme sa po odbornej stránke pokryť všetky etapy vývoja softvéru. No takisto dôležité je správne odhadnúť ich charakterové vlastnosti. Každý člen v tíme zastáva istú rolu. Pre každú rolu sa hodia len ľudia s istými špecifickými povahovými črtami. Pridelenie roly nesprávnej osobe môže mať neskoršie za následok vznik zbytočných konfliktov v tíme. To zvyčajne vedie k zníženej produktivite tímu a môže to ovplyvniť aj samotný výsledok softvérového projektu. Aké sú teda súvislosti medzi jednotlivými rolami členov v tíme a ich charakterovými vlastnosťami? Ako tieto vlastnosti vplývajú na vzájomnú spoluprácu v tíme? Líšia sa vôbec svojimi povahovými vlastnosťami programátori od systémových analytikov a manažérov? To sú otázky, ktoré nie je jednoduché zodpovedať.

Súvislosti pri analýze a plánovaní rizík v praxi a na školskom projekte

Autor:Richard Schwartz
Abstrakt:Softvérové projekty sú spojené s množstvom rizík, ktoré ich priamo či nepriamo ohrozujú. Tieto riziká je potrebné odhaliť zavčasu tak, aby neskôr nespôsobili projektu veľké škody. V rámci predmetov Tvorba softvérových systémov v tíme I a II bude šestica študentov pracovať na softvérovom projekte v školských podmienkach. Aj takýto projekt nesie so sebou riziká, ktorých bádaniu je potrebné sa dôkladne venovať. Keďže sa analýza rizík môže uberať rôznymi smermi a často sa na dôležité faktory zabúda, pri skúmaní je možné vychádzať aj zo zoznamu rizík, ktorý vytvorila skupina skúsených manažérov projektov z praxe. V práci sú odhalené analógie medzi rizikami veľkých (komerčných) a malých (školských) projektov.
Nemenej potrebné je aj správne plánovanie a kontrola rizík. Aj v tomto smere práca odhaľuje spojitosť medzi v praxi zaužívanými metódami a školskými projektmi.
Cieľom tejto práce preukázať možnosť využitia v praxi uznávaných poznatkov v oblasti analýzy a plánovania rizík aj na malom školskom projekte.

Podporné prostriedky na riadenie softvérového projektu, ich dôležitosť a vlastnosti

Autor:Cséfalvay Peter
Abstrakt:Účelom článku je oboznámiť čitateľa o tom, prečo by spoločnosti zaoberajúce sa vývojom softvéru mali používať podporné prostriedky na riadenie softvérového projektu. Čitateľ sa môže tiež dozvedieť, o dôležitosti používania takýchto nástrojov pri vývoji nového softvéru a o tom, ako takéto nástroje znižujú náklady na vývoj softvéru. Článok sa tiež podrobnejšie zmieňuje o jednotlivých vlastnostiach takéhoto softvéru a zdôrazňuje, ktoré vlastnosti je potrebné sledovať pri jeho výbere a následnom nasadení v spoločnosti. Zameriava sa predovšetkým na kľúčové vlastnosti softvéru, ktoré by mal každý takýto softvér obsahovať, ale zmieňuje sa aj o ostatných rozšírených vlastnostiach. Po prečítaní článku by mal čitateľ pochopiť dôležitosť používania takýchto nástrojov pri vytváraní nového softvéru a o vlastnostiach, ktoré by mali takéto nástroje obsahovať.

Analýza a plánovanie rizík v softvérovom projekte

Autor:Hric Ján
Abstrakt:Tvorba každého projektu so sebou prináša riziká. Sú riziká, ktoré možno len ťažko predvídať, a sú také, ktorým sa dá vhodným manažmentom vyhnúť. Správny manažment softvéru zahŕňa aj identifikáciu možných rizík a plánovanie ich predchádzania. Mnoho projektov zlyhá alebo sa skomplikuje ich vývoj práve zanedbaním tejto sféry manažmentu a považovaním všetkých rizík za dačo nepredvídateľné, s čím sa treba vyrovnať, až keď riziko nastane. Táto esej ukazuje potrebu včasnej analýzy možných rizík a ich vhodného plánovania, opisuje ich výhody aj nevýhody pre rôzne projekty. Diskutuje rozličné pohľady na danú problematiku a z nich sa pokúša odvodiť vhodný postup najmä pre menšie tímové projekty.

Testovanie - metóda zabezpečenia kvality softvérového produktu

Autor:Jakuš Miroslav
Abstrakt:Vytvoriť softvér načas a dodržať pritom rozpočtové obmedzenia nie je v súčasnej dobe postačujúce, ak je výsledný produkt plný chýb a nedostatkov. Zákazník stále viac požaduje nejaké zabezpečenie, či priamo predvedenie kvality kupovaného softvéru. Preto sa čoraz väčší dôraz kladie na výskum rôznych metód a techník zlepšujúcich kvalitu vyvíjaného softvéru, jej meranie alebo zabezpečenie. Primárnou validačnou a verifikačnou technikou zabezpečovania kvality je testovanie, a teda zastáva dôležitú úlohu počas celého životného cyklu vyvíjaného softvéru - dať vývojárovi istotu, že vyvíjaný produkt je kvalitný a vhodný na ďalšie šírenie. Táto práca prezentuje pohľad na kvalitu softvérového systému, jej zabezpečenie a rozoberá najpoužívanejšie metódy a techniky testovania kvality softvérového systému.

Analýza osobností v tíme - predpoklad k úspešnému projektu

Autor:Kútny Martin
Abstrakt:Softvérové tímy vznikajú za účelom rozloženia úsilia, potrebného na dokončenie softvérového projektu. Počas predmetov Tvorba softvérového systému v tíme a Tvorba informačného systému v tíme vznikajú práve takéto malé tímy. U mnohých jednotlivcov práve teraz dochádza k prerodu zo sólo hráča na tímového hráča. Osobnosť člena tímu má vplyv ako na spôsob a efektivitu plnenia vlastných úloh, tak aj na tím ako celok a jeho budovanie (alebo naopak trieštenie). Úlohou vedúceho tímu je rozdeliť roly a úlohy v tíme tak, aby každý člen bol efektívne vyťažený podľa svojich schopností a zároveň bol motivovaný k splneniu úlohy. Toto sa deje najčastejšie iba na základe osobných skúseností vedúceho tímu, jeho subjektívneho odhadu a inštinktov. Cieľom tejto práce je priniesť prehľad metód prideľovania rolí v tíme, na základe analýzy osobnosti člena tímu, vo fáze jeho prechodu od sólo hráča k tímovému hráčovi.

Plánovanie v softvérovom projekte

Autor:Mišák Peter
Abstrakt:Plánovanie softvérového projektu zahŕňa jednak tvorbu plánov, ich aktualizáciu, ale tiež monitorovanie ich plnenia. V softvérovom inžinierstve existuje mnoho názorov a prístupov k plánovaniu projektu. Pri použití bežných inžinierskych metód je potrebné tvorbe plánu venovať veľké úsilie a často sa stáva, že plán je ťažko aktualizovateľný a zmena plánu je buď nemožná, alebo môže mať na projekt vážne následky. Táto esej ponúka pohľad na tradičné metódy plánovania a konfrontuje ich s metódami, ktoré sa uplatňujú pri agilnom vývoji softvéru. Snaží sa vyzdvihnúť rozdielne nazeranie na plánovanie projektov v tradičných inžinierskych profesiách a v softvérovom inžinierstve, kde sa práve agilné metódy zdajú byť úspešnejšie.

Sledovanie softvérového projektu a jeho vplyv na plánovanie a riadenie

Autor:Vrba Pavol
Abstrakt:Počas tvorby softvérového projektu musí manažment určitým spôsobom sledovať jeho vývoj. Riešiť problémy rýchlosti vývoja, plánovania, nákladov a riadenia pri postupovaní k úspešnému zakončeniu projektu. Nie je ničím výnimočným, keď sa projekt oneskorí alebo predraží. Úlohou dobrého manažmentu je zabezpečiť priebežné sledovanie projektu. Manažment by mal zhotoviť a zaviesť systém na sledovanie stavu projektu a kontrolný plán. Zo získaných hodnôt určiť stav a prispôsobiť proces vývoja, čo sa týka plánovania a riadenia. Takéto automatické sledovanie môže manažérov včas varovať na prichádzajúce problémy a umožňuje im tak vykonať náležité opatrenia. Táto práca opisuje niektoré z techník používaných pri sledovaní softvérového projektu.