Continuous Delivery Pipeline je tepnou SAFe

cover

Když se řekne „vývoj softwarových produktů“, mnoho lidí si představí bandu mladých ajťáků sedících před počítačem, neúprosně bušících do klávesnic tisíce řádků kódu v přítmí žaluziemi chráněné kanceláře.

Jde o stereotyp pocházející z doby, kdy jsme se s počítačem setkávali jen v televizi. Dnes víme, že vývoj softwaru je komplikovaný proces, kdy tvorbě kódu předchází množství tvůrčí analytické a designové práce odborníků z různých oblastí. Jejich podíl na kvalitě produktů je značný, protože je na základě dat a vlastní kreativity definují a modelují pro zákazníka.

Po dodání produktu jeho cesta nekončí, protože zákazník má neustále nové požadavky. Jak v této komplexitě produkt správně vyvíjet? Jak reagovat na změnu očekávání a požadavků zákazníka? Jak zabezpečit, aby byly splněné včas? Jaká rozhodnutí jsou v celém komplikovaném procesu třeba a jak koordinovat svých zaměstnanců, aby fungovali jako dobře naolejovaný stroj?

Scaled Agile Framework (SAFe) se snaží odpovědět na všechny tyto otázky jasnými principy a pravidly a umožnit tak bezproblémový tok hodnoty běžnými firemními procesy.

Continuous Delivery Pipeline

V SAFe je pojem Continous Delivery Pipeline (CDP) stěžejním. Pokud je Program Increment Planning Event (PI Planning) podle samotných tvůrců „tlukotem srdce“ SAFe, CDP je jeho hlavní tepnou. Představuje způsob řešení nových funkcionalit či produktů, a to od úplného začátku až po konec, od idey a způsobu nacházení správných produktů až po jejich zhmotnění v rukách zákazníka.

Continuous Delivery Pipeline se skládá ze čtyř částí, které tuto cestu popisují, specifikují jednotlivé úkoly, potřebné kroky a zároveň tento proces řídí.

  1. Continuous Exploration, zaměřená na nacházení správných řešení,
  2. Continuous Integration, zaměřená na efektivní vývoj řešení,
  3. Continous Deployment, zaměřená na minimalizování rizik a měření výkonnosti produktu,
  4. Release on Demand, jako schopnost dodávat funkcionality podle potřeb zákazníka.

„Každá z těchto součástí je disciplínou sama o sobě a obsahuje rozsáhlou sbírku ‘good practices‘, které při jejich správném používaní zabezpečí skutečnou agilitu – vyvíjet správné věci pro správné zákazníky ve správný čas.”

Continuous Exploration

Zaměřuje se na pravidelný přísun „správných požadavků“. Prostřednictvím praktik patřících do Design Thinking se zástupci byznysové části společnosti snaží identifikovat, definovat a prioritizovat takové produkty či funkcionality, které jsou pro byznys (a zákazníka) nejlepší a o nichž možná ani nevěděl. Používají přitom praktiky, jako jsou například cesty zákazníka (customer journey), persony, value proposition canvas a mnohé další.

Při přezkoumávání těchto návrhů se architekti společnosti zaměřují na reálnost a technologickou a předpokládanou časovou náročnost návrhů. Celý proces je završený schválením nových funkcionalit (případně řešení), a jejich prioritizací v backlozích Agile Release Train (ART, tým týmů) či celého Portfolia, nebo jejich nepřijetím a vyloučením z dalšího procesu.

Kvalita zpracování návrhů a jim předcházející analýzy jsou v této části procesu klíčové a přímo souvisí s kvalitou spolupráce produktových a technologických zaměstnanců.

Continous Integration

je proces kontinuálního nepřerušeného vývoje funkčnosti produktů a jejich průběžné integrace do produktu samotného. Tato integrace umožňuje kontrolu a testování řešení jako funkčního celku, nejen jeho osamocených součástí. Podle principů Agile je„základním ukazatelem pokroku funkční software“, a to v jeho úplnosti. Modul není možné označit za funkční, pokud jsme ho nevyzkoušeli na jeho platformě.

V běžném Scrum týmu mluvíme o přírůstcích (inkrementech) jako o plně otestované a funkční nové podobě produktu, který má být výsledkem každého sprintu. Při škálování Agile však v důsledku tvorby komplexních řešení, na nichž pracuje větší počet týmů, mluvíme o inkrementu ARTu, tedy integrovaný výsledek sprintu více týmů.

Ten musí rovněž splňovat přísné požadavky úplnosti, integrace a otestovaní. Tento úkol je značně náročný, ale přínosy z jeho splnění přinášejí pravou agilitu. Tu se při škálování daří realizovat jen při dostatečné míře automatizace vývojového procesu, dodržení principu sériového / průběžného dodávání, cross-funkčnosti Scrum týmů, společné kadenci vývoje apod.

