Všechno vyhodit

Backlog 47

Všechno vyhodit.

−847 řádků+12 řádkůnejlepší pull request roku

Rychlý návod na vývoj aplikací pro vývojáře a UX testery, kteří stavějí software pro advokátní kancelář.

Nejlepší kód je ten, který jste nemuseli napsat. Druhý nejlepší je ten, který jste smazali. Začněte tady: vyhoďte z backlogu všechno, co nepotřebuje uživatel.

backlog.md

13 z 13 položek
  1. Dashboard pro vedení se čtrnácti grafychtělo vedení, podívá se při spuštění
  2. Tmavý režimchtěl vývojář, v noci
  3. AI asistent v každém okněchtěla konference
  4. Export do PDF, Wordu, Excelu a faxupro jistotu
  5. Najít spis a nejbližší lhůtu do pěti vteřinchtěla Jarmila, potřebuje to každý den
  6. Notifikace o všem, bez možnosti vypnoutnikdo, ale už to tam je
  7. Odznaky a body za vyplněné formulářechtělo HR (ano, i my je máme)
  8. Vlastní editor šablon s drag & dropchtěl jeden partner, jednou
  9. Napojení na systém, který se příští rok rušíuž je to rozpracované
  10. Nastavení pro všechno, 142 přepínačůať si to každý upraví
  11. Úvodní průvodce na devět obrazovekaby to bylo intuitivní
  12. Vlastní chat uvnitř aplikaceprotože Teams nestačí
  13. Animované přechody mezi obrazovkamiaby to vypadalo draze

Všechno je důležité.

Tak to zní na každé poradě. Vyberte tři věci, na kterých aplikace stojí. Čtvrtou vám nedovolíme.

Zatím je důležité všechno. Tedy nic.

Jak se to dělá: Všechno je P1. Rozhoduje ten, kdo na poradě křičel naposledy.

Jak to dělat: Pořadí je rozhodnutí, ne seznam. Na sprint nejvýš tři priority, každá s jedním vlastníkem a jednou metrikou. Kdo chce čtvrtou, řekne, kterou z prvních tří vyhodí.

Desatero. Původně jich bylo 23.

