Bankovní institut vysoká škola Praha Katedra informatiky a kvantitativních metod
Porovnání nástrojů pro spolupráci v týmu při vývoji softwaru Bakalářská práce
Autor:
Ondřej Bako, DiS. Informační technologie, Manaţer projektů IS
Vedoucí práce:
Praha
doc. Ing. Alena Buchalcevová, PhD.
Duben 2014
Prohlášení Prohlašuji, ţe jsem bakalářskou práci zpracoval samostatně a v seznamu uvedl veškerou pouţitou literaturu. Svým podpisem stvrzuji, ţe odevzdaná elektronická podoba práce je identická s její tištěnou verzí, a jsem seznámen se skutečností, ţe se práce bude archivovat v knihovně BIVŠ a dále bude zpřístupněna třetím osobám prostřednictvím interní databáze elektronických vysokoškolských prací.
podpis autora V Písku, dne 3. 4. 2014
Ondřej Bako, DiS.
Poděkování Rád bych tímto poděkoval vedoucí bakalářské práce doc. Ing. Aleně Buchalcevové, PhD. za vstřícné jednání, ochotu a rady které mi při mé práci na této bakalářské práci pomohly.
Anotace Cílem této bakalářské práce je poskytnout obecný přehled současných moţných řešení týmové spolupráce při vývoji softwaru pomocí vhodných softwarových nástrojů a porovnat některé vybrané integrované nástroje pro takovou podporu. Tato práce dále porovnává pouţití neintegrovaných řešení s integrovanými nástroji pro podporu týmového vývoje softwaru. Výsledkem je doporučení zvolení vhodného řešení umoţňujícího týmový vývoj softwaru pro různé typy vývojářských týmů.
Klíčová slova vývoj softwaru, tým, integrované nástroje, neintegrovaná řešení, porovnání, vlastnosti, spolupráce
Annotation The aim of this bachelor thesis is to provide a general overview of the current potential collaboration solution for software development using appropriate software tools and to compare some integrated tools for this support. This work also compares the use of nonintegrated solutions with integrated tools to support software development in team. The result is a recommendation to select the appropriate solution enabling team development of software for different types of development teams.
Key words software development, team, integrated tools, not integrated solutions, comparison, characteristics, cooperation
Obsah ÚVOD............................................................................................................................................................ 8 VYMEZENÍ TÉMATU PRÁCE A DŮVOD VÝBĚRU TÉMATU ..................................................................................................... 8 CÍLE PRÁCE ............................................................................................................................................................. 8 ZVOLENÉ METODY ZPRACOVÁNÍ .................................................................................................................................. 9 PŘEDPOKLADY A OMEZENÍ PRÁCE ................................................................................................................................ 9 STRUKTURA PRÁCE ................................................................................................................................................. 10 1
2
3
SPOLUPRÁCE V TÝMU......................................................................................................................... 11 1.1
TÝM .......................................................................................................................................................... 11
1.2
TÝMOVÁ SPOLUPRÁCE PŘI VÝVOJI SOFTWARU .................................................................................................... 12
DEFINOVÁNÍ POTŘEB PRO SPOLUPRÁCI V TÝMU ................................................................................ 13 2.1
KOMUNIKACE .............................................................................................................................................. 13
2.2
SDÍLENÍ DOKUMENTŮ A DAT ........................................................................................................................... 13
2.3
KOORDINACE PRÁCE ..................................................................................................................................... 13
NEINTEGROVANÉ NÁSTROJE PRO PODPORU SPOLUPRÁCE ................................................................. 14 3.1
3.1.1
Email .............................................................................................................................................. 14
3.1.2
Instant messaging.......................................................................................................................... 14
3.1.3
Diskusní fóra .................................................................................................................................. 15
3.1.4
Sociální sítě .................................................................................................................................... 15
3.2
SDÍLENÍ DOKUMENTŮ A DAT ........................................................................................................................... 16
3.2.1
Cloudová úložiště ........................................................................................................................... 16
3.2.2
Webové upload servery ................................................................................................................. 17
3.3 4
KOMUNIKACE .............................................................................................................................................. 14
KOORDINACE PRÁCE ..................................................................................................................................... 17
INTEGROVANÉ NÁSTROJE PRO TÝMOVOU SPOLUPRÁCI...................................................................... 18 4.1
GROUPWARE............................................................................................................................................... 18
4.2
METODIKA HODNOCENÍ INTEGROVANÝCH NÁSTROJŮ ........................................................................................... 19
4.3
KRITÉRIA HODNOCENÍ INTEGROVANÝCH NÁSTROJŮ.............................................................................................. 20
4.3.1
Uživatelská přívětivost ................................................................................................................... 21
4.3.2
Dostupná podpora ......................................................................................................................... 21
4.3.3
Podporované funkce ...................................................................................................................... 21
4.3.4
Možnosti rozšíření funkcí ............................................................................................................... 21
4.3.5
Uživatelské rozhraní ...................................................................................................................... 22
4.3.6
Jazyková podpora .......................................................................................................................... 22
5
4.3.7 5
Cena ............................................................................................................................................... 22
POROVNÁNÍ JEDNOTLIVÝCH NÁSTROJŮ ............................................................................................. 24 5.1
JIRA .......................................................................................................................................................... 24
5.1.1
Hlavní přednosti aplikace JIRA ....................................................................................................... 25
5.1.2
Uživatelská přívětivost ................................................................................................................... 25
5.1.3
Dostupná podpora ......................................................................................................................... 26
5.1.4
Podporované funkce ...................................................................................................................... 26
5.1.5
Možnosti rozšíření funkcí ............................................................................................................... 26
5.1.6
Rozhraní aplikace........................................................................................................................... 26
5.1.7
Jazyková podpora .......................................................................................................................... 26
5.1.8
Cena ............................................................................................................................................... 27
5.2
REDMINE .................................................................................................................................................... 28
5.2.1
Hlavní přednosti aplikace Redmine................................................................................................ 29
5.2.2
Uživatelská přívětivost ................................................................................................................... 29
5.2.3
Dostupná podpora ......................................................................................................................... 29
5.2.4
Podporované funkce ...................................................................................................................... 30
5.2.5
Možnosti rozšíření funkcí ............................................................................................................... 30
5.2.6
Rozhraní aplikace........................................................................................................................... 30
5.2.7
Jazyková podpora .......................................................................................................................... 30
5.2.8
Cena ............................................................................................................................................... 30
5.3
BASECAMP.................................................................................................................................................. 31
5.3.1
Hlavní přednosti aplikace Basecamp ............................................................................................. 32
5.3.2
Uživatelská přívětivost ................................................................................................................... 32
5.3.3
Dostupná podpora ......................................................................................................................... 33
5.3.4
Podporované funkce ...................................................................................................................... 33
5.3.5
Možnosti rozšíření funkcí ............................................................................................................... 33
5.3.6
Rozhraní aplikace........................................................................................................................... 33
5.3.7
Jazyková podpora .......................................................................................................................... 33
5.3.8
Cena ............................................................................................................................................... 34
5.4
FREEDCAMP ................................................................................................................................................ 35
5.4.1
Hlavní přednosti aplikace Freedcamp ............................................................................................ 36
5.4.2
Uživatelská přívětivost ................................................................................................................... 36
5.4.3
Dostupná podpora ......................................................................................................................... 36
5.4.4
Podporované funkce ...................................................................................................................... 37
5.4.5
Možnosti rozšíření funkcí ............................................................................................................... 37
5.4.6
Rozhraní aplikace........................................................................................................................... 37
5.4.7
Jazyková podpora .......................................................................................................................... 37
6
5.4.8 5.5
6
7
Cena ............................................................................................................................................... 37
RATIONAL TEAM CONCERT............................................................................................................................. 38
5.5.1
Hlavní přednosti aplikace Rational team concert .......................................................................... 39
5.5.2
Uživatelská přívětivost ................................................................................................................... 39
5.5.3
Dostupná podpora ......................................................................................................................... 40
5.5.4
Podporované funkce ...................................................................................................................... 40
5.5.5
Možnosti rozšíření funkcí ............................................................................................................... 40
5.5.6
Rozhraní aplikace........................................................................................................................... 40
5.5.7
Jazyková podpora .......................................................................................................................... 40
5.5.8
Cena ............................................................................................................................................... 41
VYHODNOCENÍ POROVNÁVANÝCH NÁSTROJŮ ................................................................................... 42 6.1
JIRA .......................................................................................................................................................... 43
6.2
REDMINE .................................................................................................................................................... 43
6.3
BASECAMP.................................................................................................................................................. 43
6.4
FREEDCAMP ................................................................................................................................................ 43
6.5
RATIONAL TEAM CONCERT............................................................................................................................. 44
NEINTEGROVANÉ VS. INTEGROVANÉ NÁSTROJE ................................................................................. 45 7.1
NEINTEGROVANÉ NÁSTROJE ........................................................................................................................... 45
7.1.1
Výhody ........................................................................................................................................... 45
7.1.2
Nevýhody ....................................................................................................................................... 45
7.2
INTEGROVANÉ NÁSTROJE ............................................................................................................................... 46
7.2.1
Výhody ........................................................................................................................................... 46
7.2.2
Nevýhody ....................................................................................................................................... 46
7.3
DOPORUČENÍ VYPLÝVAJÍCÍ Z POROVNÁVÁNÍ NÁSTROJŮ ........................................................................................ 46
ZÁVĚR ......................................................................................................................................................... 48 SEZNAM POUŽITÉ LITERATURY .................................................................................................................... 49 KNIHY.................................................................................................................................................................. 49 WEBOVÉ STRÁNKY ................................................................................................................................................. 49
7
Úvod S postupem času se stává vývoj softwaru stále více komplexní záleţitostí. Na softwarové produkty jsou kladeny stále větší poţadavky. Nestačí tak pouze to aby software správně fungoval, musí být navíc uţivatelsky přívětivý jak po stránce ovládání, tak i po stránce grafického návrhu. Stejně tak dochází k rozšiřování počtu platforem, pro které je software nově vyvíjen. Příkladem mohou být chytré mobilní telefony a pro ně nově vznikající mobilní aplikace. To všechno znamená, ţe software jiţ nemůţe být prací jednotlivce, ale při jeho vývoji se musí spojit tým profesionálů, ve kterém je kaţdý jeho člen odborníkem na určitou oblast vývoje. Jen tak je moţné uspět mezi silnou konkurencí. Spolupráce v týmu vyţaduje výměnu řady informací a dat ale také musí být nějakým způsobem řízena, jen tak je moţné dosáhnout společného cíle. Právě na podporu pří vývoji v týmu existují nástroje, jimţ je tato páce věnována.
Vymezení tématu práce a důvod výběru tématu Tato bakalářská práce se primárně zabývá integrovanými nástroji pro podporu spolupráce v týmu. Spíše okrajově jsou zmíněna i moţná neintegrovaná řešení a to především za účelem zhodnotit přínos právě integrovaných nástrojů oproti neintegrovaným řešením. Toto téma bakalářské práce jsem si vybral, protoţe se sám aktivně účastním vývoje softwaru, především pak mobilních aplikací a to vţdy formou spolupráce v týmu, tudíţ se mě tato problematika přímo dotýká.
Cíle práce Prvním cílem bakalářské práce je definovat základní potřeby spojené se spoluprací v týmu při vývoji softwaru. Druhým cílem je poskytnout obecný přehled moţných řešení podpory týmové spolupráce. Pomocí zmiňovaných integrovaných a neintegrovaných nástrojů.
8
Třetím a současně hlavním cílem je porovnat vybrané integrované nástroje, jimţ se tato práce primárně věnuje, podle zvolených kritérií za účelem zvolení vhodného nástroje pro různé typy vývojářských týmů.
Zvolené metody zpracování Při zpracování práce jsem vycházel z vlastních zkušeností, jelikoţ se týmového vývoje softwaru aktivně účastním. Své zkušenosti se poté snaţím podpořit informacemi, které jsem čerpal především z internetových zdrojů. Při porovnávání integrovaných nástrojů jsem se snaţil zachovat co nejvyšší objektivitu proto, aby bylo porovnávání přínosné co největšímu rozsahu různých typů vývojářských skupin od těch nejmenších s počtem do 10-ti členů, začínajících týmům a aţ po ty větší a náročnější typy týmů pracujících na společném vývoji. Porovnávání se soustředí spíše na obecnější vlastnosti těchto nástrojů, neţli na jejich podrobnou analýzu.
Předpoklady a omezení práce Tato páce je tak primárně určena začínajícím vývojářským týmům, které hledají vhodný nástroj pro podporu jejich snaţení. Poslouţit ale můţe i jiţ fungujícím týmům, které doposud ţádný z integrovaných nástrojů při své práci nepouţívají. Omezení práce spočívá především v počtu porovnávaných nástrojů. Na trhu existují desítky moţných řešení, důvod volby uvedených nástrojů je tak uveden v příslušné kapitole věnující se integrovaným nástrojům.
9
Struktura práce Na úvod je čtenář seznámen s teorií týmové spolupráce. Ve které je definován pojem týmu jako takového. V následující části jsou definovány základní aspekty, na nichţ týmová spolupráce při vývoji stojí. Jsou tak definovány tři základní potřeby, které by měl nástroj pro podporu týmové spolupráce podporovat. Další kapitola se pak soustředí na to, jak uspokojit tyto potřeby pomocí dostupných neintegrovaných řešení. Hlavní a nejrozsáhlejší kapitolou je následně porovnání vybraných integrovaných nástrojů, kterým je tato práce věnována. Další kapitola provádí porovnání výhod a nevýhod pouţití integrovaných a neintegrovaných nástrojů. Závěrečná kapitola uvádí doporučení vyplývající z předchozího porovnávání.
10
1 Spolupráce v týmu 1.1 Tým Tým je skupina lidí, která společně plní nějaký úkol nebo chce dosáhnout určitý cíl, coţ je moţné jen při spolupráci všech členů. [9] Definice týmu podle [3]: Má dvě a více jednotek. Fungují zde vzájemné interakce. Členové týmu se cítí jako (MY). Mají své kolektivní normy. Sdílejí kolektivní cíle. Uvědomují si jeden druhého. Na rozdíl od hierarchického modelu spolupráce, kdy je větším úkolem pověřován například předák, mistr nebo velitel a je na něm, aby práci zorganizoval, týmový model klade větší důraz na „horizontální“ vztahy, na jednání, dohody a spolupráci přímo mezi jednotlivými členy. To ovšem vyţaduje, aby všichni členové měli jasno, čeho chtějí dosáhnout, a klade větší nároky na jejich samostatnost a odpovědnost. Také organizace a časová náročnost takové spolupráce můţe být náročnější, ale výsledky obvykle kvalitnější. [9] Význam spolupráce lidí různých profesí na společném úkolu se objevil v polovině 20. století a slovo "tým" se stalo téměř módou. Z výzkumů plyne, ţe správná velikost týmu přirozeně závisí na jeho úkolu, nicméně ze sociálně psychologického hlediska se doporučuje 5 aţ 12 členů, větší týmy je dobré dělit na podtýmy (podskupiny). Tým můţe a také nemusí mít formálního vedoucího, obojí řešení má své výhody a nevýhody. [9] Základní vlastnosti týmu podle [1]: Týmy jsou ve většině organizací základní pracovní jednotkou. Spojují v sobě dovednosti, zkušenosti a pohledy několika lidí. Týmová spolupráce představuje soubor hodnot, které povzbuzují jisté způsoby chování, například naslouchat druhým, kooperativní odezvu na názory ostatních, 11
vyjadřování pochybností ve prospěch ostatních i ve prospěch plnění úkolů, pomoc potřebným členům a uznání zájmů a úspěchů ostatních. Týmy jsou vytvářeny za účelem plnění významných a náročných úkolů. Týmy podávají větší výkon neţ jednotlivci pracující osaměle, a to zejména tam, kde práce vyţaduje širší škálu dovedností, úsudků a zkušeností. Týmy jsou pruţné a reagují na měnící se události a poţadavky. Umějí se přizpůsobovat novým informacím a úkolům rychleji, přesněji a efektivněji neţ ostatní. V úspěšných týmech jednotlivci intenzivně pracují na svém růstu a úspěchu.
1.2 Týmová spolupráce při vývoji softwaru Software není ve většině případů dílem jednotlivců, ale týmu programátorů a dalších profesí. V softwarových týmech dochází k zapojování stále více profesí a větší specializaci jednotlivých rolí. S rostoucími nároky na uţivatelská rozhraní programů je potřeba do týmů začleňovat grafiky a specialisty na uţivatelská rozhraní, v závislosti na typu programu – designéry uţivatelských rozhraní, tvůrce ikon, specialisty na hudbu, animace, atd. Do vývoje vícevrstvých aplikací je pak potřeba zapojit odborníky v oblasti instalace a správy webových, databázových a aplikačních serverů, administrátory síťové infrastruktury. I samotné kompilování a sestavování výsledného softwaru, tvorba různých jazykových verzí nebo verzí sestávajících z různých modulů je dnes obvykle vyhrazeno speciální profesi nazývané release engineering. [2]
12
2 Definování potřeb pro spolupráci v týmu Kaţdá spolupráce v týmu při vývoji softwaru stojí na třech základních pilířích, kterými jsou: Komunikace Sdílení dokumentů a dat Koordinace práce
2.1 Komunikace Komunikace v týmu je prvním základním kamenem úspěšné spolupráce. Vývoj softwaru je typickým příkladem, kdy můţe být tým téměř neomezeně geograficky rozloţen a jedinou podmínkou tak je neomezený přístup k internetu. Právě internetová komunikace tak zajišťuje vhodný způsob komunikace a to i v případě, ţe se bude celý tým nacházet v jedné budově. Dobrý komunikační nástroj by měl nejen poskytovat spolehlivou komunikaci, ale také ji umoţňovat zpětně procházet.
2.2 Sdílení dokumentů a dat S vývojem softwaru je také neodmyslitelně spojená potřeba sdílení dokumentů a dat mezi jednotlivými členy. Mohou to být zadání práce, kusy zdrojového kódu či grafické podklady a podobně. Toto všechno je potřeba nějakým rozumným způsobem zpřístupnit relevantním členům týmu.
2.3 Koordinace práce Ne všechno je moţné mezi členy týmu efektivně domlouvat. Je velmi vhodné, aby kaţdý člen týmu měl přehled o termínech výstupů různých procesů na projektu, aby na ně mohl reagovat. Kaţdý člen týmu musí vědět co je od něj a kdy očekáváno tak, aby v práci mohl pokračovat někdo další.
13
3 Neintegrované nástroje pro podporu spolupráce Tato kapitola má za cíl stručně představit některé z moţných řešení pokrývajících potřeby spojené s týmovým vývojem softwaru definovaných dle předchozí kapitoly. Nemá za cíl jejich porovnávání a určení vhodného nástroje. Má slouţit jako protistrana při porovnání výhod a nevýhod s nástroji integrovanými, kterým se tato práce primárně věnuje.
3.1 Komunikace Komunikace v týmu můţe být zajištěna následujícími způsoby:
3.1.1 Email Pouţití emailu jako komunikačního nástroje při týmovém vývoji tvoří naprostý základ. Často to bude i nástroj, na kterém bude začínající či dokonce teprve utvářející se tým začínat. Kromě komunikace email také částečně umoţňuje i sdílení dokumentů a dat, to však ve velmi omezené podobě co se týká omezení jejich datové velikosti většinou kolem 12MB, ale také neumoţňuje jejich zpřístupnění v rámci týmu jako celku. Lepším řešením komunikace napříč týmem se jeví pouţití některého nástroje pro instant messaging, který přináší oproti emailu jisté výhody.
3.1.2 Instant messaging Instant messaging je internetová sluţba, umoţňující svým uţivatelům sledovat, kteří jejich uţivatelé jsou právě připojeni, a dle potřeby jim posílat zprávy, chatovat, přeposílat soubory mezi uţivateli a i jinak komunikovat. Hlavní výhodou oproti pouţívání například e-mailu spočívá v principu odesílání a přijímání zpráv v reálném čase. Jinými slovy zpráva je doručena ve velmi krátké době od odeslání. Instant messaging tak zrychluje komunikaci a umoţňuje snadnou spolupráci mezi více lidmi. Na rozdíl od e-mailu druhá strana ví, zda je účastník k dispozici či nikoliv. [10]
14
Mezi nejznámější sluţby pro instant messaging patří: Skype ICQ eBuddy Meebo Yahoo! Messenger
3.1.3 Diskusní fóra Internetová diskuse je stránka na internetu, kam lidé vkládají své názory a reakce a ty se následně na stránce zobrazují. Oproti instant messagingu se internetová diskuse obvykle liší tím, ţe přispěvatelé nemusí být ke stránce připojeni současně a reagovat bezprostředně, ale mohou reagovat i s odstupem. Mnohé diskusní stránky však mají zároveň i moţnost chatu. [l] Diskusní fórum je tak jakýmsi mezistupněm mezi nástroji pro instant messaging a sociálními sítěmi. Do jednotlivých příspěvků na fóru je moţné vkládat internetové odkazy na datová úloţiště slouţící pro sdílení datových souborů a dokumentů. Při tomto spojení se jeví spolupráce vedená skrze vyhrazené diskusní fórum jako poměrně vhodné řešení.
3.1.4 Sociální sítě Poměrně novou moţností z tohoto pohledu jsou sociální sítě, které rychle získaly na popularitě. Sociální síť nebo společenská síť je sluţba na internetu, která registrovaným členům umoţňuje si vytvářet osobní či firemní veřejný či částečně veřejný profil, komunikovat spolu, sdílet informace, fotografie, videa, provozovat chat a další aktivity. Někdy se za sociální síť povaţují i internetová diskusní fóra, kde si uţivatelé vyměňují názory a poznatky na vybraná témata. Komunikace mezi uţivateli sociálních sítí můţe probíhat buď soukromě mezi dvěma uţivateli, nebo hromadně mezi uţivatelem a skupinou a s ním propojených uţivatelů. [11] Sociální sítě tak představují jakousi kombinaci emailu a instant messagingu která slučuje jejich výhody.
15
Mezi nejznámější sociální sítě patří: Facebook Twitter Google+ Myspace
3.2 Sdílení dokumentů a dat 3.2.1 Cloudová úložiště Cloudové úloţiště nabízí moţnost sdílet mezi členy týmu datový prostor, kam mohou nahrávat potřebné datové soubory a dokumenty za účelem sdílení s ostatními členy týmu. Celý tým tak má podle potřeby přístup ke všem souborům na jednom místě. To je jistě zajímavější neţli například sdílení pouze formou příloh emailu. Cloudová úloţiště také nekladou limity na velikost souboru jako takového, ale jsou omezena pouze celkovým dostupným prostorem to ale v řádech gigabytů. Mnoho takových sluţeb nabízí určitý datový prostor vyuţívat zdarma například sluţba Google Drive nabízí v době psaní této práce aţ 15GB zdarma a pokud by tým potřeboval více tak je ho moţné za poplatek zvýšit aţ na 16TB. Přístup na takováto úloţiště je řešen buď skrze webový prohlíţeč, nebo příslušnou aplikaci, která je nainstalována na jednotlivých počítačích či mobilních zařízeních. Ve většině případů je taková aplikace dostupná pro všechny rozšířené operační systémy jako Windows, Linux, MAC, iOS a Android. Mezi nejznámější cloudová úloţiště patří například: Google Drive DropBox Microsoft OneDrive SugarSync
16
3.2.2 Webové upload servery Webové uploadovací servery jsou také určeny ke sdílení datových souborů. Od cloudového úloţiště se však liší filozofii práce s nimi. Na takovéto servery se soubory nahrávají bez jakékoliv struktury třídění a jednotlivě jsou poté dostupné přes přesnou internetovou adresu vedoucí k nim. To představuje oproti cloudovému úloţišti značnou nevýhodu. Další nevýhodou je pak to ţe pokud některý člen týmu aktualizuje některý soubor, musí ostatním členům poskytnout novou adresu vedoucí opět k této aktualizované verzi. Coţ bude v praxi dosti chaotické. Ţivotnost nahraných dat je většinou 30 dnů od posledního staţení, pokud nenabízí sluţba jiné podmínky například u zpoplatněných uţivatelských účtů. Poté dochází k automatickému smazání, coţ představuje další problém. Lepším řešením se tak jeví pouţívání právě cloudových úloţišť. Některé ze známých českých webových uploadovacích serverů jsou: www.uloz.to www.czshare.cz www.helshare.cz www.sharerapid.cz
3.3 Koordinace práce Jistou pomocí při spolupráci je také moţnost vidět kde se tým z hlediska projektu nachází, co je potřeba splnit, do jakého termínu jsou očekávány určité výstupy od jednotlivých členů a podobně. V tomto můţe pomoci například nástroj Google Calendar ke kterému mohou mít přístup všichni členové týmu a být tak neustále v obraze z časového hlediska spolupráce na projektu. Mohou také přidávat různé události a upozornění pro jiné členy týmu.
17
4 Integrované nástroje pro týmovou spolupráci Integrované nástroje jak uţ jejich název napovídá, pokrývají všechny definované poţadavky tím, ţe v sobě integrují všechny potřebné funkce spojené s podporou týmové spolupráce. Někdy mohou být také označovány jako Groupware tento pojem je definován v následující podkapitole. Jedná se tak v podstatě o jakousi specifickou sociální síť navrţenou právě za tímto účelem spolupráce. Tyto integrované nástroje pro podporu spolupráce v týmu mohou fungovat buď jako aplikace, kterou je nutné nainstalovat na konkrétní pracovní stanici, nebo formou software jako sluţba, coţ přináší řadu výhod, které jsou popsány v následujících kapitolách jakoţto jedno z kritérii hodnocení. Případně nabízejí obě moţnosti. Na trhu je nespočet takovýchto nástrojů, jeţ se navzájem liší svým určením, funkcemi a případným zpoplatněním. Bylo by prakticky nemoţné provést porovnání všech těchto nástrojů. Proto bylo pro tuto práci zvoleno pět nástrojů tak, aby svým určením pokryli co nejširší oblast uplatnění.
4.1 Groupware Groupware je programové vybavení, které umoţňuje dvěma a více lidem navzájem komunikovat, kooperovat na společném díle a koordinovat jejich aktivity“, přičemţ komunikace, kooperace a koordinace jsou tři formy spolupráce. Komunikací rozumíme výměnu zpráv, poţadavků, instrukcí; kooperace je práce nad společnými dokumenty; koordinace znamená vzájemné sladění činností [12] Zmíněné tři formy spolupráce se shodují s poţadavky na potřeby při spolupráci, které byly definovány ve třetí kapitole.
18
4.2 Metodika hodnocení integrovaných nástrojů Jednotlivé nástroje pro podporu spolupráce v týmu byly pro porovnání vybírány podle několika hledisek. Zaprvé to jsou nástroje, které mají velkou uţivatelskou základnu a jedná se tak o v praxi ověřené nástroje. Dále to jsou nástroje, za kterými stojí velké společnosti, coţ částečně sniţuje riziko případného ukončení činnosti a tím pádem nemoţnost pokračování v rozpracovaných projektech, které by tak, pokud by se je nepodařilo přesunout na jiný nástroj, byly odsouzeny k zániku. A o nástroje, které jsou poskytovány bezplatně, coţ je v případě malého či začínajícího vývojářského týmu velkou výhodou. Tímto způsobem bylo vybráno pět nástrojů, které budou v následující části porovnávány. Seznam hodnocených nástrojů: JIRA Redmine Basecamp Freedcamp Rational team concert Všech pět vybraných nástrojů je postupně představeno a porovnáno stejným způsobem podle definovaných kritérii, jeţ jsou popsány v následující podkapitole. Struktura prezentování a porovnání jednotlivých nástrojů: Základní informace Název Tvůrce nástroje Webové stránky Popis nástroje Obrázek prezentující uţivatelské rozhraní Hlavní přednosti nástroje Hodnocení nástroje podle zvolených kritérii
19
4.3 Kritéria hodnocení integrovaných nástrojů Kritéria hodnocení nástrojů jsou zvolena tak, aby pokryla hodnocený nástroj z různých hledisek. Jsou to jednak kritéria, která jsou funkčního charakteru, jako jsou například podporované funkce, ale také hlediska, která umoţňují budoucí zkvalitnění práce, jako moţnost instalace nových funkcí, coţ zvyšuje budoucí perspektivu volby takového nástroje. V neposlední řadě to jsou kritéria obchodního charakteru, jeţ představují především náklady spojené s pouţíváním určitého nástroje, kdy cena tvoří jen část těchto nákladů. Takto bylo vybráno sedm kritérií, jeţ mají za cíl dát ucelený pohled na kaţdý nástroj a umoţnit tak jejich porovnání pro určení vhodnosti volby konkrétního nástroje. Zvolená kritéria jsou: Uţivatelská přívětivost Dostupná podpora Podporované funkce Moţnosti rozšíření funkcí Uţivatelské rozhraní Jazyková podpora Cena Tato kritéria jsou v následujících odstavcích dále popsána. Hodnocení nástrojů vychází z dostupné dokumentace a informací k daným nástrojům. V případě kritérii osobně subjektivního charakteru jako je uţivatelská přívětivost vychází hodnocení ze subjektivního vnímání autora této práce. Hodnocení kritérii je provedeno formou slovního popisu.
20
4.3.1 Uživatelská přívětivost Kritérium hodnocení uţivatelské přívětivosti je jediným kritériem osobně subjektivního charakteru. Při hodnocení je snaha o zachování co největší objektivity při hodnocení nástroje. Zaměřuje se tak nejen na grafickou podobu nástroje a práci s ním, ale i na to zdali nástroj umoţňuje přizpůsobení uţivateli podle jeho preferencí.
4.3.2 Dostupná podpora Kaţdý nástroj je hodnocen z pohledu podpory od jeho výrobce. Hodnotí, zda a jakým způsobem poskytuje: Produktové informace Klientský servis Uţivatelské fórum
4.3.3 Podporované funkce Toto kritérium hodnotí nástroj z pohledu funkcí, které v základu podporuje, a to nejen z pohledu počtu, ale především, zdali obsahuje veškeré základní funkce, či dokonce nějaké specifické pro takový nástroj, které jiné nástroje nemají. Je otázkou, zdali je pro uţivatele lepší zvolit nástroj, který má velké mnoţství funkcí jiţ v základu, či nástroj, který umoţňuje doinstalování funkcí. V prvním případě, kdy nástroj obsahuje mnoţství funkcí, které z velké části nebudou ani vyuţity, můţe docházet ke sníţení přehlednosti takového nástroje a i cena nástroje můţe být vyšší. Zdali nástroj podporuje doinstalování funkcí, je následujícím kritériem hodnocení nástroje.
4.3.4 Možnosti rozšíření funkcí Moţnost rozšíření počtu podporovaných funkcí je dalším kritériem porovnání nástrojů. To z důvodu, ţe uţivateli poskytuje v případě potřeby doinstalovat funkci, která nemusela být od nástroje z počátku vyţadována, ale k této potřebě došlo aţ s postupem času. Přidání nových funkcí probíhá doinstalováním tzv. pluginů. 21
4.3.5 Uživatelské rozhraní Poměrně zásadním kritériem je, jakým způsobem nástroj pracuje. Zda je rozhraní nástroje tvořeno webovým prohlíţečem nebo se jedná o aplikaci, která musí být nainstalována na konkrétní stanici. Pokud se jedná o aplikaci, která se musí instalovat pro moţnost pouţívání nástroje na konkrétní stanici, můţe nastat problém s podporovaným operačním systémem, který je na ní provozován. Mělo by se tak dbát na to, aby byli podporovány všechny platformy, které budou při vývoji pouţívány jako je PC, MAC, Linux a další. Jinou moţností je nástroj, který je určen pro zobrazení ve webovém prohlíţeči. To jednak vyřeší problém s pouţitým operačním systémem na jednotlivých pracovních stanicích, jelikoţ se jedná o multiplatformní řešení, ale také skutečnost ţe se nástroj nemusí instalovat je tak přístupný z prakticky jakéhokoliv počítače a odkudkoliv. Výhodou tak jsou nástroje, které nabízejí více moţností jak je provozovat, nebo alespoň pracují skrze webový prohlíţeč.
4.3.6 Jazyková podpora Jazyková podpora představuje dosti diskutabilní kritérium. To především proto, ţe od profesí spojených s vývojem softwaru se očekává jistá znalost anglického jazyka, takţe by absence české lokalizace nemusela představovat váţný problém. Jiná situace můţe ale nastat pokud se do vývoje bude částečně zapojovat i zákazník, který nemusí anglický jazyk ovládat a orientace v takovém nástroji pro něj můţe být velmi obtíţná či dokonce nebude schopen nástroj vůbec pouţívat. Česká lokalizace tak byla zvolena jako další kritérium hodnocení nástroje protoţe můţe výrazně ovlivnit jeho pouţitelnost.
4.3.7 Cena Cena můţe být někdy povaţována za hlavní kritérium při volbě vhodného nástroje. Je však nutné připomenout, ţe ne vţdy se musí na celkových nákladech spojených s pouţíváním 22
daného nástroje podílet z celé části. Nicméně je hlavním ukazatelem finančních nákladů spojených s pořízením daného nástroje. Z cenového hlediska mají jasně navrch nástroje, které jsou poskytovány zdarma či šířeny jako open source software. Je ale otázkou zdali úroveň sluţeb takových nástrojů je na dostatečné úrovni, jaká je vyţadována. Pro malé nebo začínající týmy bude ale právě cena s největší pravděpodobností klíčovým kritériem výběru nástroje. Ceny uvedené v porovnání jsou platné k 20. 03. 2014.
23
5 Porovnání jednotlivých nástrojů Tato kapitola má za cíl vyhodnotit a porovnat vybrané nástroje pro podporu spolupráce v týmu podle kritérii definovaných v předchozí kapitole.
5.1 JIRA Název:
JIRA 6.0
Tvůrce nástroje:
Atlassian
Webové stránky:
www.atlassian.com/software/jira
JIRA 6.0 je navrţena pro podporu vývojářských týmů během všech fází vývoje a provozu SW řešení. Kompletně zahrnuje efektivní řízení a sledování úkolů a poţadavků v projektu (task and project management). Software JIRA podporuje a usnadňuje proces řízení projektů a poţadavků - nabízí flexibilní a uţivatelské nástroje pro řízení a sledování pracovníků při výkonu plnění úkolů. JIRA se orientuje na podporu dosaţení očekávaného výkonu na projektu.[6]
Obrázek 1: Ukázka grafické podoby nástroje JIRA 6.0, Zdroj: https://jira.atlassian.com/secure/attachment/83387/JIRA%206.0-m04-orig.png
24
5.1.1 Hlavní přednosti aplikace JIRA -
Podpora projektového řízení (interní a externí řízení poţadavků a úkolů)
-
Podpora agilních metod – SCRUM a Kanban
-
Workflow management
-
Incident Management
-
Issue tracker
-
Scrum development
-
Service Level Management (SLA)
-
Release Management, Road Map, Change Log
-
Neustále dostupné informace pro tým přes webové rozhraní
-
Sledování, detailní evidence a vyhodnocování kapacit, podklady pro fakturaci
-
Průkazná historie projektové komunikace
-
Podpora pro klientský servis a helpdesk
-
Sdílení komunikace, informací a dokumentů v týmu
-
Reporty, statistiky, historie evidence
-
Manaţerské reporty, přehledné grafy
-
Sledování stavu projektu a řešení poţadavků zákazníkem
-
Úkoly podle priorit, termínů dokončení
-
Stabilní a výkonná platforma JEE (JAVA Enterprise Edition)
-
Podpora PostgreSQL, MS SQL, ORACLE DB, mySQL a řady dalších db serverů
5.1.2 Uživatelská přívětivost Nástroj JIRA působí poměrně stroze, co se jeho grafické podoby týká. Je hodně omezen na odstíny modré. Ovládáním a přehledností jde o nadprůměr v některých případech je potřeba vyuţít na pomoc manuál. Nicméně z tohoto hlediska ho hodnotím lépe neţli nástroj Rational Team Concert nebo Redmine, ale hůře neţ Basecamp. Nástroj nenabízí uţivatelskou customizaci.
25
5.1.3 Dostupná podpora K nástroji JIRA jsou dostupné návody, uţivatelský průvodce, výuková videa a podrobný manuál. Vše pouze v anglickém jazyce. Uţivatelskou podporu k nástroji JIRA zajišťuje: FAQ Email Blog Fórum Klientský servis
5.1.4 Podporované funkce Podporované funkce jsou u nástroje JIRA na nadprůměrné úrovni oproti nástrojům jako Redmine a Basecamp obsahuje i řadu funkcí směrovaných blíţe k byznysu jako je například sledování, detailní evidence a vyhodnocování kapacit, podklady pro fakturaci atd. Funkcemi se tak jedná o hodně zajímavý a univerzální nástroj.
5.1.5 Možnosti rozšíření funkcí Nástroj JIRA nabízí skrze Atlassian Plugin Exchange více neţ 400 modulů od Atlassian i třetích stran. Coţ z něj dělá z tohoto hlediska velice zajímavou volbu. Navíc je v případě potřeby moţno provést vývoj softwaru na míru.
5.1.6 Rozhraní aplikace Nástroj JIRA 6.0 nabízí podporu Microsoft Windows a Linux / Solaris dále pak provoz ve webovém prohlíţeči. Chybí tak podpora MAC OS.
5.1.7 Jazyková podpora Nástroj JIRA 6.0 nabízí českou lokalizaci pro většinu svého obsahu. 26
5.1.8 Cena JIRA je poskytována ve dvou typech distribuce. Zaprvé je to distribuce (OnDemand) coţ znamená, ţe je nástroj provozován na serveru Atlassian a platí se měsíční paušální poplatky. Nebo jako (Download aplikace), kterou je nutné provozovat na vlastním serveru s jednorázovou platbou za pořízení. V prvním případě (OnDemand) sluţby cenu popisuje následující tabulka: Počet uživatelů
Cena
v amerických
dolarech $
10
15
25
50
100
500
2000
10
50
100
200
300
500
1000
Tabulka 1: Ceny nástroje JIRA (OnDemand), Zdroj: autor
Ve druhém případě (Download aplikace) cenu popisuje následující tabulka: Počet uživatelů
Cena
v amerických
dolarech $
10
25
50
100
500
2000
10000
10
1200
2200
4000
8000
16000
20000
Tabulka 2: Ceny nástroje JIRA (Download aplikace), Zdroj: autor
Pro malé týmy do 10 členů nabízí JIRA zajímavou nabídku za 10$ za oba typy sluţeb pro střední a velké týmy je třeba zváţit pro kterou z variant se rozhodnout. Jednorázová platba při volbě (Download aplikace) však sebou nese další skryté náklady s nutností provozováním vlastního serveru. Pořízení si nástroje formou (OnDemand) se tak jeví jako dobrým kompromisem.
27
5.2 Redmine Název:
Redmine
Tvůrce nástroje:
Jean-Philippe Lang
Webové stránky:
www.redmine.org
Redmine je svobodný a open source software pro řízení projektů. Obsahuje kalendář a Ganttův diagram umoţňující vizualizaci projektů a jejich deadlinů. Poskytuje podporu více projektů. Redmine obsahuje integrované nástroje pro správu projektů, správu úkolů a podporu mnoha verzovacích systémů. Vzhled Redmine je významně ovlivněn softwarovým balíkem Trac. Redmine je napsaný s vyuţitím frameworku Ruby on Rails. Je to multiplatformní a multidatabázový systém. [13]
Obrázek 2: Ukázka grafické podoby nástroje Redmine, Zdroj: http://techsivam.files.wordpress.com/2010/09/issue_list.png
28
5.2.1 Hlavní přednosti aplikace Redmine -
Podpora více projektů
-
Flexibilní systém řízení přístupů zaloţený na rolích
-
Flexibilní systém pro správu úkolů
-
Ganttův diagram a kalendář
-
Novinky, správa dokumentů a souborů
-
Oznámení pomocí emailu a zdrojů (feeds)
-
Wiki pro kaţdý projekt
-
Fórum pro kaţdý projekt
-
Snadné sledování času u jednotlivých projektů
-
Uţivatelská pole pro úkoly, časové vstupy, projekty a uţivatele
-
Integrace SCM (SVN, CVS, Git, Mercurial, Bazaar a Darcs)
-
Podpora vícenásobné LDAP autentizace
-
Uţivatelé se mohou sami registrovat do systému
-
Podpora více jazyků
-
Podpora více databází
-
Podpora pluginů
5.2.2 Uživatelská přívětivost Nástroj Redmine v čisté verzi působí poměrně stroze, dalo by se říci, ţe v tomto je nejhorší z uvedených nástrojů. Na ovládání je ale tento nástroj přehlednější neţli například nástroj Rational Team Concert. To ale víceméně pramení z menšího počtu funkcí. Nástroj nabízí částečnou customizaci v podobě dostupných volitelných grafických témat.
5.2.3 Dostupná podpora K nástroji Redmine je dostupná podrobná uţivatelská příručka, bohuţel pouze v anglickém jazyce
29
Uţivatelskou podporu k nástroji Redmine zajišťuje: FAQ Email Wiki Fórum
5.2.4 Podporované funkce Nástroj Redmine v základu nijak neoslňuje nabízenými funkcemi, jde o průměr nebo lehce podprůměr. Je ale nutné podotknout, ţe toto je kompenzováno naopak nejvyšším počtem funkcí doplňkových ze všech porovnávaných nástrojů. Ve výsledku si tak je moţno nástroj funkčně přizpůsobit přesně konkrétním potřebám.
5.2.5 Možnosti rozšíření funkcí Obdobně jako nástroj JIRA tak i nástroj Redmine nabízí opravdu masivní počet doplňkových funkcí prostřednictvím dodatečných pluginů. Na příslušném webu (http://www.redmine.org/plugins) je evidováno 500 pluginů, coţ činí tento nástroj z tohoto hlediska jako nejzajímavější.
5.2.6 Rozhraní aplikace Nástroj Redmine nabízí multiplatformní pouţití. Microsoft Windows, Linux i MAC OS.
5.2.7 Jazyková podpora Nástroj Redmine nabízí českou lokalizaci.
5.2.8 Cena Nástroj Redmine je poskytován jako open source software. Jeho pouţití tak není zpoplatněno. Jediným nákladem na jeho provoz tak budou náklady spojené s provozováním aplikačního serveru. 30
5.3 Basecamp Název:
Basecamp
Tvůrce nástroje:
37signals
Webové stránky:
www.basecamp.com
Online sluţba Basecamp společnosti 37signals poskytuje řešení pro řízení, organizaci a správu projektů s moţností online sdílení projektové dokumentace a dat. Intuitivní forma ovládání umoţňuje rychlé zavedení a uţivatelsky komfortní řízení projektů. Snaha o maximální přehlednost a jednoduchost pro všechny členy projektového týmu. Vhodné pro jednoduché nebo jednorázové projekty menšího rozsahu nebo také pro větší či paralelní projekty. Po registraci je k dispozici bezplatná zkušební 30-ti denní verze. [7]
Obrázek 3: Ukázka grafické podoby nástroje Basecamp, Zdroj: http://www.projectmanagesoft.com/images/uploads/238/img-dashboard-big__large.jpg
31
5.3.1 Hlavní přednosti aplikace Basecamp -
Dashboard neboli vývěsní deska – aktuální úkoly, výsledky a zprávy o činnosti projektu určené pro projektový tým.
-
Milníky projektu – hlavní cíle a akce projektu nezbytné pro jeho úspěšné dokončení. Sledování časového průběhu a plnění harmonogramu projektu se zaměřením na včasné dokončení.
-
Plánování úkolů – podrobné naplánování a plnění úkolů jednotlivých členů projektového týmu.
-
Měření času – sledování délky trvání jednotlivých činností projektu s důrazem na odhalení kritických činností a moţných časových ztrát.
-
Zprávy – rozesílaní aktuálních informací pomocí přehledného rozhraní na emaily jednotlivých členů projektového týmu.
-
Komentáře – vytváření poznámek k jednotlivým zprávám, úkolům a projektům.
-
Sdílení projektové dokumentace a dat – ukládání dat, obrázků a dokumentů online přístupné pro jednotlivé účastníky projektu.
-
Oznámení o změně – hlídání a zasílání oznámení na email o změnách v jednotlivých částech aplikace Basecamp.
-
Elektronický kalendář – Import úkolů přímo do elektronického kalendáře.
-
Zabezpečený přístup – bezpečné přihlášení a sdílení dat v projektu.
-
Denní zálohování dat.
-
Vlastní vzhled – nastavení barev a vloţení loga.
-
RSS čtečka.
5.3.2 Uživatelská přívětivost Grafická podoba nástroje Basecamp je příjemná a jednoduchá někdy moţná zbytečně strohá. Ovládání je ale někdy méně intuitivní neţli například u nástroje JIRA a také některé obrazovky jsou nepřehledné. Nástroj však nabízí uţivatelskou customizaci, jako jsou vlastní barvy nebo logo coţ je velice příjemné.
32
5.3.3 Dostupná podpora K nástroji Basecamp jsou dostupné přehledné a dobře zpracované návody a uţivatelské příručky, dále také výuková videa a ukázkové projekty vše pouze v anglickém jazyce. Uţivatelskou podporu k nástroji Basecamp zajišťuje: FAQ Email Blog Fórum Twitter Klientský servis
5.3.4 Podporované funkce Podporované funkce jsou u nástroje Basecamp lehce pod úrovní nástrojů JIRA, ale výše neţ u nástroje Freedcamp. Z tohoto hlediska se jedná o průměrný nástroj. Pro naprostou většinu případů bude ale plně dostatečný.
5.3.5 Možnosti rozšíření funkcí Nástroj Basecamp je třetím nástrojem, který také podporuje moţnost instalace dodatečných funkcí, nicméně na jejich počet je nejslabším nástrojem jelikoţ nabízí pouze kolem 100 různých addonů jak jsou v tomto případě nazývány, coţ je pouze 1/4 oproti nástroji JIRA a 1/5 oproti nástroji Redmine.
5.3.6 Rozhraní aplikace Nástroj je provozován prostřednictvím webového prohlíţeče coţ zajišťuje multiplatformní pouţití.
5.3.7 Jazyková podpora Nástroj Basecamp bohuţel nenabízí českou lokalizaci.
33
5.3.8 Cena Basecamp na rozdíl od nástroje JIRA nevztahuje cenu na počet uţivatelů, ale na počet projektů a datový prostor pro ně. Ceny za jeden měsíc prezentuje následující tabulka.
Počet projektů
Datový prostor v (GB) Cena
10
40
100
neomezeno
3GB
15GB
40GB
100GB
20
50
100
150
v amerických
dolarech ($)
Tabulka 3: Ceny nástroje Basecamp, Zdroj: autor
Dále nabízí roční poplatek za neomezený počet projektů, 500GB prostoru a přednostní zákaznickou podporu za 3000$ Výhodou je tak neomezený počet členů týmu (uţivatelů nástroje). Nástroj je poskytován jako (OnDemand) takţe není potřeba provozovat vlastní server.
34
5.4 Freedcamp Název:
Freedcamp
Tvůrce nástroje:
Freedcamp
Webové stránky:
www.freedcamp.com
Freedcamp je online aplikace pro řízení projektů, která je dostupná zcela zdarma. Můţe být vyuţita pro neomezený počet projektů a spolupracovníků. Základním nástrojem je nástěnka s přehledem projektů, úkolů a aktivity zúčastněných. Díky jinému nástroji lze zase snadno vytvářet a přidělovat úkoly. Dále jsou pak k dispozici diskuze, diář a archiv souborů. Aplikace umí také zasílat automatická upozornění a k flexibilní komunikaci slouţí jednoduchý chat. Sledování práce usnadňuje rss čtečka. [8]
Obrázek 4: Ukázka grafické podoby nástroje Freedcamp, Zdroj: http://cdn.appstorm.net/web.appstorm.net/files/2011/11/Dashboard-with-customized-widgets.jpg
35
5.4.1 Hlavní přednosti aplikace Freedcamp -
Dashboard – přehled o všech projektech a aktivitě.
-
Úkoly – vytvoření, přidělení, přehled.
-
Diskuze.
-
Cíle a mezníky – cíle a mezikroky se stanovenými daty plnění.
-
Diář.
-
Archiv souborů.
-
Upozorňování – zasílání automatických zpráv.
-
Chat – pro spolupráci s kolegy.
-
RSS čtečka – přehled o vývoji projektu.
-
Generátor faktur
-
Cena.
5.4.2 Uživatelská přívětivost Nástroj Freedcamp díky své jednoduchosti působí skutečně přehledně, čistě a moderně. Jeho grafická podoba je velice příjemná. Ovládání je intuitivní a přítomný průvodce nástrojem poskytuje dostatečnou podporu, takţe uţivatel nemusí studovat ţádné sloţité manuály, aby mohl s nástrojem začít pracovat. Nástroj však nenabízí uţivatelskou customizaci.
5.4.3 Dostupná podpora U nástroje Freedcamp chybí jakýkoliv uţivatelský manuál. Dostupné návody jsou poskytovány pouze formou blogu. Při zakládání nového účtu je však uţivatel po krocích postupně seznámen s dostupnými funkcemi stejně tak při zaloţeném účtu je moţné tohoto průvodce opakovaně vyuţít. Vše pouze v anglickém jazyce. Uţivatelskou podporu k nástroji Freedcamp zajišťuje: Blog Email Chat 36
5.4.4 Podporované funkce Nástroj Freedcamp je nejslabším nástrojem ze zde uvedených z hlediska podporovaných funkcí. Nicméně veškeré opravdu základní a potřebné funkce poskytuje. Výhodou z toho plynoucí je to, ţe je opravdu čistý a přehledný, takţe v případě začínajících týmu můţe být díky tomu dokonce preferován. Je také nutné přihlédnout k tomu, ţe nástroj je poskytován zcela zdarma.
5.4.5 Možnosti rozšíření funkcí Ani nástroj Freedcamp neumoţňuje instalaci doplňkových funkcí. To je v tomto případě docela škoda, jelikoţ ani počtem funkcí obsaţených v základu nijak neoslňuje.
5.4.6 Rozhraní aplikace Nástroj je provozován prostřednictvím webového prohlíţeče coţ zajišťuje multiplatformní pouţití.
5.4.7 Jazyková podpora Nástroj Freedcamp bohuţel nenabízí českou lokalizaci.
5.4.8 Cena Nástroj Freedcamp je poskytován zdarma a nenese sebou oproti nástroji Redmine ani nutnost vlastního serveru. Jeho pouţití tak nevyţaduje ţádné náklady.
37
5.5 Rational Team Concert Název:
Rational Team Concert
Tvůrce nástroje:
IBM
Webové stránky:
www. jazz.net/products/rational-team-concert
Produkt IBM Rational Team Concert je řešení správy ţivotního cyklu softwaru, jeţ distribuovaným týmům umoţňuje kontextovou spolupráci v reálném čase. Produkt Rational Team Concert je zaloţen na platformě IBM Rational Jazz a poskytuje infrastrukturu konfigurace, asistence a vynucování procesů, jeţ můţe podpořit vaše kompletní prostředí poskytování softwaru. [5]
Obrázek 5: Ukázka grafické podoby nástroje Rational Team Concert, Zdroj: https://jazz.net/products/rational-teamconcert/images/screencap-dashboard.png
38
5.5.1 Hlavní přednosti aplikace Rational team concert -
Integruje sledování pracovních poloţek, správu řízení zdrojů, průběţná sestavení, plánování integrace a podporu konfigurovatelných procesů.
-
Podporuje paralelní vývoj, vývoj s pouţitím komponent a agilní postupy v rámci geograficky rozdělených týmů.
-
Poskytuje integraci s řadou komerčních produktů i projektů Open Source.
-
Nabízí sestavy a panely dashboard s bezprostředně srozumitelnými pohledy v reálném čase ke sledování projektů na všech úrovních podrobností.
-
Zajišťuje sledovatelnost a transparentnost mezi artefakty, jakoţ i integraci s dalšími produkty.
-
Přináší pohledy v reálném čase i historické trendy sestavení, proudů, pracovních poloţek a ostatních artefaktů v rámci ţivotního cyklu včetně integrovaných produktů.
-
Zcela podporuje agilní a formální postupy, jakoţ i kombinaci těchto dvou metod. Obsahuje plánovací šablony, jeţ vám pomohou zahájit účinné pouţívání.
-
Podporuje víceúrovňové plánování projektů a plány vydání produktů, plány týmů a individuální plány s více pohledy a paradigmaty.
-
Automatizuje procesy a podporuje úpravu nových a stávajících procesů v souladu s vašimi potřebami.
-
Ovládá řízení zdrojů zahrnující více geografických dislokací. Zajišťuje sdílení, porovnávání a správu změn softwaru mezi týmy a úloţišti.
-
Poskytuje řešení správy konfigurací softwaru zaloţené na tocích změn s vyuţitím sad změn.
-
Zahrnuje funkce správy sestavení, jeţ týmům pomáhají s plánováním a prováděním sestavení softwaru.
5.5.2 Uživatelská přívětivost Grafická podoba nástroje Rational Team Concert působí lehce zastarale. Nabízí však dostatečnou přehlednost. Ovládání nástroje je z větší části intuitivní, ale pro pokročilé funkce je potřeba pouţít uţivatelský manuál. Nástroj nenabízí uţivatelskou customizaci. 39
5.5.3 Dostupná podpora K nástroji Rational Team Concert je poskytována skutečně obsáhlá a kvalitní dokumentace obsahující uţivatelský manuál (i v českém jazyce), články, podcasts, prezentace, videa a školení. Uţivatelskou podporu k nástroji Rational Team Concert zajišťuje: FAQ Email Blog Fórum Klientský servis
5.5.4 Podporované funkce Rational Team Concert představuje z tohoto hlediska velice silný nástroj. Obsahuje masivní mnoţství funkcí a vede v tomto směru před ostatními nástroji. Je tak vhodný pro velké týmy, které toho dokáţou vyuţít. Pro malé a střední týmy bude nejspíše lepší zvolit jiný nástroj.
5.5.5 Možnosti rozšíření funkcí Nástroj Rational Team Concert nenabízí instalaci doplňkových funkcí. Veškeré podporované funkce jsou součástí nástroje jiţ v základu.
5.5.6 Rozhraní aplikace Nástroj Rational Team Concert nabízí multiplatformní pouţití. Microsoft Windows, Linux i MAC OS.
5.5.7 Jazyková podpora Nástroj Rational Team Concert nabízí českou lokalizaci.
40
5.5.8 Cena Nástroj Rational Team Concert je nabízen ve velkém počtu různých typů licencí, jeţ jsou poskytovány na dobu jednoho roku. Cena jedné vývojářské licence začíná na 954 amerických dolarech. Nicméně konkrétní cenu je nutné stanovit specificky pro konkrétní případ. Pro týmy s počtem do 10 členů je moţné nástroj vyuţívat zdarma.
41
6 Vyhodnocení porovnávaných nástrojů Všechny porovnávané nástroje splňují poţadavky, které na ně byly kladeny a všechny jsou tak vhodné pro pouţití při týmovém vývoji softwaru. Odlišují se tak pouze úrovní funkcí, které nabízejí a tím i určením pro různé typy týmů. Porovnání podpory některých funkcí mezi těmito nástroji je uvedeno v tabulce č. 4 JIRA
Redmine
Basecamp
Freedcamp
Rational Team Concert
Dashboard
ANO
ANO
ANO
ANO
ANO
Měření času projektu
ANO*
ANO
ANO
ANO
ANO
Projektové řízení
ANO
ANO
ANO
ANO
ANO
Agilní metody
ANO
ANO*
ANO*
NE
ANO
Workflow management
ANO
ANO*
ANO
ANO
ANO
Bug tracker
ANO
ANO
ANO*
ANO*
ANO
Vyhodnocování kapacity
ANO
ANO*
NE
NE
ANO
Klientský servis
ANO
ANO
NE
NE
ANO
Podpora více projektů
ANO
ANO
ANO
ANO
ANO
Ganttův diagram
ANO*
ANO
ANO*
ANO
ANO
Podpora více databází
ANO
ANO
ANO
NE
ANO
Podpora pluginů
ANO
ANO
ANO
NE
NE
Webové rozhraní
ANO
ANO
ANO
ANO
ANO
Chat
ANO*
ANO*
ANO*
ANO
NE
Vlastní vzhled
ANO*
NE
ANO
NE
NE
RSS čtečka
ANO
ANO
ANO
ANO
ANO
Vysvětlivky ANO
Tato funkce je plně obsažena v základu nástroje.
ANO*
Tato funkce je formou doplňkového pluginu.
NE
Tato funkce není nástrojem podporována. Tabulka 4: Porovnání podpory vybraných funkcí, Zdroj: autor
42
6.1 JIRA Pokud pro tým nepředstavují poplatky plynoucí z uţívání nástroje JIRA zásadní problém. Nebo upřednostní nabízenou uţivatelskou podporu a pokročilé funkce oproti bezplatným nástrojům. Je nástroj JIRA správnou volbou pro jiţ zaběhnuté týmy, které dokáţou jeho funkcionalitu vyuţít.
6.2 Redmine Nástroj Redmine je vhodný v tom případě pokud tým nechce spoléhat na nástroj poskytovaný formou sluţby a dává tak přednost vlastnímu řešení při provozování tohoto nástroje. Jelikoţ je nástroj Redmine poskytován zdarma a jeho funkcionalita je na dobré úrovni navíc podpořená velkým mnoţstvím funkcí o které jde rozšířit. Bude tak skvělou volbou pro tento typ týmů.
6.3 Basecamp Nástroj Basecamp se dá doporučit týmům, které jiţ mají zavedenou jistou pracovní kulturu a které ideálně generují výdělek, aby mohly pokrýt finance na tento nástroj. Nástroj Basecamp představuje průměrný nástroj pro podporu spolupráce v týmu, jede o dobrou alternativu k nástroji JIRA oproti kterému nabízí jiný typ zpoplatnění. Nabízí dostatečnou funkcionalitu i pro náročnější týmy.
6.4 Freedcamp Nástroj Freedcamp nabízí oproti ostatním zmíněným nástrojům omezené mnoţství funkcí. Představuje tak skvělou volbu pro méně náročné týmy, jelikoţ je jednoduchý, přehledný a poskytovaný zdarma. Jedná se tak o instantní řešení jak začít efektivně spolupracovat v týmu. Pokud tým klade větší nároky na funkcionalitu je potřeba zvolit jiný nástroj.
43
6.5 Rational Team Concert Nástroj Rational Team Concert představuje opravdu profesionální řešení spolupráce v týmu a to ze všech hledisek, jak z hlediska funkcionality, dostupných informací i uţivatelské podpory, čemuţ odpovídá i jeho cena. Pouţití tohoto nástroje se dá doporučit pouze pro opravdu náročné týmy. Pro méně náročné je vhodné jiné řešení.
44
7 Neintegrované vs. integrované nástroje Tato kapitola má za cíl porovnat výhody a nevýhody pouţití jak neintegrovaných tak i integrovaných nástrojů pro podporu spolupráce při týmovém vývoji softwaru. Částečně vychází z následujícího zdroje [4]
7.1 Neintegrované nástroje 7.1.1 Výhody Mezi hlavní výhody pouţití neintegrovaných nástrojů patří: Jednoduchost pouţívání – nástroje jako Skype a podobně řada lidi pouţívá bez ohledu na to, zda se účastní nějakého projektu. Proto odpadá nutnost učení se ovládat nový nástroj. Nezávislost na produktu třetích stran. Pokud by například nástroj typu Skype měl výpadek provozu je poměrně jednoduché přejít na komunikaci pomocí jiného nástroje, třeba jen dočasně. Většinou celkově levnější varianta.
7.1.2 Nevýhody Mezi hlavní nevýhody pouţití neintegrovaných nástrojů patří: Někdy velice chaotické při dohledávání vloţených informací. Jedná se v podstatě jen o takový nutný základ bez pokročilých funkcí, které mohou práci často výrazně usnadňovat. Podstatě sloţitější na řízení projektu. Z dlouhodobého hlediska nevýhodné z pohledu vyuţívání dostupných zdrojů. Nepouţitelné pro větší týmy. Nepouţitelné pro sloţitější projekty.
45
7.2 Integrované nástroje 7.2.1 Výhody Mezi hlavní výhody pouţití integrovaných nástrojů patří: Vše je přehledně na jednom místě. Podpora pokročilých funkcí jako generování faktur, sledování času projektu, vyhodnocování kapacity zdrojů a řada dalších. Větší spolehlivost pokud by tým pouţíval pro komunikaci například email není nikdy jisté, zda daná zpráva došla opravdu všem, kterým měla. Něco takového při pouţití integrovaných nástrojů nehrozí. Pro nového člena týmu, který se do vývoje připojí v průběhu bude podstatně jednodušší se zorientovat a seznámit s aktuálním stavem projektu. Řada nástrojů pracuje přímo z webového prohlíţeče, odpadá tak nutnost mít nainstalováno několik různých aplikací, které nemusejí být podporovány pouţívaným operačním systémem na dané pracovní stanici.
7.2.2 Nevýhody Mezi hlavní nevýhody pouţití integrovaných nástrojů patří: Uţivatel, který s některým z takových nástrojů dosud nepřišel do styku, se bude muset naučit s nástrojem napřed pracovat, neţ se bude moci pustit do práce na projektu samotném. Pokud nástroj typu Freedcamp přestane z jakéhokoliv důvodu pracovat, bude velký problém pokračovat v práci pro takový tým, který ho při své práci pouţívá. Zvýšené provozní náklady při zvolení placeného nástroje.
7.3 Doporučení vyplývající z porovnávání nástrojů Z porovnání výhod pouţití integrovaných nástrojů vyplývá, ţe pozitiva těchto nástrojů převyšují negativa oproti pouţití neintegrovaných řešení. Na základě tohoto porovnávání tak lze doporučit právě integrované nástroje jako výhodnější řešení.
46
Dá se očekávat, ţe tyto výhody spojené s pouţitím integrovaných nástrojů se budou dále prohlubovat s postupným rozvojem týmu tím, jak se budou zvyšovat jeho nároky na takovou podporu. Neintegrované řešení podpory spolupráce v týmu tak nepředstavuje z dlouhodobějšího hlediska vhodnou volbu ani pro začínající nebo se teprve utvářející tým. V úvodu této práce bylo uvedeno, ţe je určena především začínajícím týmům. Proto bude nejspíše nástroj Freedcamp favorizován jako nejvhodnější volba plynoucí z porovnávání. Především kvůli jeho nulové ceně a jednoduchosti spolu s dostatečnou funkcionalitou. Je ale moţné, ţe i začínající tým, dá přednost pokročilejším nástrojům s tím, ţe mu to ušetří komplikace spojené s případným přechodem od omezenějšího nástroje jakým je právě Freedcamp. V tomto případě bude nejvhodnější volbou nástroj JIRA nebo nástroj Basecamp jelikoţ jsou si svou úrovní dosti podobné a rozhodující tak bude právě volba zaloţená na rozdílné filozofii plateb za tyto nástroje. Nástroje Redmine a Rational Team Concert tak zůstávají na pomyslném posledním místě, jelikoţ jejich doporučení je moţné jen ve velmi specifických případech, kterých v praxi nebude mnoho.
47
Závěr Cílem této práce bylo jednak definovat základní potřeby spojené se spoluprací v týmu při vývoji softwaru. Tímto se zabývala druhá kapitola, ve které byly definovány tři základní aspekty takovéto spolupráce. Druhým cílem bylo na základě definovaných poţadavků navrhnout moţná řešení. Třetí kapitola se tak zabývala nástinem moţných řešení pomocí nástrojů neintegrovaných a čtvrtá kapitola pomocí nástrojů integrovaných, jimiţ se tato práce primárně zabývala. Třetím a současně hlavním cílem bylo porovnat vybrané nástroje, to bylo jednak provedeno v rámci páté a šesté kapitoly, které se věnovaly porovnávání zvolených integrovaných nástrojů podle definovaných kritérii, ale také v sedmé kapitole integrovaných vs. neintegrovaných nástrojů, pomocí porovnání výhod a nevýhod těchto dvou moţností. Výsledkem tak bylo, ţe nástroj Freedcamp bude představovat nejspíše nejvhodnější volbu pro začínající vývojářský tým.
48
Seznam použité literatury Knihy [1]
Kolajová, Lenka. Týmová spolupráce: jak efektivně vést tým pro dosažení nejlepších výsledků. Praha: Grada Publishing, 2006. ISBN 80-247-1764-6.
Webové stránky [2]
Hamernik, Petr. Vývojové nástroje a nástroje pro týmovou spolupráci formou ASP. ČSSI: Časopis Systémová integrace [online]. 2005, 03(12) [cit. 2014-03-05]. ISSN 1210-9479. Dostupné z: www.cssi.cz/cssi/system/files/all/hamernik.pdf
[3]
Snozová, Martina. PARTSIP: Týmová spolupráce aneb Jak funguje virtuální tým. Inflow: information journal [online]. 2011, 27(2) [cit. 2014-03-09]. ISSN 1802-9736. Dostupné z: http://www.inflow.cz/zprava-ze-seminare-technologie-tymova-spoluprace
[4]
Tichý, Jan. Proč je Basecamp lepší neţ e-maily. Jan Tichý [online]. 2013, 7(8) [cit. 2014-03-10]. Dostupné z: http://www.jantichy.cz/blog/basecamp-vs-email
[5]
IBM. Rational Team Concert. 03.ibm.com [online]. ©2008-2014 [cit. 2014-03-10]. Dostupné z: https://www-03.ibm.com/software/product
[6]
MYJIRA. Základní popis. Myjira.cz [online]. ©2008-2014 [cit. 2014-03-11]. Dostupné z: http://www.myjira.cz/produkty/project-tracking-tools/jira.html
[7]
WORKLINE. Basecamp online software pro řízení projektů. Workline.cz [online]. ©2008-2014 [cit. 2014-03-11]. Dostupné z: http://www.workline.cz/katalog/prezentace/77-basecamp.aspx
[8]
WORKLINE. Freedcamp com projektové řízení zdarma. Workline.cz [online]. ©20082014 [cit. 2014-03-11]. Dostupné z: http://www.workline.cz/katalog/prezentace/420freedcamp-com.aspx
[9]
Tým. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-11]. Dostupné z: http://cs.wikipedia.org/wiki/T%C3%BDm
49
[10]
Instant messaging. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-11]. Dostupné z: http://cs.wikipedia.org/wiki/Instant_messaging
[11]
Sociální síť. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-11]. Dostupné z: http://cs.wikipedia.org/wiki/Soci%C3%A1ln%C3%AD_s%C3%AD%C5%A5
[12]
Groupware. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-11]. Dostupné z: http://cs.wikipedia.org/wiki/Groupware
[13]
Redmine. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001- [cit. 2014-03-11]. Dostupné z: http://cs.wikipedia.org/wiki/Redmine
50