fbpx
icon
Online tréning | Základy Agile a Scrum s Romanom Pieronom | 02.11.2021
Viac informácií →

Continuous Delivery Pipeline je tepna SAFe

cover

Keď sa povie “vývoj softwarových produktov”, mnohí si predstavia bandu mladých ITčkárov sediacich pred počítačom neúprosne búšiacich do klávesníc tisíce riadkov kódu v prítmí žalúziami chránenej kancelárie. Ide o stereotyp pochádzajúci z čias, keď sme sa s počítačom stretli iba v televízii. Dnes vieme, že vývoj softvéru je komplikovaný sled, kedy tvorbe kódu predchádza množstvo tvorivej analytickej a dizajnovej práce odborníkov z viacerých oblastí. Ich podiel na kvalite produktov je nesmierny, keďže ho na základe dát a vlastnej kreativity definujú a modelujú ho pre zákazníka.

Po dodaní produktu sa jeho cesta nekončí. Zákazník má neustále nové požiadavky. Ako v tejto komplexite správne vyvíjať svoj produkt? Ako reagovať na zmenu očakávaní a požiadaviek zákazníka? Ako zabezpečiť, aby boli naplnené včas? Ktoré správne rozhodnutia treba v celom komplikovanom procese vývoja a ako koordinovať svojich zamestnancov tak, aby fungovali ako dobre naolejovaný motor? Scaled Agile Framework (SAFe) sa snaží zodpovedať všetky tieto otázky jasnými princípmi a pravidlami a umožniť tak bezproblémový tok hodnoty skrz bežné firemné procesy.

Continuous Delivery Pipeline

V SAFe-e je pojem Continous Delivery Pipeline (CDP) ťažiskovým. Ak je Program Increment Planning Event (PI Planning) (podľa samotných tvorcov) „tlkot srdca“ SAFe-u, CDP je jeho hlavnou tepnou. Predstavuje cestu riešení, nových funkcionalít či produktov a to od úplného začiatku až po koniec. Od idey a spôsobu nachádzania správnych produktov až po ich zhmotnenie v rukách zákazníka. Continuous Delivery Pipeline sa skladá zo štyroch častí, ktoré túto cestu opisujú, špecifikujú jednotlivé úlohy, potrebné kroky, a takto aj tento proces riadia.

  1. Continuous Exploration, zameranú na nachádzanie správnych riešení,
  2. Continuous Integration, zameranú na efektívny vývoj riešení,
  3. Continous Deployment, zameranú na minimalizovanie rizík a meranie výkonnosti produktu a,
  4. Release on Demand, ako schopnosť dodávať funkcionality podľa potrieb zákazníka.

“Každá z týchto súčastí je disciplínou samou o sebe a obsahuje rozsiahlu zbierku ‘good practices‘, ktoré pri ich správnom používaní zabezpečia skutočnú agilitu – vyvíjať správne veci, pre správnych zákazníkov v správny čas.”

Continuous Exploration

sa zameriava na pravidelný prísun „správnych požiadaviek“. Prostredníctvom praktík patriacich do Design Thinking sa zástupcovia biznisovej časti spoločnosti snažia identifikovať, definovať a priorizovať také produkty či funkcionality, ktoré sú pre biznis (a zákazníka) najlepšie a o ktorých možno ani nevedel. Používajú pritom praktiky ako sú napr. „cesty zákazníka“ (customer journey), „personas“, “value proposition canvas” a mnohé ďalšie.

Pri preskúmavaní týchto návrhov sa architekti spoločnosti zameriavajú na reálnosť, technologickú a predpokladanú časovú náročnosť návrhov. Celý proces je zavŕšený schválením nových funkcionalít prípadne riešení a ich priorizáciou v backlogoch Agile Release Train-u (ART, tím tímov) či celého Portfólia, alebo ich neprijatím a vylúčením z ďalšieho procesu. Kvalita spracovania návrhov a im predchádzajúce analýzy sú v tejto časti procesu kľúčové a priamo súvisí s kvalitou spolupráce produktových a technologických zamestnancov.

Continous Integration

je proces kontinuálneho, neprestajného vývoja funkčností produktov a  ich priebežnej integrácie do produktu samotného. Táto integrácia umožňuje kontrolu a testovanie riešenia ako funkčného celku, nielen jeho osamotených súčastí. Podľa Agile princípov je „ Základným ukazovateľom napredovania je funkčný softvér.“ a to v jeho úplnosti. Modul nemožno označiť za funkčný, ak sme ho nevyskúšali na jeho platforme.

Pri bežnom Scrum tíme hovoríme o  prírastkoch (inkrementoch) ako o plne otestovanej a funkčnej novej podobe produktu, ktorý má byť výsledkom každého sprintu. Pri škálovaní Agile však v dôsledku tvorby komplexných riešení, na ktorých pracuje väčší počet tímov hovoríme o inkremente ART-u, teda integrovaný výsledok sprintu viacerých tímov. Tento má rovnako spĺňať prísne požiadavky úplnosti, integrácie a otestovanosti. Úloha značne náročná, no prínosy z jej napĺňania prinášajú pravú agilitu, ktorú sa pri škálovaní darí realizovať iba za dostatočnej miery automatizácie vývojového procesu, dodržaní princípu sériového/priebežného dodávania, cross-funkčnosti scrum tímov, spoločnej kadencie vývoja a pod.

