Skupina E

Proces testovania softvéru

Autor:Bálint Farkas
Abstrakt:Čoraz silnejšia konkurencia na softvérovom trhu, stále stúpajúce požiadavky od používateľov a dynamický vývoj softvéru spôsobuje vytváranie čoraz kvalitnejších a dokonalejších softvérov. Následkom toho, zabezpečenie kvality softvéru dostáva dôležitejšiu rolu , čo umožňuje, aby bol projekt kompletne vykonávaný v súlade s vopred stanovenou špecifikáciou, štandardmi a požadovanou funkcionalitou, bez chýb a možných problémov. Testovanie softvéru je proces slúžiaci na overenie, či softvér zodpovedá požiadavkám ako aj procesom odhaľovania chýb. Cieľom je dosiahnutie požadovanej kvality softvéru z hľadiska funkčnosti, použiteľnosti, spoľahlivosti a výkonnosti. V tejto eseji sa venujem samotnému procesu testovania, uvádzam základné atribúty kvalitného softvéru, opisujem spôsoby a stratégie efektívneho testovania softvérového produktu.

Dajú sa distribuované tímy efektívne riadiť?

Autor:Michal Holub
Abstrakt:Softvérový projekt, ktorý má byť úspešný, sa nezaobíde bez správneho riadenia. Malý projekt sa riadi pomerne ľahko, veľký projekt už potrebuje skúseného manažéra. Zároveň so zväčšujúcim sa projektom rastie zložitosť riadenia. Ľudí, na ktorých softvérový projekt stojí a padá, treba riadiť efektívne. Dnes už našťastie existujú podporné prostriedky, ktoré riadenie do veľkej miery uľahčujú. Aj tie však musia byť zvolené správne s prihliadnutím na veľkosť tímu a charakter projektu. V tejto eseji sa pokúsim odpovedať na otázky, ako riadiť distribuované tímy ľudí, aké nástroje pri tom použiť a ako všetko skĺbiť tak, aby bolo riadenie efektívne a projekt úspešný.

Plánovanie agilného vývoja softvéru

Autor:Juraj Kollár
Abstrakt:Častou príčinou zlyhania mnohých projektov je zlé, prípadne žiadne plánovanie. Preto sa asi všetci zhodneme na tom, že dobré plánovanie je základom úspechu každého projektu. V súčasnej dobe sú vyvíjané systémy čoraz komplexnejšie a požiadavky sa menia veľmi často. Z tohto dôvodu sa klasický vodopádový model ukázal ako nevhodný. Riešení je viacero, no v posledných rokoch ide najmä o rôzne agilné metódy vývoja ako XP, Scrum alebo Crystal. Tieto metódy majú spoločnú črtu, a to iteratívny spôsob vývoja a časté uvoľňovanie verzii, vďaka čomu sa dá prispôsobovať častým zmenám a nepresnostiam v požiadavkách. Otázkou však zostáva, ako sa dá takýto spôsob vývoja plánovať. Táto esej sa snaží poskytnúť odpoveď na túto otázku ako aj ďalšie odporúčania a názory ako vytvárať plán pre agilný vývoj softvéru.

Aplikácia analýzy zarobenej hodnoty pri monitorovaní akademických softvérových projektov

Autor:Martin Virik
Abstrakt:Analýza zarobenej hodnoty (angl. Earned value analysis, ďalej AZH) sa už takmer 50 rokov využíva pri monitorovaní projektov všeobecne. Pomocou nej môžu projektoví manažéri sledovať proces vývoja projektu počas celej dĺžky jeho trvania a včas identifikovať nežiaduce stavy, v ktorých by sa mohol projekt bez zásahu ocitnúť. Metóda kladie na jednotlivé časti práce otázku: „Koľko sme zarobili za to, čo sme investovali?“ Pri snahe aplikovať AZH na proces softvérového projektu sa stretávame s niekoľkými problémami. Jedným z nich je potreba odhadnúť hodnotu vykonanej práce vzhľadom k celkovej hodnote konečného produktu. V súčasnosti už existuje niekoľko metrík, ktoré v rôznej miere umožňujú pridávať hodnotu jednotlivým prvkom práce. Po úvodnej analýze využitia AZH v projektoch a predstavenia niekoľkých metrík odhadovania hodnoty vykonanej práce sa esej venuje porovnaniu s inými metódami monitorovania a možnostiam aplikácie tejto metódy v akademických softvérových projektoch, ktorých charakter, čo sa týka nákladov, sa výrazne líši od štandardných projektov.

