Začínáme s Agile (Agilní metody)

Jedním z nejoblíbenějších Agilních přístupů je Scrum proces. Scrum proces se snaží škálovat velké a komplexní softwarové projekty, které je těžké najednou obsáhnout a pochopit, na menší celky a stanovit priority jednotlivých úloh. Od běžného požadavku „Chci všechno a hned“ zapojuje Scrum proces různé zájmové skupiny do procesu plánování a tím je zaváže na výsledku.

Dobrým výchozím bodem bude proces zobrazený na následujícím obrázku:

Jak to celé funguje? Máte nějaké zadání, vizi, požadavky. Z toho sestavíte Produkt Backlog – což v praxi znamená relativně high-level seznam úloh. V průběhu projektu ho můžete rozšiřovat či upřesňovat. A teď už začíná cyklus. Pravidelný. Pokaždé stejně dlouhý. Říká se mu Sprint. Na začátku je seznam úloh z backlogu co se mají za daný časový úsek dokončit a na konci hotová práce, prezentace výsledků zákazníkovi a případně update backlogu o nové úlohy.

Jednotlivým krokům a pojmům se budu detailněji věnovat v dalších příspěvcích, ale co to má vlastně celé za smysl? Takže naučit tým pracovat konstantní rychlostí, každý sprint pravidelně dodávat stejný objem práce. Dodat vývoji SW rytmus. A tím získat lepší či chcete-li kvalitnější odhady od engineerů. Současně zajistit pravidelný feedback od zákazníků a zainteresovat je na vývoji. Propojit je s týmem vývojářů a dát tak developerům větší motivaci na jinak často příliš abstraktním projektu.

Proč něco měnit?

Tak samozřejmě důvodů může být hned několik. Začněme zvýšením efektivnosti. Nicméně s tím je úzce spojená firemní kultura, konkrétně týmová spolupráce. Jak přesvědčit své zaměstnance aby jednali jako tým a ne jako jednotlivci a individuality? Aby sdíleli informace, pomáhali si a učili se navzájem? Jak týmy nechat soutěžit ale přesto spolu spolupracovat? To je jen několik prvních otázek které člověka napadnou, když začne přemýšlet o efektivnosti.

Dalším z častých problémů je jak zajistit aby projekt byl dokončen včas. Podíváte-li se na svůj tým SW engineerů a designerů, kolik z nich umí odhadnout náročnost úlohy a v jaké granularitě a jak přesně? Kolik z nich úlohu nadhodnotí klidně na dvojnásobek, aby pak měli klid, a kolik z nich zapomene na polovinu aktivit, takže ve výsledku je práce ‚hotová‘ několik týdnů ale pořád se na ní ještě pracuje?

Agile a SCRUM jsou jen jedny z mnoha metod jak předcházet těmto problémům už v počátku jejich vzniku. Obsahují soubor metodik jak pracovat s lidmi na projektu jak je motivovat a zapojit do plánování projektu, jak docílit kvalitnějšího výstupu a jak zapojit zákazníka do vývojového procesu.

Řízení projektů v outsourcingu, Agile a SCRUM

Hlavní motivací tohoto blogu bylo podělit se o své zkušenosti v oblasti řízení projektů a lidí v SW outsourcingu a zavádění metodologií Agile (Agilní metody) a SCRUM v praxi. Softwarový outsourcing business je velmi různorodý, projekty se liší jeden od druhého jak prostředím a procesy, tak technologiemi, takže metody řízení musí být dostatečně flexibilní vzhledem k požadavkům konkrétních zákazníků.

Podle Standish Group Study více než 70% IT projektů končí neúspěchem, vezmeme-li jako kritérium úspěchu dokončení včas, v rámci budgetu a s požadovanou funkcionalitou. V rámci tohoto blogu, bych se ráda zaměřila na metodologie, které se nám v praxi osvědčily nejvíce – Agile a SCRUM. Vzhledem k poměrně malé rozšířenosti těchto metodik v rámci České Republiky je mým cílem se o své zkušenosti s Vámi podělit a touto cestou soustředit komunitu lidí zajímajících se o tyto metody.