Skupina H

Podporné prostriedky pre riadenie softvérového projektu

Autor:Roman Herbst
Abstrakt:Netreba zdôrazňovať, že každý, nielen softvérový projekt, potrebuje dobrý manažment. Od schopnosti dobre manažovať závisí vo väčšine prípadov celý úspech projektu. Len ťažko si je dnes možné predstaviť manažéra, ktorý by dokázal riadiť celý projekt z hlavy. Preto vzniklo viacero podporných prostriedkov, ktoré pomáhajú a uľahčujú riadiť viaceré oblasti projektov. Týchto podporných prostriedkov je však už nespočetné množstvo a riadiť sa pri ich výbere heslom „čo je drahé, to je dobré“ nepripadá do úvahy. Táto esej pojednáva o dôležitosti podporných prostriedkov a postupe pri výbere toho správneho prostriedku z hľadiska sledovania úloh, ľudských zdrojov a matice zodpovednosti s prihliadnutím na využitie v softvérovom projekte realizovanom v rámci štúdia predmetu Tímový projekt.

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

Autor:Rastislav Masaryk
Abstrakt:V tejto eseji chcem vyjadriť môj názor na problematiku tvorby plánov v softvérovom projekte a na rozdelenie úloh v tíme. Existuje viacero spôsobov, ako vytvoriť plán projektu. V tejto eseji sa pokúsim priblížiť jednoduchý vodopádový model plánovania. Pri riadení softvérového projektu nie je dôležité len vytvorenie dokonalého plánu, ale aj správne rozdelenie úloh jednotlivým členom tímu. Toto rozdelenie je veľmi dôležité aj pre dodržiavanie plánu a na vytvorenie spokojnosti a dobrej pracovnej atmosféry v tíme. Preto treba zohľadniť schopnosti, skúsenosti a preferencie členov tímu. Členovia tímu by sa preto mali aktívne podieľať nielen na tvorbe plánu, ale aj na rozdeľovaní úloh. Ani ten najdokonalejší plán sa však v praxi nedá dodržať úplne na 100%. Preto je dôležité navrhnúť plán tak, aby sa v prípade potreby dal ľahko modifikovať a aktualizovať. Taktiež je veľmi dôležité sledovať plnenie plánu a v závislosti na okolnostiach ho aktualizovať. Striktné trvanie na dodržiavaní plánu môže v tíme viesť nepochopeniu a takto znemožniť ďalší postup v projekte.

Kategorizácia a riadenie rizík v softvérovom projekte šesťčlenného tímu

Autor:Jozef Grexa
Abstrakt:Oblasť manažmentu rizík sa stáva stále dôležitejšou súčasťou vývoja softvérového projektu. Veľa softvérových projektov je neúspešných práve kvôli nedostatočnému zohľadneniu možných rizík a ich dôsledkov. Avšak aj na pôde manažmentu rizík je už dosiahnutých veľa zásadných výsledkov. V mojej práci som sa venoval pohľadu na rôzne riziká v kontexte konkrétneho tímového softvérového projektu, ktorý už pri jeho začiatkoch ponúka možnosť odhadnúť rôzne rizikové oblasti a ich dôsledky. Zameral som sa na kategorizáciu rizík, pričom každá kategória predstavuje množinu rizík spolu súvisiacich, ich možné riadenie a taktiež konkrétne pridelenie úloh príslušnému členovi tímu. Práca je všeobecným podkladom pre manažment rizík v tímovom softvérovom projekte šesťčlenného tímu.

Techniky zabezpečenia a zvýšenia kvality softvéru

Autor:Tomáš Kramár
Abstrakt:Napriek tomu, že agilné metódy tvorby softvéru sa čoraz viac dostávajú do povedomia programátorov a manažérov, niektoré projekty stále postupujú vodopádovým modelom. Testovanie sa tak dostáva na rad až po skončení implementácie, v čase, kedy sa už len opravujú chyby a výsledná funkcionalita, ktorá z pohľadu zákazníka tvorí kvalitu, sa dá len ťažko ovplyvniť. Navyše, aj akceptačné testovanie odhaľuje množstvo chýb, ktoré sa dali objaviť už počas vývoja. Kvalitný softvér vzniká počas implementácie, je preto dôležité aby sa počas nej aj pravidelne overoval. Ako však možno zvýšiť kvalitu kódu a znížiť chybovosť? Ako predísť nepríjemným prekvapeniam pri integrácii? Aj na tieto otázky ponúka esej odpoveď vo forme prehliadok kódu a tvorbe rôznych druhov automatizovaných testov a ich pravidelným spúšťaním na integračnom serveri (technika známa ako neustála integrácia).

