Skupina B

Odhad a naplánovanie práce na školskom softvérovom projekte

Autor:Miroslav Kallo
Abstrakt:Hádam každý softvérový inžinier začínal svoju činnú kariéru prácou na rôznych školských projektoch, či už samostatných alebo tímových. Hoci samostatná práca býva obvykle ľahšia, pretože nie je nutné koordinovať činnosť viacerých členov tímu, v oboch prípadoch je dôležitý správny manažment práce a plánovanie. Treba správne a hlavne včas odhadnúť daný projekt, aby bolo možné vytvoriť čo najpresnejší plán projektu, pretože neskoré odovzdanie znamená v škole väčšinou totálny neúspech. V tejto eseji sa budem zaoberať problémami plánovania projektov v škole a predostriem základnú sadu rád a ponaučení, pomocou ktorých šanca úspešne absolvovať softvérový projekt značne narastie.

Monitorovanie výkonnosti jednotlivých členov tímu

Autor:Ľubomír Lajoš
Abstrakt:Projektový plán, aj ten najlepší, je vždy iba kus papiera. Počas realizácie projektu musí projektový manažér pozorne monitorovať vykonávanie plánu a aplikovať správne nápravne kroky, ak si to situácia vyžaduje. Manažér musí kontrolovať, či sa projekt vyvíja správnym smerom. Monitorovanie softvérového projektu, na rozdiel od kontroly zahrňuje analýzu, detekciu a riešenie vznikajúcich problémov a nie len objavenie chýb a nevýhodných procesov. Monitorovanie ďalej poskytuje spätnú väzbu pre plánovanie. Všetkým chybám plánovania, zistené pri monitorovaní, sa môže projektový manažér vyhnúť pri ďalšom plánovaní. Uzatvára kruh projektového manažmentu: poskytuje poznatky získane z riadenia jedného projektu pre plánovanie následného projektu. V tomto príspevku sa budem venovať ako monitorovanie prispieva k riadeniu a plánovaniu, ako ho ovplyvňuje a aký ma podiel v procese projektového manažmentu. Príspevok prezentuje zistené poznatky z oblasti porovnávania výkonnosti jednotlivcov. Práca sa okrem toho zaoberá aj základnými nástrojmi kontrolovania výkonnosti ako aj opatreniami podporujúcimi výkonnosť jednotlivcov v tíme.

Manažment ľudských zdrojov v softvérovom projekte

Autor:Ladislav Rado
Abstrakt:S narastajúcou zložitosťou softvérových systémov sa zvyšuje dôležitosť úloh manažmentu projektových tímov. Manažéri aj pri obmedzených prostriedkoch dokážu pomocou nástrojov zabezpečiť, aby sa tím sústredil na najkritickejšie úlohy a prakticky aplikoval systematický prístup podľa teórie. Príspevok je zameraný na podporné prostriedky pre riadenie procesov súvisiacich s ľudskými zdrojmi a zlepšovanie spolupráce tímu. Článok opisuje niektoré metódy použivané pri manažmente ľudských zdrojov a aplikuje ich na oblasť manažmentu sofvérového inžinierstva.

TOP-10 rizík v menšom projekte

Autor:Peter Ruttkay-Nedecký
Abstrakt:Cieľom práce je preskúmať riziká, ktoré vo svojej práci Barry W. Boehm zoskupil do zoznamu TOP-10 rizík z pohľadu začínajúceho manažéra softvérových projektov. Práca sa zaoberá aplikáciou tohoto zoznamu rizík na projekt menšieho rozsahu, ktorý je svojou charakteristikou pomerne dosť odlišný od väčšiny bežných projektov. V práci sú preto čitateľovi priblížené aj najvýznamnejšie charakteristické črty spomínaného projektu. Práca okrem toho poskytuje základný pohľad na manažment rizík a jeho jednotlivé fázy. Spomenuté sú aj najvýznamnejšie štúdie, ktoré podporili vývoj tohoto významného odvetvia manažmentu softvérových projektov.

Zabezpečenie kvality v softvérovom projekte, príprava testov, plán testovania a overovania vlastností produktu

Autor:Peter Šupina
Abstrakt:Tradičné metódy vývoja softvéru zaraďujú proces testovania súčiastok až po dokončení ich implementácie. To môže viesť k neskoršiemu odhaleniu chýb zanesených v zdrojovom texte programu a k zvýšeniu nákladov na odstránenie týchto chýb. Vývoj riadený testami (Test-driven development) je založený na vytváraní (zväčša automatizovaných) testov súčiastky ešte pred tým, ako je zapísaný samotný produktívny kód danej súčiastky. Táto esej rozoberá výhody a nevýhody vytvárania testov súčiastok pred ich implementáciou a zameriava sa najmä na využiteľnosť tejto metódy v projektoch menšieho rozsahu. V ďalšej časti sa nachádza porovnanie agilných metód vývoja softvéru so staršími modelmi životného cyklu softvéru a uvádza sa tu aj popis techník, ktorými je možné zabezpečiť kvalitu pri použití agilných metód vývoja.