Důležitost automatizace potvrzuje SAFem definovaný specializovaný tým (tzv. System Tým), který pomáhá při automatizaci testování a nasazování produktu ve společnosti.

Automatizovaná CDP umožňuje přehodnocení správnosti celého řešení ARTu v častých a pravidelných intervalech,. Zároveň snižuje riziko vznikající při pozdním testování komplexních řešení a zásadně zvyšuje kvalitu celého řešení. Nahrazuje tak představy o správnosti řešení jeho reálným pozorováním a překontrolováním z funkčního i technického hlediska.

„Základním ukazatelem pokroku je funkční produkt.”

Continuous Deployment

je proces technického designu a nasazování řešení a jeho součástí na produkční prostředí v pravidelných intervalech. Spočívá v dodávání funkčních inkrementů ARTu do produkčního prostředí ještě před tím, než dojde k jeho zpřístupnění (release) zákazníkovi.

Minimalizuje tak riziko chybovosti nové verze v souvislosti s uživatelským zážitkem. Umožňuje realizaci A/B testů, monitoruje novou verzi a dovoluje tak včasnou nápravu. Tyto aktivní kroky nám umožňuje mindset a praktiky DevOps jako jeden z hlavních souborů znalostí, jimiž se SAFe inspiroval.

Release on Demand

doplňuje Continuous Deployment. Díky oddělení nasazování a zpřístupnění se zpřístupnění stává byznysovým rozhodnutím, nikoliv technickým. Tento přístup podporuje„zaměření na zákazníka“ jako klíčové východisko rozhodnutí o produktu. Release on demand umožňuje zpřístupnění produktu až po jeho pečlivém dokončení, vychytání posledních chybiček a technických nebo funkčních nedostatků.

Release on demand můžeme vnímat jako mindset při navrhování architektury produktu. Je založený na rozdělení jednotlivých součástí a modulů produktu tak, aby bylo možné je samostatně zpřístupňovat bez nutnosti aktualizovat celý produkt.

Příkladem je aktualizace bezpečnostních modulů bez potřeby změn v modulu základní funkcionality. Například funkce přehrávání hudby ve Spotify tak může být aktualizovaná ve vlastním tempu, nezávisle na manažeru playlistů apod.

V CDP jsou všechny její součásti vytížené současně a kontinuálně, čímž se zabezpečuje princip „trvalého udržení konstantního tempa“, který je definovaný v Agile manifestu jako jeden z dvanácti principů.

Zatímco byznys analytici připravují podklady dalších budoucích funkcionalit produktů, vývojáři pracují na vybraných řešeních. Zároveň v produkčním prostředí měříme spokojenost, preference zákazníků a stabilitu naší aktualizace.

Správné porozumění úkolům a způsobu spolupráce lídrů a vedoucích pracovníků, stejně jako jednotlivých zaměstnanců, je při správě a rozvoji CDP klíčové. Vyžaduje znalosti byznys analýzy, správnou identifikaci potřeb zákazníka, znalosti škálování technologií a procesů a mnoho dalšího.

Ve ScrumDesku dlouhodobě pomáháme se správným zavedením CDP řadě společností, i mezinárodních. Od počátečního mapování value streamů toku požadavků a identifikace správné konfigurace SAFe, kompletní vyškolení společnosti pro správnou aplikaci jednotlivých agilních praktik, vedení PI planningů a příprav na ně, ale i kompletní transformace a implementace SAFe s pokrytím celé CDP.

Pokud vás řešení CDP zaujalo, napište nám a můžeme se nezávazně pobavit o vašich potřebách nebo zodpovědět vaše otázky.

Product OwnerSAFeTým

Mohlo by vás zajímat

Jak nepsat požadavky v Agile

Jak nepsat požadavky v Agile

Jak správně psát požadavky v Agile? Vyvarujte se typických chyb při psaní user story....

Bezpečný Agile: SAFe 5.1

Bezpečný Agile: SAFe 5.1

SAFe nevyřeší žádný z vašich problémů, ale ukáže vám všechny, které máte....

Retrospektiva není jen o efektivitě

Retrospektiva není jen o efektivitě

Lidé chtějí být lepší Retrospektiva je jednou z nejdůležitějších a zároveň nejvíce podceňovaných ceremonií...

Novinky

Naše Agiloviny

Nenechte si ujít výběr toho nejlepšího z Agile, s čím se setkali naši mentoři. Nejen ze světa produktů, vývoje, tipů a triků, ale občas i humoru. Posíláme pravidelně jednou za čas  #QualityOverQuantity

Poslat na

zpracováním osobních údajů

Děkujeme