Abstrakt. Agilné metódy sa čoraz častejšie objavujú ako alternatíva ku „klasickým“ metódam vývoja softvéru. Dôvodov ich úspechu je niekoľko, pričom jednotlivo sú rozoberané v prvej časti tejto eseje. V tejto časti sú ďalej rozoberané základné charakteristiky agilných metód. Jednou z najznámejších agilných metód je Extrémne programovanie, ktoré je bližšie rozoberané v druhej kapitole. Ďalšia časť je venovaná škálovaniu agilných metód. To znamená použitiu agilných metód pre veľké a distribuované projekty. Sú v nej rozoberané skúsenosti jednotlivých tímov a ich odporúčania spolu s experimentmi vykonanými v tejto oblasti.

Abstrakt. Všetci dobre vedia že ľudia robia chyby, robia ich neustále, ale nik nevie dopredu povedať s určitosťou kedy a aké. Už niekoľko desaťročí ľudia vyvíjajú techniky na zredukovanie chýb a zvýšenie efektivity vývoja softvéru. Napriek tomu softvérové projekty stále zlyhávajú, aj napriek pokrokom v technológii. Tento článok sa snaží v krátkosti popísať a vysvetliť niekoľko dôvodov prečo sa tak deje, a načrtnúť čo môžeme robiť aby sme tieto problémy zvládli.

Abstrakt. S požiadavkou na vývoj neustále zložitejších softvérových systémov sa model distribuovaného vývoja systému, resp. jeho súčiastok stal v súčasnosti štandardným riešením. Distribuované softvérové tímy stoja nielen pred úlohou samotného vývoja danej súčiastky systému, ale predovšetkým tiež pred úlohou vzájomnej koordinácie a komunikácie s úsilím úspešného dosiahnutia stanoveného cieľa. Ukazuje sa, že aspekty ako komunikácia, koordinácia a informačné povedomie majú zásadný vplyv na celkový výkon distribuovaného softvérového tímu. Dobre zvolená komunikačná technológia má pritom výrazný pozitívny vplyv na uvedené aspekty. Z hľadiska koordinácie sa v praxi osvedčila koncepcia koordinačnej autority, ktorá výrazne zefektívňuje proces koordinácie tímu a jej užitočná hodnota je citeľná najmä v problémových situáciách, do ktorých sa projekt môže časom dostať pod vplyvom rôznych okolností. Tento príspevok prezentuje zistené poznatky z oblasti manažmentu komunikácie distribuovaných softvérových systémov s dôrazom na komunikačné technológie a dôležité faktory ovplyvňujúce celkový výkon softvérového tímu. Pozornosť je venovaná tiež analýze koncepcie distribuovaných softvérových tímov najmä z hľadiska jej významu a charakteristických vlastností.

Autor. Peter Kasan

Abstrakt. Problematika tímov a vzájomné vzťahy ich členov sú v dnešnej „tímovej“ dobe stále viac aktuálne a skúmané. Vzťahy v skupine a ich dynamika síce patria do oblasti skupinovej psychológie, ale každý dobrý manažér alebo tím líder by sa mal s nimi oboznámiť. Jedným s dôležitých prvkov týchto vzťahov, na ktorý treba upriamiť viac pozornosti, je konflikt. Je dôležité pochopiť čo to je, ako vzniká, aké ma fázy a ako ho treba riešiť, prípadne mu úplne predchádzať. Tieto otázky sú riešené v prvej časti tejto eseje. Druhá časť sa sústreďuje na spôsoby minimalizovania faktorov, ktoré spôsobujú konflikt a to špecificky pre dve roly v tíme – programátorov a testerov. Sú tu popísané niektoré situácie, ktoré vytvárajú napätie medzi spomínanými skupinami a tiež možný postup ako im predchádzať.

Abstrakt. Kvalita je rôznymi odborníkmi na kvalitu definovaná rôzne. Dokument sa zaoberá problémom, akým je vnímanie kvality z pohľadu zákazníka. Zaoberá sa aj používanými metrikami pri meraní kvality a potrebou kvantifikovať kvalitu. Ďalej uvádza prezentáciu podprocesov procesu manažmentu kvality (Juranova trilógia) a hlavné nástroje kvality požívané na zvyšovanie kvality. Pokúšam sa odpovedať na otázku, prečo je potrebné neustále zlepšovať kvalitu a ako vplývajú certifikáty kvality na koncový produkt. Na konci sú rozobraté účinky manažmentu kvality na výsledok projektu, t.j. aké prínosy z toho vyplývajú a aké prostriedky je nutné vynakladať na zabezpečenie kvality.

