Není žádným tajemstvím, že dodat komplexní softwarový projekt včas a v odpovídající kvalitě není vždy snadné. Pokud ještě musíme zohlednit, že aktivní projekt není jen jeden, ale jsou jich desítky, že jednotlivé projekty jsou v různé fázi vývoje a že je dodáváme různým korporátním zákazníkům v zahraničí, pak si jistě dokážete představit, o jak komplexní úkol se jedná. V tomto článku se budeme snažit v krátkosti popsat, jak tento nesnadný úkol naše společnost IPS zvládá právě za pomoci produktu Team Foundation Server 2013 od společnosti Microsoft.
Pro IPS, stejně jako pro mnohé jiné společnosti, je TFS 2013 klíčovým pilířem softwarového vývoje, který implementuje všechny základní funkce a procesy nezbytně nutné k vývoji projektů na platformě Microsoft. Naše první praktická zkušenost s tímto produktem se týkala již verze TFS 2008, jež úspěšně přispěla ke konsolidaci veškerého našeho softwarového vývoje a interních procesů. Další postupnou migrací na vyšší verze jsme začali využívat tento nástroj více, a to jak horizontálně, tak i vertikálně. V této chvíli vyvíjíme pouze za pomoci verze TFS 2013.
Jak konkrétně tedy v IPS TFS používáme? S každým novým projektem vytvoříme jemu odpovídající TFS projekt (resp. „collection“) a nastavíme přístupová práva tak, aby odpovídala podepsaným NDA. Většina našich projektů je založena buď s pomocí „Agilní“ nebo „Scrum“ šablony. Záleží ovšem jen na uživateli, jakou z nabízených šablon si vybere. Každá šablona poskytne sadu předem definovaných artefaktů, které lze použít při dalším vedení projektu.
Dokumenty jsou uloženy v SharePoint portálu, odkud jsou kdykoliv dostupné, jak přes rozhraní plně integrované do Visual Studia, tak i přes nativní webové rozhraní. V iniciální fázi projektu TFS používají hlavně analytici a projektoví manažeři, kteří projekt plánují a analyzují business požadavky zákazníka. Během této doby vzniká iniciální sada dokumentů a entit nezbytných pro agilní vedení projektu (například plánování sprintů, záznamy v backlogu, use stories atd.). Všechny tyto dokumenty a entity jsou spravovány pomocí TFS, dále se upravují a vznikají během celého vývojového cyklu.
Během vlastního vývoje používáme další pokročilé funkce TFS. Všechny tyto funkce mají vývojáři na dosah ruky, protože TFS klient je integrovaný přímo do Visual Studia. Mezi nejčastěji využívané funkce v IPS můžeme zařadit následující:
- „Source control system“ řídící přístup a správu zdrojového kódu. Tento systém je plně integrovaný s ostatními funkcemi TFS, takže umožňuje například asociování změn kódu s určitým úkolem apod. Při změně kódu je také možné aplikovat daná pravidla tak, aby změna vyhovovala vývojovým procesům ve firmě.
- Každý člen projektu pomocí TFS dostává a vytváří úkoly. TFS poskytuje kompletní prostředí pro správu úkolů, udržování jejich historie, doplňování dodatečných informací a asociací na další objekty, jako jsou třeba „user stories“.
- Projekt manažer má v každém okamžiku detailní přehled o stavu projektu díky integrovanému reportovacímu řešení. Některé z reportů v IPS používáme přímo pro prezentaci zákazníkům, například během plánování sprintů nebo při diskuzích ohledně konvergence projektu.
- Další často využívanou funkcí je podpora automatických buildů a „continuous integration“. Samozřejmostí je, že se celé řešení automaticky přeloží, sestaví a připraví k nasazení.
Kromě TFS klienta integrovaného přímo do Visual Studia je také možné používat plnohodnotné webové rozhraní.
Po celou dobu vývoje, jakož i po jeho ukončení, TFS poskytuje svému uživateli aktuální a kompletní pohled na stav projektu. TFS je dynamický nástroj. Pokud vám poskytnutá data a reporty přijdou příliš svazující, můžete využít analytické kostky pro vlastní dotazy a analytické aktivity.
Implementací samozřejmě projekt nekončí. Nezastupitelné místo v něm má i testování. V IPS dedikované týmy používají nástroj nazvaný Test Manager, který je plně integrovaný do TFS. V něm se vytvářejí všechny testy a testovací strategie. Pro testování se používají jak automatizované, tak manuální testy. Přehledy s výsledky testů a jejich popisem předáváme pravidelně zákazníkovi coby součást naší dodávky. Na vybraných projektech používáme také Lab Management na správu virtuálních prostředí užívaných při testování.
Pokud vám připadá TFS příliš robustní nebo se nechcete zatěžovat jeho správou, je možné používat jeho cloudovou verzi.
Toto byl jen krátký výčet vlastností TFS, které v IPS používáme a které nám umožňují dodávat projekty včas a v požadované kvalitě. A to se nám daří.
Martin Rücker, IPS