agile manifesto understanding agile values
Agilní manifest Úvod:
Náš předchozí tutoriál o Agilní metodika podrobně nám vysvětlil vše o agilních modelech a metodikách.
Ale doposud nám nejde o to, proč na prvním místě byla potřeba agility a jak agilní překonal nedostatky stávajících metodik vývoje softwaru, jako je model vodopádu.
V tomto tutoriálu půjdeme hlouběji do detailů agilního a agilního manifestu. Uvidíme, co se v manifestu říká a jaké jsou v něm zakotvené hodnoty a zásady.
Co se naučíte:
Úvod
Jak jsme viděli v našem předchozí výukový program „dřívější vývojové metodologie zabraly příliš mnoho času a v době, kdy byl software připraven k nasazení, by se obchodní požadavky změnily, což by nevyhovovalo současným potřebám.
Rychlost změny, která v té době chyběla, způsobovala spoustu problémů. Když se setkali vedoucí různých metodik vývoje, aby rozhodli o dalším postupu, byli schopni se dohodnout na lepší metodě a také byli schopni dokončit formulaci manifestu.
To bylo zachyceno jako 4 hodnoty a 12 principů, aby pomohly odborníkům pochopit, odkazovat na to a uvést je do praxe. A v tu chvíli si nikdo z nich nedokázal představit, jaký to bude mít dopad na budoucnost projektového řízení.
Agilní manifest
Manifest byl velmi pečlivě formulován tak, aby zachytil podstatu agility v minimálních slovech a zní níže -
'Objevujeme lepší způsoby vývoje softwaru tím, že to děláme a pomáháme ostatním v tom.' Touto prací jsme dospěli k níže uvedené hodnotě:
- Jednotlivci a interakce nad procesy a nástroji.
- Pracovní software přes komplexní dokumentaci.
- Spolupráce se zákazníky při vyjednávání smluv.
- Reakce na změnu v návaznosti na plán.
To znamená, že zatímco v položkách napravo je hodnota, hodnoty v levé části si vážíme více. “
Jak vidíme, jedná se o velmi výstižná a jednoduchá prohlášení, která objasňují, co chtěli zakladatelé propagovat. Obvykle jsou tradiční projektové plány přísné a zdůrazňují postupy a časové osy, ale agilní manifest propaguje přesně opačné věci.
rozdíl mezi testováním černé skříňky a bílé skříňky
Upřednostňuje:
- Lidé
- Produkt
- Komunikace a
- Schopnost reagovat
Prozkoumáme toto nové paradigma, které chtěli zakladatelé podrobně prosadit hlubším pochopením agilních hodnot a principů.
4 Agilní hodnoty
Čtyři hodnoty spolu s 12 principy řídí agilní dodávku softwaru. Nyní budeme podrobně diskutovat o každé z hodnot.
# 1) Jednotlivci a interakce nad procesy a nástroji
Jednotlivci a interakce jsou upřednostňovány před procesy a nástroji, protože díky nim je proces citlivější. Pokud jsou jednotlivci v souladu a jakmile si navzájem rozumějí, může tým vyřešit jakékoli problémy pomocí nástrojů nebo procesů.
Pokud však týmy trvají na slepém dodržování procesů, mohlo by to mezi jednotlivci způsobit nedorozumění a vytvořit neočekávané překážky, což by mělo za následek zpoždění projektu.
Proto je vždy lepší mít interakce a komunikaci mezi členy týmu, než slepě, v závislosti na procesech, které povedou cestu vpřed. Jedním ze způsobů, jak toho dosáhnout, je zapojit vlastníka produktu, který pracuje a může rozhodovat ve spolupráci s vývojovým týmem.
Umožnění jednotlivcům přispívat samostatně jim také umožňuje svobodně se prezentovat jako to, co mohou přinést ke stolu. Pokud jsou tyto týmové interakce zaměřeny na řešení běžného problému, mohou být výsledky docela silné.
# 2) Pracovní software na komplexní dokumentaci
Tradiční řízení projektů zahrnovalo komplexní dokumentaci, což znamenalo zpoždění měsíců. To mělo negativní dopad na realizaci projektu a výsledná zpoždění byla nevyhnutelná.
Druh dokumentace vytvořené pro tyto projekty byl velmi podrobný a bylo vytvořeno tolik dokumentů, že na mnoho z nich se během postupu projektu ani neodkazovalo. To bylo zbytečné zlo, se kterým projektové týmy žily.
To však také prohloubilo problémy při doručování. Důraz byl kladen na dokumentaci v takovém rozsahu, protože týmy chtěly skončit s hotovým výrobkem, který byl podle specifikací 100%. Proto byl kladen důraz na podrobné zachycení všech specifikací.
Konečný produkt se ale i tak docela lišil od očekávání, nebo by ztratil na důležitosti. Proto agilní říká, že fungující software je mnohem lepší volbou pro odhad očekávání zákazníků než hromada dokumentace.
To neznamená, že dokumentace není nutná. Znamená to jen, že fungující produkt je každý den lepším indikátorem souladu s potřebami a očekáváními zákazníka než dokument vytvořený před několika měsíci. To také znamená, že týmy reagují a jsou připraveny přizpůsobit se změnám, kdykoli je to nutné, a zároveň ukázat pracovní software klientovi, když sprint skončí.
Pokud nevyzkoušíte produkt během sprintu, bude to mít v příštím sprintu mnoho nákladů a úsilí. Jakmile je funkce nasazena, náklady na tyto změny se významně zvýší.
3. Spolupráce zákazníka při vyjednávání smlouvy
Vyjednávání znamená, že podrobnosti jsou stále zachyceny a nebyly dokončeny. Stále existuje prostor pro nové vyjednávání. Ale jakmile vyjednávání skončí, nemůže o něm proběhnout žádná diskuse. Agilní říká, že místo vyjednávání jděte na spolupráci.
Spolupráce znamená, že stále existuje prostor pro diskusi a komunikace probíhá.
Není to jednorázová věc. To, co to dělá, je dvojnásobná výhoda - zatímco pomáhá týmu provést korekci kurzu, pokud je to požadováno v dřívější fázi, pomáhá klientovi také vylepšit jeho vizi a předefinovat jeho požadavky, pokud je to nutné v průběhu kurzu projekt.
Dalším aspektem je, že zatímco tradiční modely vývoje softwaru zahrnují zákazníka před zahájením vývoje během fáze dokumentace a vyjednávání, nejsou během vývoje projektu tak zapojeni.
Jakmile jsou požadavky zmrazeny, uvidí produkt pouze poté, co je připraven. Agile prolomí tuto bariéru také tím, že umožní zapojení zákazníků během celého životního cyklu.
To pomáhá agilním týmům lépe se přizpůsobit potřebám zákazníků. Jedním ze způsobů, jak toho dosáhnout, je oddaný a zapojený vlastník produktu, který může týmu v reálném čase pomoci s vyjasněním a sladěním práce s prioritami zákazníka.
4. Reakce na změnu v návaznosti na dodržování plánu
Standardní myšlenkový proces spočívá v tom, že změny jsou nákladná záležitost a měli bychom se jim za každou cenu vyhnout. Na to se zbytečně zaměřujeme na dokumentaci a propracované plány, které je třeba splnit dodržováním časových linií a specifikací produktu.
Ale jak nás také učí zkušenost, změny jsou většinou nevyhnutelné a místo toho, abychom z nich utíkali, měli bychom se je snažit obejmout a naplánovat.
Agile nám umožňuje tento přechod. Agilní si myslí, že změna není výdaj, je to vítaná zpětná vazba, která pomáhá projekt vylepšit. Tomu se nelze vyhnout, ale místo toho přidává hodnotu.
Díky agilním krátkým sprintům mohou týmy rychle získat zpětnou vazbu a posunout priority v krátkém čase. Z iterace do iterace lze přidávat nové funkce.
Proč to děláme? Protože většina funkcí vyvinutých pomocí přístupu vodopádů se nikdy nepoužívá. Důvodem je, že model vodopádu se řídí plánem, zatímco to je fáze, kdy víme nejméně.
Agile také plánuje, ale také se řídí přístupem just in time, kdy se plánování provádí jen v případě potřeby. A plány jsou vždy otevřené, jak se mění sprinty.
12 agilních principů
Po vytvoření manifestu bylo přidáno 12 agilních principů, které mají pomoci a vést týmy při přechodu na agilní a zkontrolovat, zda postupy, které dodržují, jsou v souladu s agilní kulturou.
Následuje text původních 12 zásad, publikovaných v roce 2001 Agilní aliancí:
# 1) Naší nejvyšší prioritou je uspokojit zákazníka včasným a nepřetržitým dodáváním hodnotného softwaru.
#dva) Vítáme měnící se požadavky, dokonce i pozdě ve vývoji. Agilní procesy využívají změny ke konkurenční výhodě zákazníka.
# 3) Dodávejte pracovní software často, od několika týdnů do několika měsíců, přednostně v kratším časovém horizontu.
# 4) Podnikatelé a vývojáři musí během projektu každý den spolupracovat.
# 5) Budujte projekty kolem motivovaných jednotlivců. Poskytněte jim prostředí a podporu, kterou potřebují, a důvěřujte jim, že práci zvládnou.
# 6) Nejúčinnější a nejefektivnější metodou předávání informací vývojovému týmu a v jeho rámci je osobní rozhovor.
# 7) Pracovní software je primárním měřítkem pokroku.
# 8) Agilní procesy podporují udržitelný rozvoj. Sponzoři, vývojáři a uživatelé by měli být schopni udržovat stálé tempo po neomezenou dobu.
# 9) Neustálá pozornost věnovaná technické dokonalosti a dobrému designu zvyšuje agilitu.
# 10) Jednoduchost - umění maximalizovat množství neodvedené práce je hodně zásadní.
#jedenáct) Nejlepší architektury, požadavky a návrhy vycházejí ze samoorganizujících se týmů.
# 12) V pravidelných intervalech tým uvažuje o tom, jak se stát efektivnějším, a podle toho vyladí a upraví své chování.
Tyto agilní principy poskytují praktické pokyny pro vývojové týmy.
Dalším způsobem, jak uspořádat 12 zásad, je zvážit je v následujících čtyřech odlišných skupinách:
- Spokojenost zákazníků
- Kvalitní
- Týmová práce
- Projektový management
# 1) Naší nejvyšší prioritou je uspokojit zákazníka včasným a nepřetržitým dodáváním hodnotného softwaru - Zákazníci budou očividně nadšení, když uvidí, jak bude každý software dodáván fungující software, místo aby museli projít nejednoznačnou čekací dobou, na jejímž konci uvidí produkt pouze oni.
Zde lze definovat zákazníka jako sponzora projektu nebo osobu, která platí za vývoj. Koncový uživatel produktu je také zákazníkem, ale můžeme je rozlišovat, protože koncový uživatel je označován jako uživatel.
#dva) Vítáme měnící se požadavky, dokonce i pozdě ve vývoji. Agilní procesy využívají změny pro konkurenční výhodu zákazníka - Změny lze začlenit bez velkých zpoždění do celkových časových os.
Jelikož agilní týmy věří především v kvalitu, raději začlení změny a dodají podle požadavků zákazníka, než aby se změnám vyhnuly a dodaly produkt, který neslouží obchodním potřebám.
# 3) Dodávejte pracovní software často, od několika týdnů do několika měsíců, přednostně v kratším časovém horizontu - O to se starají týmy pracující ve sprintech. Vzhledem k tomu, že sprinty jsou časově ohraničené iterace a na konci každého sprintu dodávají funkční software, zákazníci pravidelně získávají představu o pokroku
# 4) Podnikatelé a vývojáři musí během projektu každý den spolupracovat - Lepší rozhodnutí se přijímají, když oba spolupracují společně a je mezi nimi neustálá zpětná vazba pro korekci kurzu a změnu agility. Klíčem agilní je vždy komunikace mezi zúčastněnými stranami.
# 5) Budujte projekty kolem motivovaných jednotlivců. Poskytněte jim prostředí a podporu, kterou potřebují, a důvěřujte jim, že práci zvládnou - Musíte týmy podporovat, důvěřovat jim a motivovat je. Motivovaný tým bude pravděpodobně úspěšnější a přinese špičkový produkt než nešťastné týmy, které nejsou ochotné vydat ze sebe maximum.
Jedním ze způsobů, jak toho dosáhnout, je posílit vývojový tým tak, aby byl sebeorganizovaný a přijímal vlastní rozhodnutí.
# 6) Nejúčinnější a nejefektivnější metodou předávání informací vývojovému týmu a v jeho rámci je osobní rozhovor - Komunikace je lepší a efektivnější, pokud jsou týmy na stejném místě a mohou se setkávat tváří v tvář k diskusi. Pomáhá budovat důvěru a přináší porozumění mezi různými zúčastněnými stranami.
# 7) Pracovní software je primární měřítko pokroku - Pracovní software překonává všechny ostatní KPI a je nejlepším ukazatelem provedené práce.
# 8) Agilní procesy podporují udržitelný rozvoj. Sponzoři, vývojáři a uživatelé by měli být schopni udržovat stálé tempo po neomezenou dobu - Zdůrazňuje se konzistence dodávek. Tým by měl být schopen udržet své tempo po celou dobu trvání projektu a nespálit se po několika prvních sprintech.
# 9) Neustálá pozornost věnovaná technické dokonalosti a dobrému designu zvyšuje agilitu - Tým by měl mít všechny dovednosti a dobrý design produktu, aby zvládl změny a vytvořil vysoce kvalitní produkt, přičemž je schopen začlenit změny
# 10) Jednoduchost - Umění maximalizovat množství neodvedené práce je zásadní a stačí k tomu, aby splňovalo definici odvedené práce.
#jedenáct) Nejlepší architektury, požadavky a návrhy vycházejí ze samoorganizujících se týmů - Samostatně organizované týmy jsou zmocněny a převezmou odpovědnost za svou práci. To vede k otevřené komunikaci a pravidelnému sdílení nápadů mezi členy týmu.
# 12) V pravidelných intervalech tým uvažuje o tom, jak se stát efektivnějším, a podle toho vyladí a upraví své chování - Sebezdokonalování vede k rychlejším výsledkům a menšímu přepracování.
Závěr
Zaměření na zákazníka a zaměření na komunikaci přinesly úspěch agilitě, která je dnes viditelná.
Jedná se o osvědčenou techniku s dopady nejen na dodávku softwaru, ale i na další průmyslová odvětví a dnes se stala průmyslem sama o sobě.
Náš nadcházející výukový program v této sérii vysvětlí více o Scrum týmu a jeho rolích !!
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Online kvíz Agile Scrum: Otestujte si své znalosti o Agile Scrum
- Změna myšlení agilního testeru: sladění s agilním manifestem
- Kanban vs Scrum vs Agile: Podrobné srovnání k nalezení rozdílů
- Jak dodávat vysoce hodnotné softwarové funkce v krátkém časovém období pomocí agilního procesu skrumáže
- Výukový program SAFe Agile: Co je to Scaled Agile Framework
- 4 kroky k vývoji agilního testování myšlení pro úspěšný přechod na agilní proces
- Výukový program JIRA Agile: Jak efektivně používat JIRA pro správu agilních projektů
- Praxe DevOps založená na agilním manifestu (část 2 - blok 1)