Optimalizace návrhu úloh pomocí toků

Tento článek se zabývá cílenou optimalizací úloh pomocí toků. Různé komponenty úlohy mají různé požadavky a úrovně důležitosti. Rozdělením úlohy do toků můžete určit prioritu různých částí úlohy a lépe sladit investice do úloh s důležitostí jednotlivých toků.

Tento proces optimalizace úloh je iterativní a zahrnuje tři klíčové kroky: (1) definujte strukturu toku v rámci úlohy, (2) definujte technické požadavky a (3) navrhněte tok tak, aby splňoval požadavky (viz obrázek 1).

Diagram znázorňující třístupňový proces s pěti akcemi Prvním krokem je definování toku. Pokud chcete tok definovat, musíte pochopit požadavky a tok zdokumentovat. Druhým krokem je definování požadavků na tok. Pokud chcete definovat požadavky na tok, musíte stanovit technické cíle. Třetím krokem je návrh toku. Při návrhu toku musíte postupovat podle osvědčených postupů návrhu toku a vyvíjet a testovat tok. Existuje šipka od akce sestavení a testu zpět k první akci (vysvětlení požadavků), která označuje iterace tohoto procesu.Obrázek 1: Proces optimalizace úloh pomocí toků

Definování toku

Než budete moct definovat požadavky na tok, musíte porozumět obchodním faktorům toku. Předpokladem pro definování toku je identifikace obchodního procesu a případ použití, který podporuje. Jakmile pochopíte požadavky, můžete začít dokumentovat tok.

Vysvětlení požadavků

Toky jsou posloupnosti akcí, které podporují funkce úloh. Existují dva primární typy toků: toky uživatelů a systémové toky. Toky uživatelů určují interakce uživatelů. Systémové toky určují komunikaci mezi komponentami úloh. Toky podporují obchodní procesy a případy použití. Úloha se skládá z několika případů použití. Před dokumentováním toku musíte identifikovat obchodní proces a případ použití, který tok podporuje (viz obrázek 2).

Diagram znázorňující dvě pole, která jsou na sobě poskládaná Horní pole představuje obchodní proces se segmenty označenými Fáze 1, Fáze 2 a Fáze n, které označují posloupnost fází v obchodním procesu. Z každé fáze tři svislé šipky ukazují dolů na řadu tří čtverců představujících různé případy použití. Každý čtverec je označený písmenem Use case (Případ použití), Use case (Případ použití 2) a Use case n (Případ použití n). Každý čtverec obsahuje jedinečný vývojový diagram s označenými toky Flow 1, Flow 2 a Flow n. Všechny případy použití jsou součástí jedné úlohy. Každá fáze obchodního procesu je propojená s konkrétním případem použití úlohy a každý případ použití má svůj vlastní tok.Obrázek 2: Vztah mezi obchodními procesy, případy použití, toky a úlohami

Identifikace obchodního procesu

Obchodní proces je řada akcí (fází), které splňují obchodní požadavky. Toky určují pořadí, které uživatel nebo data zachytá k provedení jednotlivých fází obchodního procesu. Například online prodej produktů je obchodní proces. Fázemi tohoto obchodního procesu může být výpis produktu online, příjem objednávek a dodání produktu.

Identifikace případu použití

Případ použití definuje funkční požadavky toku. Před stanovením technických požadavků na tok musíte identifikovat a pochopit případ použití, který tok podporuje. Každý případ použití by měl podporovat jednu fázi obchodního procesu (viz obrázek 2). Případ použití by měl definovat následující atributy:

  • Účel: Jasně formulujte úkoly nebo cíle, jako je povolení online nákupů. Tato přehlednost vás provede funkčním návrhem a nastaví jasné cíle návrhu toku.

  • Důležitost: Vyhodnoťte důležitost případu použití, od rutinní až po kritickou. Hodnota přiřazená případu použití informuje o stanovení priority a návrhu toku. Případy použití s vysokou hodnotou můžou vyžadovat vylepšené zpracování chyb, ladění výkonu nebo aspekty uživatelského prostředí.

  • Spotřebitelé: Určete, jestli jsou primárními uživateli uživatelé (zákazníci, zaměstnanci) nebo systémové komponenty. Tato kategorizace určuje, jestli se jedná o tok uživatele nebo systémový tok, a ovlivňuje návrh.

  • Události: Definujte triggery nebo podmínky, které iniciují a uzavírají případ použití. Tyto události definují hranice toku.

  • Spouštění: Seznamte se s provozní frekvencí a proměnlivou variabilitou případu použití, abyste mohli předvídat zatížení systému. Musíte navrhnout tok, který bude zpracovávat různé scénáře provádění.

  • Závislosti: Identifikujte vzájemné závislosti s jinými případy použití pro řízení rizik. Rozpoznání závislostí případu použití pomáhá navrhovat toky, které se hladce integrují s ostatními částmi systému. Potřebujete zajistit dostupnost potřebných vstupů a kompatibilitu výstupů s následnými procesy.