Každé pravidlo jako diff: červeně, jak se to obvykle dělá, zeleně, jak to dělat. Pod tím jedna věta, podle které poznáte, že to opravdu děláte.

  1. Problém, ne funkce

    Jak se to dělá: Ředitel viděl na konferenci dashboard. Do pátku ho chce taky.

    Jak to dělat: Než napíšete řádek kódu, napište jednu větu: kdo potřebuje udělat co a proč to dnes nejde. Bez té věty se nezačíná.

    Poznáte to tak, že se věta vejde na lepicí papírek a dá se ověřit u konkrétního člověka.

  2. Když je důležité všechno, není důležité nic

    Jak se to dělá: Všechno je P1. Nejvíc P1 je to, co chtěl ten, kdo křičel naposledy.

    Jak to dělat: Pořadí je rozhodnutí, ne seznam. Na sprint nejvýš tři priority, každá s jedním vlastníkem a jednou metrikou. Zbytek je „později“.

    Poznáte to tak, že kdokoli z týmu odříká tři priority bez otevření backlogu.

  3. První verzi postavte na vyhození

    Jak se to dělá: Prototyp jsme ladili čtyři měsíce. Teď je škoda ho zahodit, tak běží v produkci.

    Jak to dělat: Klikací prototyp do dvou dnů, ověřit, zahodit, postavit pořádně. Fred Brooks to napsal už v roce 1975: první verzi stejně vyhodíte, tak ať je to aspoň v plánu.

    Poznáte to tak, že na prototypu není nic, čeho by vám bylo líto.

  4. Sedněte si vedle uživatele

    Jak se to dělá: Testovali jsme to na sobě. Funguje.

    Jak to dělat: Pět lidí, třicet minut každý, jeden úkol. Mlčte a dívejte se, kde zaváhají. Podle Jakoba Nielsena odhalí pět testerů většinu problémů použitelnosti.

    Poznáte to tak, že ke každému zaváhání uživatele existuje tiket.

  5. Jedna hlavní akce, pět stavů

    Jak se to dělá: Na úvodní obrazovku jsme dali všechno, ať to lidi najdou. Když se něco pokazí, ukážeme Error: undefined.

    Jak to dělat: Každá obrazovka existuje kvůli jedné akci a ta je vizuálně nejsilnější. A má víc stavů než ten šťastný: načítání, prázdno, žádný výsledek, chyba, chybějící oprávnění. Chybová hláška říká, co se stalo a co dělat dál.

    Poznáte to tak, že nový uživatel do pěti vteřin ukáže, co má udělat, a návrh každé obrazovky má pět stavů, ne jeden.

  6. Rychlost je funkce

    Jak se to dělá: Načítá se to deset vteřin, ale je tam hezký spinner.

    Jak to dělat: Do 0,1 s působí odezva okamžitě, do 1 s udrží uživatel myšlenku, po 10 s odchází jinam. Co trvá déle, ukazuje průběh a jde zrušit. Odpověď AI streamujte.

    Poznáte to tak, že hlavní akce má změřený čas a test v CI hlídá, aby se nezhoršil.

  7. AI navrhuje, člověk schvaluje

    Jak se to dělá: Agent to poslal klientovi rovnou. Ušetřili jsme jeden krok. A jednoho klienta.

    Jak to dělat: Výstup AI je vždy návrh: ukazuje zdroje, změny proti předloze a míru jistoty a ven odchází až po vědomém kliknutí na „Schválit“ nebo „Opravit“. Pilot je člověk, stroj je kopilot.

    Poznáte to tak, že nic z AI neodejde ven bez kliknutí člověka a to kliknutí je v logu.

  8. Malé kroky s cestou zpět

    Jak se to dělá: Velký release v pátek v pět. Co by se mohlo pokazit.

    Jak to dělat: Malé změny, často, každá přes automatické testy. Nové věci schované za přepínačem (feature flag). Nasazení je nuda a každá změna jde vrátit do pěti minut.

    Poznáte to tak, že rollback jste letos aspoň jednou cvičně spustili.

  9. Data klientů od prvního commitu

    Jak se to dělá: Hesla jsou v repozitáři. Repozitář je soukromý. Většinou.

    Jak to dělat: Role a práva od začátku, tajné klíče mimo kód, logy bez osobních údajů, testovací data vymyšlená. S daty klientů zacházejte, jako by je četl advokát protistrany.

    Poznáte to tak, že jste se pokusili aplikaci rozbít pod účtem bez adminských práv.

  10. Měř a vyhazuj

    Jak se to dělá: Funkci nikdo nepoužívá, ale někdo ji kdysi chtěl, tak ji udržujeme. Navždy.

    Jak to dělat: Každá funkce dostane při narození metriku a datum přezkumu. Co 60 dní nikdo nepoužil, schovejte. Co nikomu nechybí dalších 30 dní, smažte i s kódem.

    Poznáte to tak, že jste za poslední kvartál smazali víc, než by se vám chtělo přiznat.

Standardní prvky. Nevymýšlejte je.

Uživatel je zná z každé jiné aplikace. Když je uděláte po svém, nebude to originální, bude to matoucí. Deset vzorů, které se opakují pořád dokola, každý s ukázkou na vyzkoušení.

Opravdu smazat?

ukázkavyzkoušejte všechny tři

Zkuste smazat. Dialog se zeptá, ale neřekne na co, a hlavní tlačítko je OK. Přesně tohle lidé odklikávají naslepo.

Spis 2026/118, Novák s.r.o.

14 dokumentů, 3 lhůty

Špatně: Dialog „Opravdu?“ s tlačítky OK a Zrušit u každé akce. Třetí den ho každý odklikne bez čtení.

Dobře: Ptejte se jen u nevratných akcí a řekněte, co přesně zmizí. Tlačítko nese sloveso: „Smazat spis“, ne „OK“. U vratných akcí žádný dialog, jen lišta „Smazáno. Vrátit“ na pár vteřin.

  • Nebezpečné tlačítko je červené, ale není předvybrané. Fokus začíná na „Zrušit“.
  • Escape dialog zavře a fokus se vrátí na tlačítko, které ho otevřelo.
  • U opravdu velké škody nechte uživatele opsat název, třeba spisovou značku.

