Manažerský informační systém pro automatizaci a digitalizaci firemních procesů, postavený nad Microsoft Power Platform
TALXIS | Design sprint
Představte si informační systém, který si poskládáte podle vlastních představ a upravíte na míru přímo Vašim potřebám.
Poslední úprava 11/27/24, 12:11 PM
Vývoj softwarových řešení má často zpoždění a vyžaduje dodatečné peníze a úpravy. Bez jasné definice požadavků od samého začátku projektu však tráví vývojové týmy příliš mnoho času řešením neoptimálně specifikovaných problémů a předěláváním již hotových řešení. Jak bychom mohli zjednodušit proces definice požadavků a urychlit vývoj?
Design Sprint je metoda, která pomáhá jasně definovat požadavky na systém a díky tomu zkracuje dobu vývoje a zajištuje vyšší spokojenost s dodaným řešením. V rámci několika sezení umožní rychle navrhnout požadovaný systém a jeho výstupy (sada interaktivních obrazovek a základní backlog) společně nahrazují potřebu rozsáhlé dokumentace, která velmi rychle přestává být aktuální. Tento přístup zdůrazňuje důležitost určité úrovně plánování, ale zároveň se snaží vyhnout přílišnému detailnímu návrhu celého systému (jaký využívá například přístup BDUF, který se projevil jako nevhodný kvůli pomalým reakcím na měnící se požadavky).
Tvorba a prezentace prototypů klientovi již v úvodní fázi projektu umožňuje konzultantům hlubší zamyšlení nad tím, jak bude produkt fungovat jako celek. Tím se zlepšuje celková struktura navržených řešení, plánování závislostí a přesnost implementačních úkolů.
Úpravy a změny prováděné během prototypování jsou také značně levnější, než změny prováděné nad hotovým vyvinutým produktem.
Balíčky Design Sprintu
Navrhování systému je náročná disciplína a my věříme, že Design Sprint je nejoptimálnější cesta, jak tuto výzvu zvládnout. Běžné specifikace rychle zastarávají a zadání se v průběhu projektu neustále vyvíjí. Změny se také implementují mnohem efektivněji a levněji během prototypování, než když je produkt již hotový. Z těchto důvodů je Design Sprint pro naše zákazníky nejen doporučený, ale i povinný.
Nabízíme několik balíčků Design Sprintu, které jsou přizpůsobeny různým úrovním připravenosti vašeho zadání a požadavkům na přesnost výsledků a odhadu ceny řešení. Hlavní rozdíl se nachází v počtu prototypovacích iterací a přesnosti, se kterou budou navržené obrazovky odpovídat očekáváním. Ve vyšších balíčcích je také dána větší časová dotace pro zkultivování backlogu. Je důležité důkladně zvážit, který z těchto balíčků nejlépe odpovídá vašim potřebám a očekáváním – čím méně pozornosti se věnuje projektu v přípravné fázi, tím větší se stává riziko nepřesného odhadu a pozdějších úprav.
Review
Dva prototypovací workshopy a x zrevidovaných obrazovek.Minimální rozsah pro klienty s jasně připraveným zadáním.
Základní návrh dostačující menším či dobře navrženým systémům
Obsáhne pouze základní kostru systému a cena řešení bude velmi přibližná
Dva prototypovací workshopy a x zrevidovaných obrazovek
Na obrazovky je možné poskytnout zpětnou vazbu dvakrát
Cenové odhady tohoto balíčku se mohou lišit o ±400 %, konečná cena bude tedy v rozmezí 25 % až 400 % odhadu
Regular
Dva prototypovací workshopy a x zrevidovaných obrazovek.Ideální řešení pro klienty, kteří už mají základní představu, ale nejsou si s ní naprosto jisti .
Rozšířený návrh ideální pro většinu systémů
Zahrnuje všechny klíčové části systému a přesnější cenu řešení
Tři prototypovací workshopy a x zrevidovaných obrazovek
Na obrazovky je možné poskytnout zpětnou vazbu třikrát
Cenové odhady tohoto balíčku se mohou lišit o ±100 %, konečná cena bude tedy v rozmezí 50 % až 200 % odhadu
Detailed
Dva prototypovací workshopy a x zrevidovaných obrazovek.Nadstandardní balíček pro ty, kteří potřebují vysokou přesnost odhadů a větší míru detailu.
Komplexní a detailní návrh určený pro kritické systémy
Pokrývá většinu obrazovek v systému a dodává velmi přesnou cenu řešení
Čtyři prototypovací workshopy a x zrevidovaných obrazovek
Na obrazovky je možné poskytnout zpětnou vazbu až čtyřikrát
Cenové odhady tohoto balíčku se mohou lišit o ±50 %, konečná cena bude tedy v rozmezí 50 % až 150 % odhadu
Proces Design Sprintu
Obvykle se koná před prvním vývojovým sprintem. Zákazník a dodavatel společně doplní podklady o doplňující informace a UI designer obratem vytvoří návrhy uživatelského rozhraní („prototypy“) aplikace, které tyto informace zakomponují a které tvoří základ pro samotný vývoj aplikace.
Během Sprintu se zákazník s dodavatelem setkají, rozdělí projekt na menší části, určí jejich důležitost podle celkové hodnoty („Impact Value Analysis“) a počínaje tou nejdůležitější navrhnou, jak by mohly být tyto části v aplikaci navrženy.
Návrhy uživatelského rozhraní jsou osvědčeným způsobem, jak rychle přijít na chybějící informace a dosáhnout shody o konečných požadavcích. Čím více času a zdrojů je investováno do designu na začátku, tím lépe se vyplní očekávání a minimalizují se budoucí změny. Tým se pokusí výstupní materiály připravit v podobě, která bude využitelná jako návrh řešení i v případě, že bude pro implementaci zvolena jiná platforma, případně jiný dodavatel.
Je také na místě zmínit, že jsme si koncept Design Sprintu přizpůsobili tak, aby lépe vyhovoval našim projektovým potřebám. Na rozdíl od tradičních pětidenních sprintů, které se soustředí na specifické funkce, provádíme více dvoudenních iterací, které mají za cíl pokrýt všechny základní funkcionality projektu.
Naše provedení Design Sprintu
Náš koncept Design Sprintu se skládá ze dvou částí:
Workshopy, kde se projekt rozdělí na menší části prioritně seřazené podle určeného dopadu na společnost metodou Impact Value Analysis (IVA)
Prototypovací iterace, skládající se z několika kol, přičemž každé se soustředí na menší části projektu. Prototypované oblasti budou vybrány dle priority a dopadu dle závěrů z IVA workshopu
Samotný proces Design Sprintu jsme si přizpůsobili tak, aby lépe vyhovoval našim projektovým potřebám. Na rozdíl od tradičních pětidenních sprintů, které se soustředí na specifické funkce, provádíme několikero dvoudenních iterací a snažíme se s jejich pomocí v prototypech pokrýt všechny základní funkce projektu. Čím více iterací provedeme, tím více vznikne prototypů.
Fáze jedné iterace Design Sprintu:
Porozumění problému – Analýza klíčových výzev a definice cílů sprintu
Návrhy a nápady –Sesbírání široké škály nápadů a řešení
Rozhodování – Výběr nápadů s největším potenciálem pro další rozvoj (pomocí technik hlasování a prioritizace)
Prototypování – Rychlé převedení vybraných nápadů do prototypů
Potvrzení – Shromažďování zpětné vazby pro ověření správného navržení prototypu
Aktivity Design sprintu
Indikativní přehled průměrně stráveného času na aktivitách. Reálně strávený čas při poskytování služeb se může v jednotlivých měsících lišit. Dodavatel je povinen rezervovat čas techniků, pracovat mimo běžnou pracovní dobu a nést riziko nerovnoměrného vytížení zdrojů.
Fáze
Popis aktivity
Ø trvání úkonu
Odhadovaný počet úkonů
Review
Regular
Detailed
Analýza
Schůzka u klienta za účelem validace hlavních cílů sprintu
2 h
2x
2x
2x
Zpracování výstupní dokumentace
–
✔
✔
✔
Příprava prototypů
Prototypovací workshop u balíčků Regular a Detailed mají workshopy 4h
2 h
3x
8x
10x
Výroba a úprava prototypů
60 min
5x
20x
30x
Návrh řešení a prezentace
Validace high-level designu a odhadů
–
✔
✔
✔
Workshop pro představení výstupů
3 h
1x
1x
1x
Jak zapadá Design Sprint do konceptu agile?
-+Srovnání dvou základních přístupů k vývoji
Vývoj softwaru je svým způsobem umění a existuje mnoho různých cest, jak k němu přistupovat. Pro pochopení konceptu Design Sprintu si nyní představíme dvě z hlavních – waterfall a agile.
Metodika Waterfall je model vývoje softwaru, který postupuje lineárně a sekvenčně od jedné fáze projektu k další. Každá fáze (analýza, návrh, implementace, testování, nasazení, správa) musí být kompletně dokončena předtím, než se přejde k další. Tento model spoléhá na přesné a důkladné plánování a pevně dané specifikace na začátku projektu – to je ovšem v prostředí vývoje moderního software takřka nemožné.
Model také ze své podstaty ztěžuje adaptaci na změny požadavků během vývoje. Zákazník je obvykle zapojen především na začátku při schvalování specifikací a poté až na konci při předávání hotového produktu. Pokud se ale během vývoje změní cíle či představy zákazníka, je velmi obtížné a nákladné dodané řešení upravit, což vede ke zpožděním a vyšším nákladům.
Agile je na druhou stranu flexibilní a iterativní přístup k vývoji softwaru, který se zaměřuje na průběžný vývoj a pravidelné dodávky funkcionalit. Projekt je v něm rozdělen do krátkých iterací a na konci každé iterace je zákazníkovi prezentována fungující část produktu. Tento přístup umožňuje týmu rychle reagovat na změny požadavků, které mohou vzniknout v průběhu vývoje, a okamžitě získávat zpětnou vazbu od zákazníka.
V metodice Agile je zákazník více zapojený do procesu vývoje a má větší kontrolu nad výsledným produktem. Díky pravidelným prezentacím a úzké spolupráci s týmem může zákazník průběžně ovlivňovat směr vývoje a zajistit, že konečný produkt lépe odpovídá jeho potřebám a očekáváním.
Vzhledem k našim zkušenostem používáme na všech projektech metodiku Agile.
-+Proč je Design Sprint lepší než analýza požadavů v kombinaci s FDD a TDD?
Feature-Driven Development (FDD) se zaměřuje na průběžné dodávání funkčních částí, zvaných features. Jejím cílem je rychle poskytovat hmatatelné výsledky a na jejich základu zlepšovat produkt v krátkých, opakovaných cyklech. Test-driven development (TDD) pak klade důraz na psaní testů ještě před implementací kódu, čímž by v teorii měla pomocí vývojářům s pochopením požadavků, usnadněním údržby a zmenšením refaktoringu.
Běžně se pak používají v kombinaci s detailní analýzou požadavků jako základ vývoje. Jejich výsledkem bývají obsáhlé dokumentace, která velmi rychle zestárnou a často nepokryjí klíčové části systému – čistě z toho důvodu, že je pro lidi těžké vnímat a sepsat tak velké množství informací, jaké si žádá komplexní IT systém.
Byť jdou výše zmíněné přístupy správným směrem, chybí jim jeden klíčový prvek – vizualizace. Při prototypování obrazovek se totiž zákazník nad systém začne zamýšlet jinou cestou, než při sepisování požadavků, a často přijde na další souvislosti. I pro analytiky je proces prototypování užitečný – sledujeme, jak zákazník nad řešením přemýšlí, a můžeme ho při návrzích na základě našich zkušeností usměrňovat.
Díky zapojení zákazníka do návrhu výsledného navržení systému se předchází předělávání již hotových řešení a vytvořené specifikace zůstává déle aktuální. Validování a grafické navrhování myšlenek přináší nové koncepty a ladí očekávání obou stran.
-+Jak vypadá správně a jak špatně definovaný požadavek?
Správně definovaný požadavek by měl být stručný a přesný, aby byl srozumitelný a efektivně zpracovatelný při pohledu na celý backlog. Definujme si strukturu požadavku. Jeho název by měl být krátký a výstižný, například „Vytvoření a správa faktur“ nebo „Správa kampaní a nabídek“. Neměl by obsahovat postavy ani hlubší popis.
Více do detailu se dostaneme v samotném popisu požadavku. Ten by měl začínat definicí uživatelského příběhu (kdo, co, proč?): Jako <persona>, chci <udělat něco> tak, aby <přidaná hodnota>.
Např. Jako zákazník e-shopu chci mít možnost uložit si oblíbené produkty, aby se mi při další návštěvě snáze vybíralo.
Také může být v případě potřeby přidán stručný popis, který požadavek více rozebere. Špatně definované požadavky nedodržují výše popsanou strukturu nebo zahrnují dlouhé a nepřehledné popisy.
Správně definované požadavky
Vytvoření a správa faktur Jako účetní chci mít možnost vytvářet a spravovat faktury, aby byl účetní proces efektivnější.
Správa kampaní a nabídek Jako marketér chci spravovat kampaně a nabídky, abych mohl snadno aktualizovat marketingové materiály.
Přidání platebních metod Jako zákazník chci mít možnost přidat více platebních metod, aby moje platby byly flexibilnější.
Špatně definovaný požadavek
Vytvoření a správa faktur Vytvořit komplexní systém pro správu faktur pro malé a střední podniky, který by zahrnoval automatické generování faktur, jejich odesílání zákazníkům a sledování platby Komentář: Tento požadavek je příliš komplexní a míchá více funkcí do jednoho požadavku. Také nedodržuje strukturu požadavků.
Zlepšení uživatelského rozhraní Uživatelské rozhraní by mělo být přehlednější Komentář: Nadpis a popis jsou příliš vágní, bez konkrétního uživatelského příběhu a specifikace
Specifika Design Sprintu
-+Co z Design Sprintu získám?
Hlavní přínos Design Sprintu spočívá v rychlejší a přesnější cestě od identifikace problému k navržení řešení. Díky detailnímu zadání a včasné identifikaci možných komplikací se výrazně snižují náklady na vývoj a pozdější úpravy produktu.
Mezi praktické výstupy patří:
Prototypy obrazovek systému Každý Design Sprint vyústí v interaktivní návrhy obrazovek, které zahrnují vše od menu, přes tlačítka a tabulky, až po detaily záznamů. Tyto prototypy jsou již upravené na základě zpětné vazby a diskuse se zákazníkem a poskytují pevný základ pro další rozvoj a iterace projektu.
Soupis nových poznatků a rizik Během Sprintu přijdeme na možná rizika, které by se jinak objevila až v průběhu vývoje. Všechna zjištěná rizika, která ovlivňují komplexitu dodání projektu (jako jsou požadavky uživatelů, omezení integrací nebo technické specifikace) sepíšeme do jednoho dokumentu. Jejich včasné rozpoznání umožní zavést preventivní opatření dříve, než by se mohla stát pro projekt kritickými.
IVA Diagram Klíčový výstup IVA analýzy, který zobrazuje oblasti přínosu a dopadu, způsoby naplnění požadavků a identifikovaná rizika. Poskytuje vizuální přehled o klíčových aspektech projektu a je nástrojem pro účelné rozhodování a řízení projektu. Týmy pomocí něj mohou lépe pochopit potenciální výzvy a příležitosti.
Indikativní nabídka projektu Poskytuje nezávazný cenový odhad projektu, který je vytvořen na základě Design Sprintu.
Rozpad projektu na dílčí části Základní rozpad projektu pro přípravu backlogu, a to do úrovně Features, seřazen podle priority a rozdělen do navrhovaných iterací dodání.
-+Jaké podmínky musí být splněny pro úspěšný Design Sprint?
Všichni zúčastnění mají na dobu Design Sprintu vyhrazený čas tak, aby se mohli zúčastnit osobně a následně se připravili na další setkání
Experti zákazníka mají připravené podklady od uživatelů (například procesní mapy nebo přístupy do systémů pro demonstrace)
Vybraní uživatelé zákazníka mají vyhrazený čas na pomoc s otázkami expertů, pokud na ně nedokážou nalézt odpověď členové týmu Design Sprintu
Vybraní uživatelé mimo tým mají vyhrazený čas v posledním dnu, kdy budou testovat prototyp
Všem členům týmu byly nasdíleny komunikační kanály a nástroje, které budou během Sprintu používány (např. Teams nebo FigJam)
-+Jaké role by se měly účastnit?
Pro efektivní průběh Design Sprintu je doporučena přítomnost následujících osob:
Workshopy IVA analýzy
Product Owner – Nastavuje a upřesňuje dlouhodobou vizi projektu a jeho výsledku, dohlíží na průběh Sprintu a přípravu ze strany zákazníka, upřesňuje podmínky pro schválení designu dílčích částí
Sponzor – Reprezentuje finanční zájmy zákazníka a zodpovídá za správnou prioritizaci dílčích částí z pohledu finanční návratnosti.
Manažeři s odpovědností za funkční oblasti, které bude systém pokrývat –Upřesňují stávající komplikace, strategická rozhodnutí a detail procesů, které jsou předmětem implementace
Iterace prototypování vybraných částí projektu
Zákazník
Specialista se znalostí konkrétních procesů – Reprezentuje typického koncového uživatele, zná jeho každodenní práci a problémy a dokáže odpovědět na otázky dodavatele spojené s jeho činností. Pokud je třeba, může se těchto expertů zúčastnit více.
Technický specialista – Reprezentuje IT oddělení a dokáže odpovědět na technické otázky dodavatele, jako využití integrací nebo přihlašování.
Klíčoví uživatelé –Přítomní až na poslední iteraci, vyzkouší siprototypy a poskytnou zpětnou vazbu
Dodavatel
Business analytik – Pomáhá pokládat návodné otázky, formulovat hlavní tezi a vytvářet strukturu v podobě funkčních oblastí, dopadů, rizik a způsobů řešení.
Moderátor diskuse – Kontroluje diskusi pro udržení efektivního postupu, pomáhá řešit konfliktní názory a ujišťuje se, že tým postupuje. Má na starosti zápis, myšlenkové mapy a definování úkolů.
UX designer – Přispívá do diskuse znalostmi o designu, připravuje návrhy GUI a prototypy.
Architekt řešení – Navrhuje konkrétní technická řešení a ujišťuje se, že návrhy týmu dodržují realistický standard proveditelnosti.
-+Budeme na konci Design Sprintu znát závaznou cenu za projekt?
Nikoliv. Během sprintu se soustředíme na identifikaci hlavních funkcí, které bude potřeba implementovat, a snažíme se získat celkový přehled o rozsahu potřebné práce. Detailní příprava a cenové odhady jsou zaměřeny primárně na první vývojový sprint. Čím více času a zdrojů věnujeme na počáteční fázi plánování a analýzu, tím přesnější a spolehlivější bude náš odhad nákladů na celý projekt. Nicméně, přesné a závazné číslo bude možné určit až s postupujícím vývojem a díky dalším iteracím.
-+Proč není bezpečně možné říct cenu již na začátku projektu?
Stanovit přesnou cenu na začátku projektu je problematické z několika důvodů, zejména kvůli proměnlivosti obchodního zadání v průběhu vývoje. V dynamickém prostředí softwarového vývoje se požadavky na projekt často vyvíjejí a mění v reakci na tržní podmínky, zpětnou vazbu uživatelů, nebo nové technologické možnosti. Tento neustálý vývoj požadavků znamená, že původní plány a odhady se mohou rychle stát neaktuálními.
Při použití metodiky jako Design Sprint se snažíme identifikovat hlavní funkce a získat přehled o potřebné práci, ale podrobná specifikace a celkové náklady se mohou během projektu značně lišit. Přesnější odhady lze obvykle získat po provedení několika iteračních cyklů, kde každý sprint přináší lepší pochopení celkového rozsahu a složitosti projektu.
Z tohoto důvodu je důležité přistupovat k odhadu nákladů flexibilně a očekávat, že finální cena projektu se může od původních předpokladů lišit. Proto se doporučuje stanovovat ceny postupně, s každým dalším sprintem, což umožňuje přizpůsobit rozpočet aktuálním potřebám a realitě projektu.
-+Detailní plán našich Design Sprintů
IVA analýza
Formulace a validace hlavní teze/cíle projektu
Identifikace pozitivních a negativních vlivů na naplnění cíle
Rozdělení projektu na skupiny business hodnot/dopadů
Zhodnocení priority každé části
Prioritizace a přiřazení do fází projektu
Návrh cílů minimum viable product (MVP)
Výběr částí vhodných pro prototypování – těch, které mají chybějící, nejasné nebo rozporuplné informace
Prototypování
První iterace prototypů
Společná část
Představení členů týmu
Výběr až tří nejdůležitějších oblastí, které je vhodné prototypovat pro nalezení ideálního řešení
Tvoření základních návrhů a diskuse
Individuální práce řešitelů
Rozeslání zápisů a dalších kroků
Příprava prototypu dodavatelem na základě náčrtů
Příprava dalších otázek vyplývajících z přípravy prototypů
Další iterace prototypů
Společná část
Prezentace připravených prototypů
Zpětná vazba na prototypy
Odpovědi na dotazy spojené s prototypy
Nové náčrty na základě zpětné vazby
Výběr nových částí aplikace, znovu podle důležitosti
Základní náčrty a diskuse
Individuální práce řešitelů
Stejné jako první den
Poslední iterace prototypů
Společná část
Stejné jako předchozí dny
Přidají se další uživatelé pro testování prototypů (s detailní dokumentací)
Posbírá se zpětná vazba od uživatelů
Již se nepokračuje dalšími návrhy změn, ale proběhne finální kontrola celého řešení
Konečné vyjádření členů týmu a brainstorming rizik na základě navrhnutého řešení