Analýza rizík pre menšie projekty: Je vôbec potrebná?

Autor:Vojtech Villaris
Abstrakt:Vývoj softvérových projektov je často spätý s rôznymi vonkajšími a vnútornými rizikami, ktoré môžu spôsobovať rozličné problémy. Tieto problémy ako napríklad nedodržanie termínov na odovzdanie, predraženie vývoja alebo nedostatočná kvalita sa vyskytujú v súčasnej dobe vo väčšine projektov. Z tohto dôvodu prichádza na scénu Manažment rizík, ktorého úlohou je takéto riziká identifikovať a podniknúť vhodné kroky na ich odstránenie alebo aspoň zmiernenie ich nevhodných dopadov. V tejto eseji sa snažím priblížiť niektoré metódy využívané na analýzu rizík a zodpovedať otázky týkajúce sa ich vhodnosti pre použitie pri tvorbe menších a stredne veľkých softvérových systémov. Ďalej sa budem zaoberať otázkami, či a aký význam majú tieto metódy pri tvorbe takýchto systémov.

Zvolenie vhodných podporných prostriedkov pre riadenie softvérového projektu

Autor:Peter Fridrich
Abstrakt:Existuje množstvo podporných prostriedkov pre riedenie projektov. Uľahčujú, zefektívňujú a sprehľadňujú členom tímu prácu na projekte. Avšak s týmito prostriedkami vzniká určitá réžia potrebná na ich riadenie. Je preto dôležité vyberať podporné prostriedky podľa charakteru projektu, na ktorom budú použité. Iné podporné prostriedky používajú nadnárodné firmy a iné malé tímy. Nielen veľkosť tímu, ale aj spôsob organizácie práce v tíme rozhoduje o tom, ktorý prostriedok je pre projekt najvhodnejší. Lord Kelvin raz povedal „Keď to nemôžeš zmerať, nemôžeš to ani zlepšiť“. Preto je dôležité určiť, ktoré aspekty projektu potrebujeme merať aby sme ich mohli zlepšovať. Autor tohto dokumentu sa zamýšľa na efektívnosťou použitia rôznych podporných prostriedkov pre rôzne tímy vzhľadom na ich veľkosť.

Agilné plánovanie

Autor:Michal Oláh
Abstrakt:Plánovanie je jednou z najdôležitejších častí softvérového projektu. Riadenie softvérových projektov sa v poslednom čase viac a viac orientuje na nové metodiky ako agilné a extrémne programovanie. V takýchto projektoch je plánovanie čiastočne posunuté do úzadia a aj napriek tomu sú takéto projekty úspešné. Plánovanie v takýchto projektoch sa používa hlavne pri stanovovaní cieľov, pričom samotné plánovanie práce je ponechané na pracovníkov. Existuje ale nemalá časť projektov kde sa využívajú agilné metódy, v ktorých by presnejšie plánovanie pomohlo naplniť ciele projektu oveľa lepšie. Cieľom tejto eseje je poukázať na riziká pri vyžití agilných metód a ponúknuť alternatívy na zlepšenie manažmentu pomocou plánovania.

Analýza osobností v softvérovom projekte – správni ľudia sú polovica úspechu

Autor:Peter Fillo
Abstrakt:Úspech tímového projektu, či sa jedná o softvérový alebo iný projekt, závisí predovšetkým od členov tímu. Každý jednotlivec v tíme má svoje vedomosti, zručnosti, charakterové vlastnosti, schopnosti tímovej spolupráce a ochotu venovať projektu svoje úsilie a čas. Vhodný výber ľudí v tímovom projekte môže vo veľkej miere pomôcť k efektívnosti a úspešnosti projektu. Táto esej sa zaoberá klasifikáciou ľudí do skupín s rovnakými povahovými vlastnosťami a analýzou týchto skupín v súvislosti s vhodným výberom a zaradením členov do tímu.

Riziká a prevencia v softvérovom projekte