Abstrakt. Analýza a manažment rizík v softvérových projektoch je stále na okraji záujmu manažmentu. Vysoký pomer neúspešných projektov dokazuje, že manažment by mal tento nezodpovedný prístup k rizikám vo vlastnom záujme prehodnotiť. Táto práca sa venuje manažérskemu systému ProRisk, ktorý popisuje postup pri manažmente rizík v softvérových projektoch a pokrýva celý životný cyklus projektu. Práca prechádza jednotlivými fázami systému pri tvorbe modelu rizík projektu, od identifikácie rizík, cez konštrukciu modelu, jeho kalibráciu, výpočet rizikových hodnôt, až po vytvorenie akčných plánov na zamedzenie výskytu rizík a monitorovací a udržovací proces systému. Následne sa venuje zhodnoteniu systému a jeho výhod a nevýhod pre manažérov a organizáciu.

Abstrakt. Výber vhodných ľudí do projektu výrazne ovplyvňuje jeho úspešnosť. Úlohou manažéra projektu je zanalizovať všetky potrebné informácie a vytvoriť vhodnú štruktúru tímu, aby bol schopný riadiť projekt do úspešného konca. V eseji popisujem niektoré faktory, ktoré ovplyvňujú rozhodovanie projektového manažéra pri organizovaní tímov.

Abstrakt. Vytvorenie softvérového systému už dávno nie je len otázkou programovania. Stále dôležitejšia sa ukazuje byť úloha manažmentu softvérového systému, ktorého cieľom je zosúladiť všetky prebiehajúce procesy. Vyvíjané softvérové produkty sa stávajú čoraz rozsiahlejšie a komplexnejšie. Na ich vývoji obyčajne spolupracuje niekoľko tímov, pričom pre úspešné vyriešenie projektu je nutné ich činnosť neustále kontrolovať a koordinovať. Bežným sa stáva aj priebežné upresňovanie a dopĺňanie požiadaviek kladených na výsledný produkt, pričom tie je nutné neustále aktualizovať. Tento článok sa zaoberá významom manažmentu softvérových systémov pri riešení týchto problémov. Vysvetľuje hlavné úlohy manažmentu konfigurácii a manažmentu zmien, ktoré sú jeho súčasťou. Nástroje používané pri riadení softvérových systémov uľahčujú vývoj nových produktov. V niektorých prípadoch však môže ich nasadenie viesť k zníženiu efektivity. V tomto článku sú uvedené niektoré aspekty, ktoré by mali byť zvážené pred prvým nasadením softvérového nástroja.

Abstrakt. Ak chce softvérová firma prežiť na súčasnom trhu, musí zvládnuť proces prechodu na nové technológie. Táto potreba vyplýva z toho, že sa neustále objavujú nové technológie, ktoré je potrebné využiť vo vývojovom procese, či už preto, že si to vyžaduje samotný riešený problém alebo zákazník. Zvládnutie tohto procesu nie je triviálna záležitosť. Vyplývajú z neho mnohé riziká a je potrebné uplatniť špecifické nástroje na ich elimináciu. Táto esej rozoberá príčiny vzniku potreby novej technológie vo vývojovom procese a hlavné riziká, ktoré z jej nasadenia vyplývajú. Potom postupne predstavuje jednotlivé nástroje, ktoré môže projektový manažér použiť na elimináciu týchto rizík.

