Rozdíl mezi demem a nástrojem na každodenní použití
Demo musí fungovat jednou, pro publikum, které už chápe kontext. Produkční systém musí fungovat každý den, pro lidi, kteří nikdy neviděli prezentaci, kteří ho budou používat pod časovým tlakem a kteří dřív nebo později narazí na hraniční případ, se kterým nikdo nepočítal.
Napříč různými projekty — interní systémy, zákaznické platformy, tržiště — se opakuje stejná lekce: funkce, které dostávají nejvíc pozornosti při plánování, jen zřídka způsobují problémy v produkci. Ty způsobují ty nenápadné části: oprávnění, konzistence dat, ošetření selhání integrací a to, co se stane, když je API třetí strany pomalé, nebo prostě chybné.
Reální uživatelé najdou cesty, se kterými nikdo nepočítal
Uživatelé nepoužívají software tak, jak byl navržený — používají ho tak, jak jim to umožňuje, a to není vždy totéž. Systémy agregující data z externích zdrojů jsou dobrým příkladem: v okamžiku, kdy je potřeba znormalizovat několik externích formátů do jednoho konzistentního modelu, se hraniční případy rychle množí a agregační vrstva se stává jednou z nejdůležitějších — a nejvíc testovaných — částí systému.
Totéž platí pro systémy s rolemi a několika odlišnými typy uživatelů. Rozdíl mezi „role jsou definované" a „model oprávnění byl otestovaný proti každému workflow, které reálný uživatel skutečně použije" je místo, kde žije většina produkčních problémů.
Co si po spuštění skutečně vysloužíte důvěru
Ne delší seznam funkcí — systém, který se dál chová předvídatelně, jak roste reálné používání. To znamená monitoring, který odhalí problém dřív, než ho nahlásí uživatel, nasazovací proces natolik nudný, že se ho nikdo nebojí spustit, a tým, který zůstává zapojený i po spuštění, místo aby bral launch jako cílovou čáru.
Projekty, které nakonec mají pro lidi, kteří je používají, skutečnou hodnotu, bývají zřídka ty technicky nejambicióznější. Jsou to ty, kde si tým v každé fázi pořád kladl otázku, jestli systém opravdu někomu usnadňuje každodenní práci — a dál to upravoval, dokud odpověď nebyla ano.