Dôležitosť automatizácie potvrdzuje SAFe-om definovaný špecializovaný tím (tzv. System Tím), ktorý dopomáha pri automatizácii testovania a nasadzovania produktov v spoločnosti. Automatizovaná CDP umožňuje prehodnotenie správnosti celého riešenia ART-u v častých, pravidelných intervaloch, znižuje riziko vznikajúce pri neskorom testovaní komplexných riešení a zásadne zvyšuje kvalitu celého riešenia. Nahrádza tak predstavy o správnosti riešenia jeho reálnym pozorovaním a prekontrolovaním. Z funkčného a aj technického hľadiska.

“Základným ukazovateľom napredovania je funkčný produkt.”

Continuous Deployment

je proces technického dizajnu a nasadzovania riešení a jeho súčastí na produkčné prostredie v pravidelných intervaloch. Spočíva v dodávaní funkčných inkrementov ARTu do produkčného prostredia ešte predtým, ako dôjde k jeho sprístupneniu (Release) zákazníkovi.

Minimalizujeme tak riziko chybovosti novej verzie v súvislosti s používateľským zážitkom, umožňujeme realizáciu A/B testovania, monitorujeme novú verziu a tak umožňujeme skorú nápravu. Tieto aktívne kroky nám umožňuje mindset a praktiky DevOps ako jedným z hlavných súborov znalostí, ktorými sa SAFe inšpiroval.

Release on Demand

Dopĺňa Continuous Deployment. Vďaka oddeleniu nasadzovania a sprístupnenia sa sprístupnenie stáva rozhodnutím biznisovým, nie technickým. Takýto prístup podporuje “zameranie na zákazníka” ako kľúčové východisko rozhodnutí o produkte. Release on demand umožňuje sprístupnenie produktu až po jeho starostlivom dokončení, vychytaní aj tých posledných známych chybičiek, technických, alebo funkčných nedostatkov.

Release on Demand možno taktiež vnímať ako mindset pri navrhovaní architektúry produktu. Je založený na rozdelení jednotlivých súčastí, modulov produktu tak, aby bolo možné ich samostatné sprístupňovanie bez nutnosti aktualizovať celý produkt. Príkladom je aktualizácia bezpečnostných modulov bez potreby zmien v module základnej funkcionality. Funkcia prehrávania hudby v Spotify tak môže byť aktualizovaná vo vlastnom tempe, nezávisle od manažéra playlistov a pod.

V CDP sú všetky jej súčasti vyťažené súčasne a kontinuálne, čím sa zabezpečuje princíp „trvalého udržania konštantného tempa“, ktorý je definovaný v  Agile manifeste ako jeden z dvanástich princípov. Kým biznis analytici pripravujú podklady ďalších budúcich funkcionalít produktov, vývojári pracujú na vybraných riešeniach, zatiaľ čo na produkčnom prostredí meriame spokojnosť, preferencie zákazníkov a stabilitu našej aktualizácie.

Správne porozumenie úloh a spôsobu spolupráce lídrov a vedúcich pracovníkov, ako aj jednotlivých zamestnancov pri spravovaní a rozvoji Continuous Delivery Pipeline je kľúčové. Vyžaduje si znalosti biznis analýzy, správnej identifikácie potrieb zákazníka, znalosti škálovania technológií, procesov a mnoho ďalších.

V ScrumDesk dlhodobo pomáhame so správnym zavedením Continuous Delivery Pipeline viacerým, aj medzinárodným spoločnostiam. Od počiatočného mapovania Value Streamov toku požiadaviek a identifikovania správnej konfigurácie SAFe, kompletné vyškolenie spoločnosti pre správnu aplikáciu jednotlivých agilných praktík, vedenie PI planningov a príprav naň, ale aj kompletné transformácie a implementácie SAFe-u so pokrytím celej Continuous Delivery Pipeline.

Ak vás zaujalo riešenie CDP, napíšte nám a môžeme sa nezáväzne porozprávať o vašich potrebách či zodpovedať vaše prípadné otázky.

LeadershipProduct OwnerProduktySAFeTema

Mohlo by Vás zaujímať

Ako nepísať požiadavky v Agile? Procesné kroky.

Ako nepísať požiadavky v Agile? Procesné kroky.

Ako správne písať požiadavky v agile? Typické chyby pri písaní user story. Product ownership zmysluplne....

Bezpečný Agile

Bezpečný Agile

Veľa firiem sa rozhodlo implementovať SAFe preto, aby vyriešili svoje problémy, ale tak ako pre ostatné agilné frameworky,...

Tréning Leading SAFe®

Tréning Leading SAFe®

Tréning, v ktorom sa naučíte manažovať komplexné systémy pomocou Scaled Agile Framework® (SAFe®). Po tréningu môžete...

Novinky

Naše Agiloviny

Nenechajte si ujsť výber toho najlepšieho z Agile, s čím sa stretli naši mentori. Nielen zo sveta produktov, vývoja, tipov a trikov, ale občas aj humoru. Posielame pravidelne, raz za občas :) #QualityOverQuantity

Poslať na