Zdokumentujte tok

K dokumentaci toku použijte případ použití. Každou akci, kterou potřebujete v toku, byste měli nastínit nebo namapovat. Zachyťte rozhodovací kritéria a cesty. Identifikujte interakce s jinými případy použití. Tato osnova slouží jako podrobný plán pro návrh a správu toků. Potřebujete také zachytit obchodní informace o toku. Nezapomeňte do dokumentace k toku uvést následující podrobnosti:

  • Popis toku: Základní popis toku.

  • Obchodní proces: Obchodní proces, který tok podporuje.

  • Vlastník procesu: Osoba, která vlastní obchodní proces.

  • Zúčastněné strany: Osoby, které byste měli informovat o stavu nebo změnách toku nebo se s nimi radit.

  • Cesty eskalace: Jednotlivci nebo skupiny, které byste měli kontaktovat při řešení problémů. Je to posloupnost lidí. Rozsah individuální odpovědnosti roste s každou osobou na cestě.

  • Dopad na firmu: Význam tohoto toku pro firmu.

  • Hodnocení kritického stavu: Kvalitativní popisek, který označuje relativní důležitost toku.

Další informace najdete v tématu Příklady flow.

Definování požadavků na tok

Využijte případ použití ke stanovení technických cílů toku. Definujte měřitelné cíle pro tok, které odpovídají pěti pilířům Well-Architected Framework (WAF). Tyto pilíře poskytují rámec pro stanovení technických cílů:

  • Cíle spolehlivosti: Vyhodnoťte důležitost každého toku a odpovídajícím způsobem nastavte cíle spolehlivosti. Určete prahové hodnoty výkonu a vytvořte jasné smlouvy o úrovni služeb (SLA) a cíle (SLO). Toky s vyšší závažností vyžadují přísnější cíle spolehlivosti.

  • Cíle zabezpečení: Analyzujte potřeby zabezpečení jednotlivých toků na základě citlivosti dat a aktivit uživatelů. Implementujte a průběžně aktualizujte bezpečnostní opatření, která těmto potřebám vyhovují, a současně zajistit dodržování regulačních standardů.

  • Nákladové cíle: Seznamte se s požadavky jednotlivých toků na efektivní přidělování prostředků. Nastavte cíle pro vyvážení nákladů a výkonu. Zajistěte, aby využití prostředků odpovídalo obchodním prioritám.

  • Provozní cíle: Definujte metriky pro efektivní monitorování a řešení potíží. Cíle by měly zajistit efektivní využívání zdrojů a soulad s cíli organizace.

  • Cíle výkonu: Založte výkonnostní cíle na počáteční požadavky jednotlivých toků. Zajistěte, aby základní toky dostávaly odpovídající zdroje a průběžně upravujte cíle tak, aby vyhovovaly měnícím se požadavkům, a vylepšujte uživatelské prostředí.

Návrh toku

Navrhněte tok tak, aby splňoval technické cíle. Měli byste se seznámit s osvědčenými postupy návrhu toku, abyste dosáhli správného výsledku. Sestavte a otestujte tok. Iterujte návrh, dokud nesplní technické cíle, které jste stanovili.

Postupujte podle osvědčených postupů návrhu toku

Při návrhu toku postupujte podle osvědčených postupů návrhu toku. Dobře navržený tok má následující atributy:

  • S vymezeným oborem: Identifikujte pro každý tok různé počáteční a koncové body. Jasné hranice pomáhají optimalizovat interakce uživatelů nebo systému.

  • Logické: Navrhněte toky s logickým pořadím kroků. Optimalizujte pro co nejefektivnější cestu a omezte zbytečné kroky.

  • Udržovatelné: Navrhujte toky, které se snadno aktualizují a udržují. Používejte modulární komponenty, které můžete upravovat, aniž by to mělo vliv na celou úlohu.

  • Definováno: Začleňte konkrétní podmínky, které aktivují nebo řídí každý krok v toku. Tato přesnost zajišťuje, že tok přesně reaguje na vstupy uživatelů, změny dat nebo stavy systému.

  • Spolehlivé: Zabudujte do svých toků cesty pro zpracování chyb a výjimky. Efektivní správa chyb zabraňuje přerušení a udržuje integritu toku za neočekávaných okolností.

  • Škálovatelné: Zajistěte, aby zvládla různá zatížení a přizpůsobila se rostoucím nebo zmenšujícím se uživatelským bázím nebo objemům dat.

  • Zabezpečení: Vkládejte do toku bezpečnostní opatření. Ochrana dat a uživatelských interakcí před neoprávněným přístupem a hrozbami.

  • Efektivní: Naplánujte efektivní využití prostředků bez nadměrného zřizování. Mějte na paměti optimalizaci nákladů.

  • Zaměřené na uživatele: U toků uživatelů zarovnejte návrh toku s očekáváními a chováním uživatelů. Aby byl intuitivní a omezte křivku učení pro nové uživatele.