Autor:Jozef Demčák
Abstrakt:Podľa správy „CHAOS: A Recipe for Success“ spoločnosti „The Standish Group“ sa počas jedného roka len 28 percent softvérových projektov skočilo v plánovanom čase s plánovaným rozpočtom a so splnenými cieľmi projektu. Ostatné projekty boli pozmenené alebo neúspešné[4]. Nedokončenie projektu, nesplnenie požiadaviek alebo predĺženie realizácie projektu znamená pre spoločnosti stratu, prípadne aj krach. Najdôležitejšia otázka nie je, prečo sa projekt skončil neúspechom. Tá otázka existuje ešte pred realizáciou a znie: ako sa dá zamedziť alebo aspoň minimalizovať riziko, že projekt skončí neúspešne? Analyzovanie rizík, zaoberaním sa tvorbou opatrení, plánovanie prípadov neplánovaných situácii je presne to, čo potrebujeme ak chceme byť úspešní. Cieľom tejto eseje bude objasniť proces manažmentu rizík, naučiť vás využívať prevenciu miesto riešenia problémov a ukážeme vám riziká, ktoré číhajú pri realizácii softvérového projektu.

Monitorovanie otvorených softvérových projektov

Autor:Marián Bystričan
Abstrakt:Vývoj počítačového softvéru je nesporne veľmi zložitý a časovo náročný proces, ktorý si vyžaduje kvalitný manažment. Existujú rôzne typy softvérových projektov, tie sa od seba líšia svojou zložitosťou, rozsiahlosťou, zúčastnenými pracovníkmi a samotným charakterom. Bez ohľadu na tieto skutočnosti, ak chceme dospieť k úspešnému ukončeniu a uvedeniu do prevádzky, je potrebné neustále monitorovať prebiehajúce práce počas každej fázy vývoja. Takto je možné sledovať, či napredujeme správnym smerom a ak nie, včas situáciu zachrániť a ušetriť zdroje, ktoré by boli zbytočne premrhané. Špecifickým prípadom je vývoj aplikácií s otvoreným zdrojovým kódom, kde na projektoch pracujú členovia prislúchajúcej komunity, mnohokrát dobrovoľne a na vlastné náklady, pričom môžu byť rozmiestení v rôznych častiach sveta. V takomto prípade nie je možné použiť štandardné metódy riadenia a monitorovania projektu a treba zvoliť špeciálne prístupy, ktorými sa zaoberá táto esej.

Aký je význam metrík pri monitorovaní projektu?

Autor:Martin Jakubéci/div>
Abstrakt:S neustálym rozvojom informačných a komunikačných technológií narastajú aj požiadavky na kvalitné softvérové produkty, ktoré sú tým pádom stále komplexnejšie. Preto je dobré projektové riadenie absolútnou nevyhnutnosťou. Monitorovanie, ako jedna z kľúčových súčastí projektového manažmentu, slúži ako spôsob na včasné odhalenie chýb a nezrovnalostí. Aby sme však mohli správne monitorovať, musíme si určiť kritériá a objektívne ich merať. Na to nám slúžia metriky, ktoré autor v tejto eseji popisuje. Predovšetkým sa orientuje na metriky využiteľné pri menších softvérových projektoch, analyzuje ich možnosti a spôsoby a podáva vlastný pohľad na problematiku.

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

Autor:Peter Jakubec
Abstrakt:Tento dokument sa venuje problematike zabezpečenia kvality softvérového produktu a dôležitosti testovania. Kvalita softvéru je v posledných rokoch sužovaná rôznymi problémami. Jeden z nich, ktorý je opísaný v dokumente je bezpečnosť. Stroje sú neomylné avšak ich tvorcovia nie. Systémy čelia neustálym útokom takzvaných heckerov, ktorí s obľubou testujú ich odolnosť. Vývojári sa snažia prispôsobovať vývoju a na svoj softvér vydávajú stále nové a nové aktualizácie, mnohé z nich sú však len záplaty na chyby a medzery, ktoré neboli pri vývoji odhalené, prípadne nezostal čas na ich detekciu a opravu. Zlá kvalita softvéru a odstraňovanie chýb si často vyžaduje ďalšie zbytočné investície, napriek tomu európske firmy zanedbávajú kvalitu pri vývoji aplikácií.

Výber profesie na základe typu osobnosti v softvérovom projekte