Ano, nebo ne?

24 tvrzení z vývoje a UX. U každého hned uvidíte, proč to tak je, a kde si to přečíst. Za správnou odpověď bod.

Zhruba pět minut. Polovina tvrzení platí, polovina ne, takže hádání nepomůže. Na klávesnici odpovídá A pro ano a N pro ne.

Rekord v tomto prohlížeči
0/24

Kvíz je statický a stejný pro všechny. Odpovědi a vysvětlení napsal člověk a nic se nikam neposílá.

Slovník pro ty, kdo přišli o stand-up.

Vlevo to, co zazní. Vpravo to, co se stane.

Všechno je důležité
Nic není důležité, jen hlasité.
Jen drobná úprava
Migrace databáze a jeden víkend.
U mě to funguje
Do produkce nasadíme tvůj notebook.
Je to intuitivní
Nikdo to netestoval.
Dáme tam tooltip
UX jsme vzdali, k omluvě přidáme otazník.
Uživatelé to chtějí
Jeden uživatel. Ředitel.
MVP
Minimum, které jsme stihli, prodané jako strategie.
Technický dluh
Úvěr bez splátkového kalendáře. Úroky platí příští tým.
Refaktoring
Přepis, na který nebyl tiket.
Hotfix
Oprava, která za týden dostane vlastní hotfix.
Škálovatelné
Spadne až u druhého uživatele.
Agent to zvládne
Agent to tvrdí.
Dáme to do backlogu
Pohřbeno se všemi poctami.
Edge case
Jarmila v pondělí ráno.
Pixel perfect
Na monitoru grafika. Jinde ne.
Uživatel je zvyklý
Uživatel to vzdal.
Tmavý režim
Priorita číslo jedna, když nikdo neví, co dál.
Velký release
Malá katastrofa s dlouhou přípravou.

Kolik stojí funkce navíc.

Posuňte jezdec. Každá funkce se jednou napíše a pak se navždy udržuje, testuje a vysvětluje.

Předpoklady modelu: 6 člověkodnů na funkci, roční údržba 2,5 člověkodne, sazba 8 000 Kč za člověkoden. Satira. Jen počet dvojic satira není: n funkcí dává n × (n − 1) / 2 kombinací, které spolu můžou kolidovat.

Dopad 8 funkcí navíc
Vývoj48 člověkodnů
Údržba každý rok20,0 člověkodnů
Dvojice funkcí, které spolu můžou kolidovat28
Nových přepínačů v nastavení24
Uživatelů, kteří najdou, co hledají51 %
Cena v prvním roce544 000 Kč
Čistý přínoszáporný, v prezentaci ale roste

Kontrola před releasem.

Stroj staví, vy jste pilot. Než to pustíte ven, odklikněte všech dvanáct. Kdo checklist přeskočí, letí naslepo.

0/12

Zatím letíte naslepo.

Časté otázky.

Kolik funkcí má mít první verze?

Jednu. Druhou přidejte, až někdo začne používat tu první.

Vedení chce dashboard. Co s tím?

Zeptejte se, jaké rozhodnutí z něj v pondělí udělá. Když žádné, je to tapeta. Tapetu stačí poslat jako jeden e-mail týdně a ušetříte čtyři sprinty.

Máme dělat tmavý režim?

Až bude hotový ten světlý.

Kdo rozhoduje o prioritách?

Jeden člověk se jménem. Když rozhodují dva, rozhoduje ten hlasitější, a to je ta horší varianta.

Kdy přepsat aplikaci od nuly?

Když umíte napsat seznam věcí, které se v nové verzi nesmí opakovat. Bez něj napíšete stejnou aplikaci znovu, jen novější.

Nahradí AI vývojáře?

Píše kód rychleji než vy. Mazat ho nechce. Rozhodnout, co nepostavit, zůstává vám.

Má se tedy opravdu všechno vyhodit?

Ne. Vyhoďte všechno, co nepotřebuje uživatel. Zbytek dotáhněte pořádně: rychlé, srozumitelné, otestované, s cestou zpět. To je celé.