Vývoj a testování toku

Vyvíjejte tok tak, aby splňoval technické cíle, a otestujte ho, abyste měli jistotu, že splňuje jeho požadavky. Tento proces ověří, že tok funguje podle očekávání, efektivně zpracovává své úkoly a splňuje technické cíle. Tady jsou pokyny k sestavení a testování toku:

  • Výběr technologií: Zvolte technologie, které odpovídají nastaveným cílům z hlediska spolehlivosti, zabezpečení a výkonu.

  • Vývoj toku: Sestavte tok podle návrhu a mějte na paměti stanovené cíle.

  • Testovací tok: Proveďte testování, abyste zajistili, že tok splňuje cíle. Iterujte podle potřeby, aby bylo možné splnit cíle.

  • Monitorování: Implementujte monitorovací nástroje pro sledování využití prostředků a nákladů.

Pravidelně kontrolujte tok podle stanovených cílů a oborových standardů. Využijte zpětnou vazbu z monitorování a auditů ke zlepšení toku. Podle potřeby upravte cíle a procesy tak, aby odpovídaly měnícím se obchodním potřebám nebo technologickému pokroku.

Optimalizace toků

Opakujte proces definovaný v tomto článku v průběhu životního cyklu toku. Při iteraci návrhu toku využijte Well-Architected Framework k optimalizaci toků z pohledu jednotlivých pilířů:

Příklady toku

Tady je několik příkladů toků, které vám pomůžou při návrhu toků. Příklady používají referenční architekturu spolehlivého vzoru webové aplikace jako základ a zobrazují dokumentaci, kterou byste měli mít k jednotlivým tokům.

Diagram znázorňující příklad toku založeného na Relecloudu

Tok uživatele 1: Vytváření nadcházejících koncertů

Popis toku: Zaměstnanci call-center používají aplikaci k vytvoření nadcházejícího koncertu.

  • Obchodní procesy: Tento tok podporuje proces nákupu lístku lístku , ale je asynchronní, což snižuje jeho důležitost.

  • Vlastník procesu: Ředitel prodeje.

  • Účastníci: Prodejní oddělení, plánování a provoz koncertů, tým platformy a aplikační tým.

  • Cesty eskalace: Tým aplikací, tým platformy a pak prodejní oddělení.

  • Obchodní dopad: Tento tok je důležitý pro zpřístupnění nových koncertů na prodejních platformách, což přímo ovlivňuje hlavní tok výnosů firmy. Pokud zaměstnanci call center nemůžou kvůli nedostupnosti tohoto toku vytvářet koncerty, negativně to ovlivní výnosy i reputaci společnosti. Vysoká dostupnost ale není pro tento proces nezbytná, protože koncerty jsou obvykle naplánovány předem na týdenní bázi. Obchodní oddělení určilo požadavek na 95% dostupnost pro tento proces a je vhodné pro účely údržby prostojovat mimo pracovní dobu.

  • Hodnocení závažnosti: Nízká.

Tok uživatele 2: Hledání koncertů

Popis toku: Zaměstnanci call-center používají aplikaci k vyhledávání nadcházejících koncertů.

  • Obchodní procesy: Tento tok podporuje proces nákupu lístku lístku , ale zaměstnanci call center se můžou rozhodnout, že vypíše všechny koncerty, pokud není dostupná funkce vyhledávání.

  • Vlastník procesu: Oddělení uživatelského prostředí

  • Zúčastněné strany: Prodejní oddělení, tým platformy a aplikační tým.

  • Cesta eskalace: Tým aplikací, tým platformy, manažer obchodního oddělení na zavolání.

  • Obchodní dopad: Tento tok umožňuje zaměstnancům call center rychle najít koncerty a je součástí běžného prodejního procesu. Vysoká dostupnost tohoto toku není důležitá, protože zaměstnanci mají možnost vypsat koncerty i v případě jeho nepřítomnosti. To může snížit zkušenosti zaměstnance call centra, což může snížit a ovlivnit produktivitu. Zákazníci můžou zaznamenat frustraci z důvodu delších čekacích dob nebo zpoždění. Prodejní oddělení požádalo o 99% dostupnost tohoto toku během běžné pracovní doby.

  • Hodnocení závažnosti: Střední.