Autor:Martin Zachar
Abstrakt:Hlavným nástrojom v akomkoľvek softvérovom projekte sú ľudia. Pri vytváraní projektových tímov sú okrem vedomostných charakteristík členov dôležité aj osobnostné charakteristiky a to najmä pri projektoch v oblasti softvéru resp. informačných systémov. Je potrebné si všímať charakteristiky osobností vedúceho tímu, členov tímu a diverzitu medzi nimi. Na túto tému existuje veľa štúdií, ktoré taktiež navrhujú ako takýto tím skladať. Každá osoba v tíme má svoju úlohu a i napriek excelentným vedomostiam môže brzdiť, resp. narúšať priebeh projektu. Dôležitosť osobnostných charakteristík je pri rôznych funkciách v tíme rôzna. Esej predstavuje 2 najzaujímavejšie teórie výberu vhodnej profesie: jednu, ktorá je založená na Myers-Briggs indikátore typu osobností a jednu, ktorá vychádza z The Big Five vlastností.

Plánovanie v softvérovom projekte, rozdelenie úloh, plnenie a aktualizácia plánov projektu v procese implementácie

Autor:Martin Čaučík
Abstrakt:Zmeny v oblasti vývoja softvérových projektov sú v posledných rokoch stále rapídnejšie. Spoločnou charakteristikou týchto zmien je rast zložitosti projektov. Projekty sa stávajú rozsiahle, navzájom prepojené, závislé a stále viac geograficky distribuované. Úlohy riešené v rámci softvérových projektov sú zložité a navzájom previazané závislosťami. Spoločnou charakteristikou rozsiahlych projektov sú aj zmeny vykonávané v procese implementácie. Reakciou na nové požiadavky je prerozdelenie úloh dostupným zdrojom a preprioritizovanie úloh. Tým sa odhad dĺžky trvania projektu sťažuje, a preto musí byť manažment projektu veľmi dynamický. Pre úspešné vyriešenie projektu s pridelenými prostriedkami je dôležitý výber vhodnej stratégie plánovania, vzhľadom na charakter projektu a zvolený model vývoja. Pre lepšie rozhodnutia pre budúci vývoj na projekte, je dôležitá spätná väzba a proces učenia sa na predchádzajúcich úlohách a projektoch. Cieľom tejto eseje je nájdenie vhodného procesu tvorby plánov a prerozdelenia úloh. S tým súvisí proces identifikácie problémov a rizík v plánovaní, ktorým sa snažíme vyhnúť.

Podporné prostriedky pre riadenie malého softvérového projektu. Alebo každá minca má dve strany.

Autor:Tomáš Dankovčik
Abstrakt:Úspešne riadiť projekty znamená cieľavedome a hospodárne plánovať, realizovať a kontrolovať hlavné zámery. Riadenie projektu zahŕňa odhadovanie, plánovanie, organizáciu práce, prácu s ľuďmi, sledovanie realizácie práce a prijímanie potrebných opatrení. Profesionálne riadenie projektu sa na tomto pozadí vyvíja ako významný faktor konkurencieschopnosti a efektivity práce v tíme. Riadenie projektu je o to úspešnejšie, o čo výkonnejšie sú organizačné prostriedky a technické systémy, ktoré využíva. Tento článok vás v stručnosti zoznámi s podpornými prostriedkami pre riadenie malého softvérového projektu. V závere 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 podpornom prostriedku, ktorý využívame na tímovom projekte.

Analýza ako odrazový mostík k efektívnemu plánovaniu rizík v softvérovom projekte

Autor:Ľuboš Ukrop
Abstrakt:Vývoj softvérového projektu je komplikovaný proces, ktorý je ovplyvňovaný množstvom interných, ako aj externých rizikových faktorov. Tieto spolu s meniacim sa prostredím prinášajú do procesu prvok neistoty, spôsobujúci, že úspešné ukončenie projektu a spokojnosť zákazníka nie je nikdy vopred zaručená. Odhliadnuc od ekonomických dopadov, aj neúspešný projekt môže priniesť vývojovému tímu cenné skúsenosti. V očiach zákazníkov však rozhodne nie je dobrou vizitkou. Preto je v záujme manažmentu pokúsiť sa vopred identifikovať riziká, analyzovať ich a naplánovať postup vedúci k ich minimalizácii. Cieľom tejto eseje je poskytnúť prehľaď vybraných kvantitatívnych a kvalitatívnych techník analýzy rizík v softvérovom projekte a zamyslieť sa nad vhodnosťou ich použitia v tíme menšieho rozsahu.