Koncept „Agile software development“ náleží ke klíčovým buzzwordům datovaným k přelomu tisíciletí. Ačkoliv se v Centru znalostního managementu dle něj na první pohled neřídíme, možná bychom při bližším zkoumání zjistili, že ve skutečnosti některé jeho základní principy v průběhu své práce přejímáme. Agilní vývoj jsem teoreticky prozkoumal především díky účasti na několika tematických přednáškách manažerů z praxe (Avast, ČSOB, Česká spořitelna, Komerční banka, Seznam a další). Rád bych se prostřednictvím menší série článků s čtenáři podělil o nově nabyté zkušenosti a zároveň ukázal, jak může být agilní přístup zajímavý a přínosný. V první části se podíváme na tzv. Agilní Manifest, ze kterého agilní metodiky vycházejí.
Představovaný Agilní Manifest spatřil světlo světa v února 2001, kdy se v lyžařském rezortu Snowbird v americkém Utahu sešlo 17 ve své profesi uznávaných a špičkových odborníků a kromě sportovního vyžití, opojné relaxace a kvalitního jídla se zabývali záležitostmi nových metod vývoje software, za jejichž autory jsou považováni. Nakonec stačily pouhé tři dny na analýzu řešení všech účastníků a vytvoření společného konečného průniku, což v tak krátké době nikdo neočekával. Hlavním výsledkem setkání nebylo nic jiného než sepsání několika pravidel, ze kterých v následných letech vycházely a vycházejí ve svých snahách jak menší startupy, tak obrovské korporace po celém světě. Bližší informace k historii jsou k nalezení např. na oficiálních stránkách Manifestu, kde se může každý zájemce podepsat jako nový signatář, přečíst si pár základních informací o autorech a pomoci s překladem Manifestu do nového jazyka. Dalším zajímavě zpracovaným zdrojem je článek Brief History of Agile Movement s prerekvizitami a postrekvizitami Agilního Manifestu.
Agilní Manifest vychází přímo z praxe, což považuji za jednu z jeho klíčových předností. Všeobecně vzato stojí na čtyřech fundamentálních pilířích a z nich odvozených dvanácti základních principech. Jelikož je český překlad zmíněných pravidel z klasického pohledu všeříkající, omezím se v jejich představení na několik zásadních myšlenek a následně se budu inspirovat zdrojovou originální verzí.
Cílem Agilního Manifestu je zlepšit metodu vývoje software – některé myšlenky agilních metodik do jisté míry popírají zaběhnuté poučky softwarového vývoje. Důležité je klást důraz na schopnost akceptace změn na úkor snahy o jejich zabránění a též způsobilost reagovat na nepředvídatelné události, o kterých víme, že během životního cyklu vývoje software určitě nastanou. Dále se dokument snaží ukázat, že na prvním místě je zákazník, hodnoty vytvářejí lidé pro lidi. V neposlední řadě z něj vychází jednoduchá, avšak názorná poučka, že není důležité mít kuchařku, jestliže neumíme vařit, stejně tak dokumentace postrádá bez fungujícího software smysl.
Principy stojící za Agilním Manifestem (http://agilemanifesto.org/iso/cs/principles.html):
- Naší nejvyšší prioritou je vyhovět zákazníkovi časným a průběžným dodáváním hodnotného softwaru.
- Vítáme změny v požadavcích, a to i v pozdějších fázích vývoje. Agilní procesy podporují změny vedoucí ke zvýšení konkurenceschopnosti zákazníka.
- Dodáváme fungující software v intervalech týdnů až měsíců, s preferencí kratší periody.
- Lidé z byznysu a vývoje musí spolupracovat denně po celou dobu projektu.
- Budujeme projekty kolem motivovaných jednotlivců. Vytváříme jim prostředí, podporujeme jejich potřeby a důvěřujeme, že odvedou dobrou práci.
- Nejúčinnějším a nejefektnějším způsobem sdělování informací vývojovému týmu z vnějšku i uvnitř něj je osobní konverzace.
- Hlavním měřítkem pokroku je fungující software.
- Agilní procesy podporují udržitelný rozvoj. Sponzoři, vývojáři i uživatelé by měli být schopni udržet stálé tempo trvale.
- Agilitu zvyšuje neustálá pozornost věnovaná technické výjimečnosti a dobrému designu.
- Jednoduchost–umění maximalizovat množství nevykonané práce–je klíčová.
- Nejlepší architektury, požadavky a návrhy vzejdou ze samo-organizujících se týmů.
- Tým se pravidelně zamýšlí nad tím, jak se stát efektivnějším, a následně koriguje a přizpůsobuje své chování a zvyklosti.
V českém prostředí se na rozvoji agility již řadu let podílí známá představitelka českého agilního vývoje Zuzana Šochová, která participovala mimo jiné na přípravě lokalizované verze Agilního Manifestu. Osobně jsem byl přítomen na jedné z jejích přednášek a stejně jako obdobné počiny jejích kolegů ve mně daná účast vyvolala otázky, na které si každý musí odpovědět z vlastního úhlu pohledu a individuální zkušenosti:
- O čem vlastně je a naopak o čem není agilita?
- Jaké jsou klíčové přednosti/nedostatky agility v konkrétních případech?
- Které technologické, finanční, sociální a jiné aspekty nám agilita přináší?
- Mohl by agilní přístup pomoci v mojí situaci?
- Chtěl bych vyzkoušet tým s agilními principy?
- Bavilo by mě pracovat v nějakém agilním týmu?
V následujícím článku pro některé čtenáře připomenu, pro některé poodkryji kromě jiného seznam základních metodik, jež vycházejí z právě představeného Agilního Manifestu. Dále se můžete těšit na zajímavý komentář kolegy z CZM, který se s agilním vývojem setkal při své týdenní účasti na výměnném pobytu ATHENS. Díky dotyčnému pohledu si budeme moci udělat vlastní názor, jakým způsobem se na problematiku agility dívají v jiné zemi.