Tok uživatele 3: Získání seznamu koncertů

Popis toku: Zaměstnanci call-center používají aplikaci k získání seznamu koncertů.

  • Obchodní procesy: Tento tok přímo podporuje proces nákupu lístku .

  • Vlastník procesu: Ředitel platformy.

  • Účastníci: Prodejní oddělení, tým platformy, datový tým.

  • Cesta eskalace: Datový tým, technik na zavolání datového týmu, technik on-call týmu platformy.

  • Obchodní dopad: Tento tok je nedílnou součástí kritické cesty transakcí generovaných výnosy pro firmu. Vysoká dostupnost je nezbytná, protože zaměstnanci call center se při zpracování nákupů lístků spoléhají na tento tok. Jako uznání jeho důležitosti firma požaduje 99,9% dobu provozu pro tento tok, což zahrnuje prodlouženou pracovní dobu.

  • Hodnocení závažnosti: Vysoká.

Tok uživatele 4: Nákup lístku

Popis toku: Zaměstnanci call-center používají aplikaci (proces ověřování a autorizace ) k nákupu lístků na nadcházející koncert ( seznam nadcházejících koncertů ) jménem zákazníků Relecloudu.

  • Obchodní procesy: Tento tok je základní funkcí a tokem aplikace.

  • Vlastník procesu: Ředitel prodeje.

  • Účastníci: Obchodní oddělení a všechny technické týmy.

  • Cesta eskalace: technik na zavolání aplikačního týmu, technik on-call týmu platformy, datový tým on-call inženýr, provozní ředitel.

  • Dopad na firmy: Vysoká dostupnost tohoto toku je zásadní, protože přímo umožňuje nákupy lístků zákazníků. Jakékoli selhání nebo nedostupnost tohoto toku může výrazně ovlivnit výnosy i pověst společnosti. Firma nastavila pro tento důležitý proces přísný požadavek a očekávala 99,9% dobu provozu, a to i během delší pracovní doby.

  • Hodnocení závažnosti: Vysoká.

Tok uživatele 5: Ověřování a autorizace

Popis toku: Zaměstnanci call-center se bezpečně přihlašují k aplikaci. Správci jim poskytují správné role pro nákup lístků jménem zákazníků Relecloudu.

  • Obchodní procesy: Tento tok přímo podporuje proces nákupu lístku . Bez této funkce se zaměstnanci call center nemůžou přihlásit k aplikaci, aby si koupili lístky.

  • Vlastník procesu: Tým platformy.

  • Účastníci: tým platformy, provozní tým a prodejní oddělení.

  • Cesta eskalace: Technik on-call týmu platformy, provozní ředitel.

  • Obchodní dopad: Tento tok vyžaduje vysokou dostupnost, protože zaměstnanci call center si nemůžou koupit lístky, pokud tento tok nefunguje správně. Pokud tento tok není k dispozici, má přímý vliv na výnosy a reputaci. Jedná se o klíčový proces, u kterého firma očekává 99,9 % provozuschopnosti, a to i během delší pracovní doby.

  • Hodnocení závažnosti: Vysoká.

Tok systému: Shromažďování telemetrických dat

Popis toku: Webové aplikace a instance rozhraní API shromáždí a odesílají informace, chyby a upozornění, aby porozuměly změnám stavu v produkčním systému. Tato data pomáhají provoznímu týmu s detekcí anomálií, odstraňováním potíží a profilací.

  • Obchodní procesy: Tento tok nepodporuje žádné obchodní procesy, ale poskytuje důležitá data provoznímu týmu.

  • Vlastník procesu: Provozní ředitel.

  • Účastníci: Provozní tým, tým platformy a datový tým.

  • Cesta eskalace: Provozní tým (24/7), technik na zavolání datového týmu.

  • Obchodní dopad: Tento tok je nezbytný pro monitorování a neustálé zlepšování firmy. Musí být co nejvíce redundantní a odolná. Provozní tým zodpovídá za rychlé obnovení tohoto toku po jakémkoli selhání, aby nedošlo k chybějícím důležitým informacím a upozorněním. Pokud se toku nepodaří dosáhnout očekávané dostupnosti, existuje riziko přehlédnutí produkčních problémů, což může vést k vážným důsledkům. Aby se toto riziko zmírnilo, provozní oddělení usiluje o 99% dobu provozu, a to 24/7. Musí naplánovat výpadek související s údržbou alespoň 48 hodin předem.

  • Hodnocení závažnosti: Střední.