Úskalia monitorovania softvérového projektu

Autor:Radoslav Halama
Abstrakt:Každý sebaistý projekt si musel na začiatku stanoviť požiadavky a ciele. Práve proces monitorovania slúži ako mechanizmus na kontrolu týchto cieľov, etáp a zdrojov projektu, ako sú financie, ľudia, čas a kvalita. Tento proces taktiež pomáha projektovým manažérom dozvedieť sa ako projekt napreduje a zároveň dáva skoré varovanie pred možnými problémami a ťažkosťami, ktoré sa počas životného cyklu objavia. Cieľom eseje je vysvetliť, prečo vlastne monitorovať a následne načrtnúť úskalia samotného procesu monitorovania, ako je napríklad subjektivizmus v posudzovaní napredovania jednotlivých etáp v projekte a subjektivizmus v posudzovaní práce samotných ľudí. Práca sa taktiež zaoberá reakciami na vzniknutý problém a to najmä z hľadiska pridania nového člena do tímu alebo znížením požiadaviek na vyvíjaný systém.

Osobnosti v tíme: Ako zlepšiť výkonnosť

Autor:Michal Drahoš
Abstrakt:Zloženie malého softvérového tímu nebýva vždy z hľadiska osobností ideálne. Príčiny môžu byť rôzne: nedostatok zdrojov, výber členov tímu len podľa odbornej kvalifikácie, či iná zhoda nepriaznivých okolností. Projekt je však zadaný a čaká na riešenie. Táto práca sa zaoberá analýzou osobností v tíme, podľa ktorej sa snaží nájsť za daných okolností to najlepšie rozdelenie pracovných pozícií medzi členov tímu. Keďže tím nie je ideálny, ani obsadenie pracovných pozícií nebude ideálne. Preto sa práca zaoberá aj možnosťami ako zmierniť nedostatky vyplývajúce z obsadenia pracovnej pozície nie celkom vhodnou osobnosťou a tým zlepšiť spoluprácu a celkovú výkonnosť tímu.

Najskôr test?

Autor:Pavel Michlík
Abstrakt:Správna funkčnosť je veľmi dôležitá vlastnosť kvalitného softvéru, ak nie tá najdôležitejšia. Jej zaistenie ale nie je vždy jednoduché. Je všeobecne známe, že úsilie potrebné na odstránenie chyby v softvéri je tým väčšie, čím neskôr sa chyba objaví. Vývoj riadený testami (test-driven development) je technika tvorby softvéru, ktorá bola navrhnutá s cieľom umožniť čo najrýchlejšie zistenie a opravenie chýb. Vytváraný kód sa tu testuje už od začiatku programovania, nie až po dokončení celého modulu. Tento prístup by teda mal obmedziť neskoré odstraňovanie chýb na minimum, čím sa ušetria vzácne zdroje – čas, pracovná sila aj peniaze. Samozrejme, vývoj riadený testami určite nie je univerzálnym liekom na všetko a dosiahnutie želaného efektu v žiadnom prípade nie je zaručené. V tejto eseji uvádzam výhody aj úskalia, ktoré v použití tejto techniky vidím ja. Pokúšam sa tiež odhadnúť vhodnosť jej využitia vzhľadom na druh projektu a veľkosť a organizáciu tímu vývojárov.

Sledovanie úloh z pohľadu manažéra a ostatných členov tímu

Autor:Marek Sojka
Abstrakt:Vývoj softvéru sa nezaobíde bez viacerých podporných prostriedkov, ktoré uľahčujú jeho proces. Medzi ich hlavné vlastnosti patrí aj výmena informácií medzi ľuďmi v tíme. K dobrému manažovaniu projektu je potrebné mať dostatočné množstvo údajov o jeho stave. Ich značná časť patrí sledovaniu úloh. V eseji sa zameriavam na analyzovanie podporných nástrojov, ktoré umožňujú manažérom mať o nich prehľad. Zamýšľam sa nad nimi z pohľadu viacerých rolí v projekte. Manažérske nároky na objem informácií o stave úloh sú často iné, aké by chceli produkovať zvyšné zložky tímu (analytici, programátori, testeri). V práci sú rozdiskutované atribúty nástrojov z viacerých aspektov ľudí na projekte a ich dôležitosť z hľadiska monitorovania stavu.

Analýza osobností v softvérovom projekte