Nie je rola ako rola

Autor:Tomáš Tóth
Abstrakt:Veľká časť úspechu ľubovolného projektu je daná správnym výberom ľudí, ktorí sa na ňom podieľajú. Rozsah a ciele projektu, ako aj zaužívaná metodológia práce v tíme danej spoločnosti určujú veľkosť tímu a jeho štruktúru. Každá z rolí v tíme si od jej predstaviteľa vyžaduje určité znalosti, zručnosti ale aj charakterové vlastnosti, nároky naň sú vysoké. Rozpočet spoločnosti na ľudské zdroje nie je neobmedzený, preto si nemôže dovoliť na každý nový projekt angažovať individuality, ktoré by presne zodpovedali požiadavkám na obsadzované pozície. Štruktúra zamestnancov spoločnosti je viac menej ustálená. Preto je potrebná analýza osobností existujúcich zamestnancov - členov tímu(ov) za účelom pridelenia rolí v tíme. Zaradením členov tímu do vhodných rolí dosiahneme efektívnu prácu nielen jednotlivcov ale aj celého tímu. Navyše údaje, ktoré nám poskytne analýza, možno použiť pre zlepšenie organizácie vzdelávania zamestnancov. Priblížime si prístup k analýze osobností a prideľovaniu rolí v tíme, ktorý je vhodný pre potreby menších tímov, aké figurujú napríklad aj v školskom tímovom projekte.

Manažment plánov v softvérovom projekte

Autor:Ľubomír Chamraz
Abstrakt:Tvorba plánov a ich manažment má pri riešení softvérových projektov veľmi významnú úlohu. Pomocou týchto metodík a techník dokážeme efektívnejšie využívať a riadiť zdroje (ľudské, finančné, časové), čo sa prejaví aj v kvalite riešenia celého projektu. Tento dokument sa zaoberá plánovaním v softvérovom projekte a snaží sa odpovedať na otázky, týkajúce sa tohto procesu. Podrobnejšie opisuje jednotlivé typy plánov, ktoré sa vyskytujú v softvérových projektoch, a z nich vyplývajúce úlohy. Určuje pravidlá, podľa ktorých sa tieto úlohy rozdeľujú medzi riešiteľov a dohliada na ich plnenie. V neposlednom rade rieši situácie, ktoré nastanú pri nesplnení alebo oneskorení daných úloh, a to modifikáciou (aktualizáciou) už vytvorených plánov.

Asistencia softvéru pri riadení projektu

Autor:Ivan Kišac
Abstrakt:Softvérové projekty sa často dokončujú s oneskorením, alebo presiahnu plánovaný rozpočet. Existujú príklady, kedy sa vynaložili značné finančné prostriedky na projekty, ktoré nakoniec jednoducho nefungovali. V čom spočívalo ich zlyhanie? Častou odpoveďou je, že príčinou bol zlý manažment projektu. V súčasnosti majú manažéri projektov na výber z pomerne širokého sortimentu podporných softvérových prostriedkov pre manažment projektu. Tento dokument sa zaoberá existujúcimi nástrojmi podpory manažmentu a prístupom manažérov a ostatných členov tímu k týmto nástrojom. Zameriava sa aj na vybrané techniky poskytované týmito nástrojmi a na dopad ich používania na členov tímov. Zaoberá sa aj použitím komplexných nástrojov v menšom tíme ako aj ďalším softvérom používaným pri organizácii tímu.

Monitorovanie softvérového projektu Princípy a metriky

Autor:Ján Krausko
Abstrakt:Snaha vyvíjať softvér rýchlo a kvalitne je zložitá úloha pre každý softvérový tím. Priebežné monitorovanie stavu a postup softvérového projektu nielenže pomáha manažérom kontrolovať vývoj projektu, ale tiež môže upozorniť na vznikajúce komplikácie a problémy a tak im predchádzať. Cieľom tejto eseje je predstaviť princípy monitorovania softvérového projektu, jeho vplyv na riadenie a ďalšie plánovanie a poukázať na rozdiely v prístupe k monitorovaniu v závislosti od veľkosti projektu. Tiež sa pokúsim priblížiť niektoré techniky a zamyslieť sa nad ich použiteľnosťou.