Abstrakt. Pri súčasnom trende vývoja softvérových výrobkov sa dostáva do popredia, ako jedna veľmi dôležitá činnosť, práve manažment projektu. Skladá sa z viacerých častí, ktoré sa snažia zabezpečiť organizáciu, plánovanie projektu a rozvrhnutie hlavných vykonávaných činností. Jednou z týchto častí je práve plánovanie a odhadovanie, ktorou sa podrobnejšie zaoberá tento dokument. Dôraz je tu kladený na objasnenie procesu plánovania, a to z viacerých pohľadov. Ide v podstate o určitú postupnosť jednoduchých krokov, ktoré sa môžu aj niekoľkokrát opakovať. Iný pohľad hovorí o rozdelení na základné procesy, čiže samotné vytvorenie rozvrhu a rozpočtu, a na podporné procesy, kam by sme mohli zahrnúť napríklad analýzu a manažment rizík. Odhadovanie je rozdelené na štyri kroky: odhadovanie veľkosti projektu, potrebného ľudského úsilia, rozvrhu a ceny projektu. Nasledujú možnosti spôsobu odhadovania projektu, pričom najlepšie je vychádzať z predošlých skúseností, ak sú k dispozícii. Ak nie, môžu sa použiť zaužívané postupy, alebo matematické úvahy a jednoduché vzorce. Na záver sú uvedené možné dôvody a dôsledky podcenenia plánovania a odhadovania, kam patria narýchlo zostrojené slabé plány, podcenenie mnohých faktorov, ako je zložitosť systému, množstvo ľudských zdrojov apod.

Abstrakt. Mnoho softvérových projektov sa končí odlišne, ako bolo pôvodne naplánované. Bežné je oneskorenie, prekročenie rozpočtu, prípadne nesplnenie požadovanej funkcionality. Sledovanie postupu projektu, môže manažérov upozorniť na prichádzajúce problémy a umožniť im tak prijať včas potrebné opatrenia. Kľúčovým faktorom pri sledovaní postupu projektu je zabezpečiť jeho viditeľnosť a to v ľubovoľnom okamihu riešenia projektu, v najlepšom prípade kontinuálne a automatizovane.

Abstrakt. Softvérový tím je skupina ľudí, ktorý majú spoločný cieľ, a to vyvinúť produkt, podľa požiadaviek zákazníka. Tím ľudí, či už malý, alebo veľký, v priebehu projektu nie je stály, ale mení sa. Na zmenu tímu vplýva mnoho faktorov, ktoré spôsobujú jeho zmenu. Ľudia sa počas práce na vývoji menia, tak isto sa menia aj kompetencie a role jednotlivých vývojárov. Manažment tohto procesu je dôležitý z hľadiska dokončenia projektu a pre manažéra je manažment ľudských zdrojov jednou z najdôležitejších činností. Esej uvažuje o vývoji tímu a jeho vplyve na manažment.

Abstrakt. V súčasnosti sa väčšina softvérových projektov končí neúspechom. Je to spôsobené hlavne zlými vzťahmi medzi vývojármi a zákazníkmi, jedná sa hlavne o komunikačné vzťahy. V eseji sú popísané spôsoby komunikácie medzi zákazníkom a vývojármi, ktoré by mohli zvýšiť šancu projektu na úspech.

Abstrakt. Ak chce firma uspieť v dnešnom konkurenčnom prostredí, je potrebné, aby sa snažila dosiahnuť minimálne rovnako kvalitný výsledok, ale za kratší čas a menšie náklady ako konkurencia. Táto práca sa zaoberá problematikou zvyšovania produktivity softvérových tímov, ktorej cieľom je dosiahnuť práve lepšiu efektívnosť práce a kvalitnejšie výsledky. Snaží sa načrtnúť základné faktory, ktoré ovplyvňujú produktivitu a odhaľuje spôsoby a možnosti ako ju zvyšovať. Venuje sa hlavne koordinácii prác, pričom bližšie analyzuje dôvody vedúce k potrebe dobrej koordinácie a naznačuje spôsoby riešenia tohto problému. S koordináciou súvisí aj komunikácia v tíme, ktorá hrá tiež dôležitú úlohu z pohľadu produktivity. Práca sa okrem toho zaoberá aj faktormi vplývajúcimi na výkon jednotlivca, nakoľko výkon a produktivita celého tímu závisí aj od výkonov jeho členov. Výkon jednotlivca je ovplyvnený jeho zodpovednosťou, prístupom k práci, schopnosťami, podmienkami, v ktorých pracuje a motiváciou.

Manažment v softvérovom inžinierstve Zborník esejí English