Autor:Miroslav Repaský
Abstrakt:Softvérový projekt sa väčšinou vyvíja v tíme ľudí. Úspešné ukončenie takéhoto projektu závisí od mnohých faktorov. Jedným z najdôležitejších je určite vplyv jednotlivých osobností na kooperáciu v tíme a s tým súvisiacu úspešnosť softvérového projektu. Porozumenie medzi jednotlivými členmi tímu, a z toho vyplývajúca spolupráca, by sa určite nemali brať na ľahkú váhu. V tejto eseji sa venujem vplyvu osobností na spoluprácu a efektivitu práce v tíme a na úspešné ukončenie softvérového projektu. V prvej časti uvádzam rozdelenie osobností podľa Myers-Briggsovej rozdelenia typov. V ďalšej kapitole, vychádzajúc z tohto členenia, uvádzam, ktoré vlastnosti sú najvhodnejšie na jednotlivé roly v tíme. Ďalej opisujem klady a zápory tímov s podobnými a rozdielnymi osobnosťami. Nakoniec uvažujem, čo je z pohľadu efektívneho vývoja projektu a jeho úspešného ukončenia lepšie. Ak je tím zložený z ľudí s obdobnými vlastnosťami, alebo naopak, ak tím tvoria ľudia s vlastnosťami odlišnými.

Metódy manažmentu rizík pre 5-6 členný tím

Autor:Jakub Baloga
Abstrakt:Pri práci na každom väčšom projekte je potrebné uvedomiť si, že nie vždy všetko ide podľa vopred stanoveného plánu. V súčastnosti môže aj malé meškanie alebo nesplnenie všetkých cieľov určených v špecifikácii produktu stáť spoločnosť obrovské prostriedky, prípadne mať za následok úplné zrušenie projektu. Preto je potrebné venovať dostatočnú pozornosť analýze a manažmentu rizík. V tomto dokumente sa venujem porovnaniu rôznych najpoužívanejších metód manažmentu rizík pri práci na softvérovom projekte v relatívne malom, 5-6 člennom tíme. Sústredím sa hlavne na vhodnosť ich aplikovania v tomto tíme a veľkosť dodatočnej réžie potrebnej pre danú metódu, pričom hľadám takú, ktorá čo najlepšie spĺňa požiadavky pre vývoj softvéru špeciálne v akademickej sfére.

Tvorba ideálneho plánu softvérového projektu

Autor:Jozef Valo
Abstrakt:Softvérové projekty končia dosť často neúspechom a najväčšiu príčinu na tom má jeden zo základných pilierov projektu: Plán. Manažér softvérového projektu s dobrým plánom vo vrecku je na dobrej ceste doviesť projekt do úspešného konca. S dobrým plánom totiž dokáže manažér predísť mnohým chybám, ktoré by mohli vzniknúť počas riešenia projektu, a taktiež dokáže lepšie riešiť vzniknuté krízové situácie. Táto esej obsahuje veľa nových nápadov a myšlienok ako takýto dobrý plán zostrojiť a na čo všetko je potrebné pri tvorbe plánu, ale aj počas jeho vykonávania, dávať pozor. V neposlednom rade sa esej zaoberá aj situáciami, pri ktorých zvyčajne dochádza k oneskoreniu alebo dokonca k nesplneniu plánovaných úloh, a ktorými je potrebné sa zaoberať už pri tvorbe samotného plánu.

Monitorovanie ako impulz vyvolávajúci správne smerovanie a motivovanie ľudí

Autor:Peter Vanderka
Abstrakt:Už samotná definícia projektu hovorí, že je to proces jedinečný. Z toho vyplýva skutočnosť, že na to, aby bol projekt v konečnom dôsledku úspešný, je treba dokázať najmä správne reagovať na neočakávaný vývoj, ktorý prebieha len na danom projekte. Aby sme dokázali vykonať správne rozhodnutia a reakcie, je nutné detailne poznať aktuálny stav projektu, a tým aj jeho odchýlku od plánovaného stavu pre daný časový okamih. To nám umožní jedine správne definovaný proces monitorovania a množina metrík, pomocou ktorých budeme projekt vyhodnocovať. V prípade, že sa projekt neuberá správnym smerom, musíme vykonať kroky, ktoré zabezpečia jeho ukončenie s najmenšou možnou odchýlkou od cieľového stavu. Týmto krokom sa bude venovať moja esej, a zároveň budem špecifikovať aké kroky je potrebné, respektíve aké odporúčam, v akých situáciách vykonať. Pritom sa zameriam najmä na úlohy vedenia projektu, ako smerovať a ako motivovať členov tímu.