Máme vhodné prostriedky na zabezpečenie kvality a testovanie aj malom projekte? Alebo nestrieľajme kanónom na vrabce.

Autor:Michal Kurťák
Abstrakt:Vývoj softvérových systémov je náročná úloha, ktorej sa obyčajne zúčastňuje veľký počet ľudí. Zabezpečenie kvality takto vyrábaných produktov sa preto nezaobíde bez systematického riadenia kvality. Táto esej rozoberá existujúce štandardy riadenia kvality, zamýšľa sa najmä nad ich použiteľnosťou v malých projektoch a tímoch, pričom vychádza aj z osobných skúseností. Esej porovnáva tieto odporúčané a pomerne zložité procesy riadenia kvality s inými odľahčenými metodikami. V práci sa ďalej zamýšľam nad úlohou a dôležitosťou testovania pri zabezpečení kvality. Na testovanie je možné pozerať z rôznych uhlov pohľadu. V dokumente sa pokúšam konfrontovať teóriu s možnosťami, ktoré máme v praxi. Tieto možnosti sú väčšinou dané podmienkami kontraktov so zákazníkmi a z toho vyplývajúcich obmedzení. Opäť sa snažím porovnať štandardné metódy tvorby plánov a riadením dokumentácie s agilnými metódami testovania a zamyslieť sa nad akýmsi prienikom týchto dvoch prístupov, ktorý bude vhodný pre tím menšieho rozsahu.

Dopad typu osobnosti na softvérový projekt

Autor:Marián Šimko
Abstrakt:V tímovom projekte sa bok po boku stretáva niekoľko osobností. Každý člen tímu je individualita, ktorá disponuje charakterovými vlastnosťami veľmi často odlišnými od vlastností ostatných členov. Vlastnosti všetkých jednotlivcov tvoria charakterový profil celého tímu. Pre efektívne fungovanie tímu ako celku by sa v ňom mali vytvoriť také väzby, ktoré posilňujú kladné a naopak potláčajú jeho negatívne vlastnosti. Analýza osobností v softvérovom tíme výrazne pomáha odhaľovať a odstraňovať negatívne aspekty práce v tíme tak, že pomenuje príčiny konfliktov a nezrovnalostí v ňom. V súčasnej dobe existuje niekoľko postupov a metodík, ktoré dokážu človeka objektívne zaradiť do určitých charakterových skupín. Práve tieto postupy a ich nadväznosť v kontexte práce v softvérovom tíme s malým počtom členov sú predmetom tejto eseje.

Riziká - nepriateľ softvérových projektov

Autor:Michal Šimún
Abstrakt:Mnoho softvérových projektov nedokáže vytvoriť akceptovateľný produkt v rámci časového plánu a dodržaním plánovaných zdrojov. Neúspech softvérového projektu má za následok nielen stratu zisku a možností, ale aj sklamanie zákazníka a stratu dobrého mena spoločnosti. Spätná analýza takýchto projektov vo väčšine prípadov poukazuje na to, že ich neúspech bol spôsobený nevhodnou alebo dokonca žiadnou reakciou na neočakávané udalosti – riziká. Predpokladať, že v našom projekte sa nevyskytnú žiadne udalosti spôsobujúce stratu alebo poškodenie projektu, je nereálne, a preto súčasťou manažmentu každého softvérového projektu by mal byť aj manažment rizík. Úlohou manažmentu rizík je redukovanie vzniku nepriaznivých nepredvídaných udalostí a minimalizovať účinky rizík v projekte. Práca opisuje základné princípy manažmentu rizík a charakterizuje jednotlivé etapy manažmentu rizík, medzi ktoré patrí identifikácia, analýza, plánovanie a riadenie rizík.

Dlhodobé udržanie motivácie v malom vývojovom tíme pracujúcom metódou SCRUM

Autor:Andrej Frlička
Abstrakt:Cieľ, ktorý stojí pred malou vývojovou skupinou je často v nedohľadne, prípadne ku jeho splneniu vedie dlhá cesta. Pre malý tím je výhodné zvoliť vývojovú metodológiu, ktorá naplnenie cieľa posunie o veľký krok dopredu. Agilné metódy (medzi nimi aj metóda SCRUM) takúto možnosť ponúkajú. Metóda SCRUM rozdeľuje veľký cieľ na niekoľko menších celkov, ktorých výstupom je funkčný prototyp. Keby samotný úspech vývoja závisel iba na metodológii, viacerým manažérom by pravdepodobne spadol kameň zo srdca. Softvérový vývoj tak, ako väčšina problémových oblastí, stojí a padá na ľuďoch. Aj preto sa im treba náležite venovať a využiť ich schopnosti v prospech dosiahnutia cieľa. Esej si kladie za cieľ vysvetliť, ako agilná metodológia SCRUM napomáha pri udržovaní motivácie v tíme a ako môžu jednotliví jeho členovia tímu prispieť ku vzájomnému zvyšovaniu produktivity.

Plánovanie a agilné metodológie vývoja softvéru

Autor:Marek Tomša
Abstrakt:O zmysle a nutnosti plánovania pri riadení akéhokoľvek projektu je asi zbytočné diskutovať. Aj keď sú známe všeobecné metódy vytvárania a manažovania plánov, konkrétna aplikácia metódy by mala vždy zohľadňovať špecifiká projektu. Metódy tvorby plánov sa ukazujú byť škálovateľné pre rôzne veľkosti projektu, avšak v prípade softvérových projektov, a navyše špecifických softvérových projektov so slabou znalosťou problémovej oblasti, prípadne nemožnosťou vytváraný produkt dopredu plne špecifikovať, prichádza nutnosť nielen prispôsobiť veľkosti projektu a podmienkam samotný proces tvorby softvéru, ale aj proces tvorby plánov a ich riadenia. Táto esej rozoberá problematiku plánovania v kontexte projektov aplikujúcich dnes moderné agilné metodológie a diskutuje osobitosti pri plánovaní ťažko špecifikovateľných rýchlo sa meniacich a vyvíjajúcich softvérových projektov. Na príklade agilnej metodológie riadenia projektu Scrum uvádzame špecifické aspekty prispôsobenia tradičných metód tvorby a manažmentu plánov pre malé agilné tímy.

Použitie podporných prostriedkov pre zefektívnenie riadenia softvérového projektu s ohľadom na vybranú metodiku vývoja

Autor:Richard Veselý
Abstrakt:S rastúcou komplexitou softvérového projektu vzniká požiadavka na riadenie s pomocou podporných prostriedkov, ktoré umožňujú zefektíviť process vývoja softvéru vďaka evidencii a sledovaniu úloh, rozdeleniu zdrojov, správe dokumentácie a zlepšenia komunikácie medzi členmi tímu. Za týmto účelom vzniklo množstvo podporných prostriedkov, ktoré v menšej či väčšej miere pokrývajú požiadavky na riadenie softvérového projektu, no niektoré modelujú proces riadenia bez použitia konkrétnej metodiky vývoja softvéru. V prípade, že sa vývojový tím rozhodne osvojiť si a používať špecifickú metodiku, tak je žiadúce, aby bola táto priamo podporovaná zvoleným prostriedkom na podporu riadenia softvérového projektu. Táto esej pojednáva o zefektívnení riadenia projektu vyvíjaného s použitím konkrétnej zvolenej metodiky, ktorej podpora je priamo zabudovaná aj v použitom podpornom prostriedku.

Manažment kvality softvéru a jeho testovanie

Autor:Oto Vozár
Abstrakt:Manažment kvality a testovanie majú v rámci inžinierstva a inžinierskeho prístupu dlhodobú tradíciu a sú s ním nerozlučne späté prakticky od jeho formálneho vzniku. Softvérové inžinierstvo ako jeden z najmladších inžinierskych oborov má prirodzenú potrebu zaradiť do svojich procesov podobné princípy, ktoré by zabezpečili kvalitu jeho výstupov prihliadnuc na niektoré špecifiká, ktoré sú preň unikátne. Táto esej poskytuje definíciu oboch oblastí, hlavné ciele a princípy ich činnosti ako aj ich členenie na menšie procesy. V rámci manažmentu kvality sa potom zameriava na rôzne druhy stretnutí k projektu a prehliadkam kódu (code-reviews) a pri testovaní rozoberá rozdelenie testovacích techník a životný cyklus procesu testovania.

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

Autor:Michal Lokša
Abstrakt:Softvérový projekt bez správneho plánovania a riadenia bude skôr či neskôr odsúdený k neúspechu. Preto je potrebné toto riadenie zabezpečiť a to nie len skúseným manažérom softvérového projektu, ale aj monitorovaním (sledovaním) celého projektu. Toto sledovanie postupu projektu môže manažérov upozorniť na prichádzajúce problémy a umožniť im tak prijať včas potrebné opatrenia. Esej vysvetľuje pojem monitoring softvérového projektu. Zaoberá sa jednotlivými princípmi monitorovania a vysvetľuje ich vplyv na plán a riadenie projektu.