Jak přejít z dobrého na skvělý

Toto je úvod do vícedílné série, kde zkoumáme, jak zefektivnit a škálovatelnost procesů front-endového vývoje - abychom zrychlili výrobu lepšího produktu.

„Skupina lidí, kteří debatují o notebooku a listech papíru“ od Štefana Štefančíka na Unsplash

Budování skvělého produktu často není samostatným úsilím. Nejkomplikovanější nastavení by zahrnovalo více týmů kreativity, marketingu, produktů a technologií. I když jste společnost jedné společnosti, budete muset komunikovat s uživateli a získat zpětnou vazbu o tom, co pro ně funguje. Tento iterativní rámec procesu cyklického návrhu, který má zlepšit kvalitu a funkci, se běžně označuje jako pracovní postup agilní iterace.

Čím rychleji dokážete iterovat, tím lepší bude váš produkt.
„Agilní iterační pracovní postup“ od společnosti Smartsheet

Ve společnosti StashAway, když tým front-end poprvé začal stavět webový produkt, jsme zahájili zrychlenou časovou osu a procesy vývoje a správy produktů byly méně přísné. Nyní, kdy produkt dozrává a jak se zkoumá a přidává více funkcí, se snažíme vylepšit a zpřísnit náš proces budování lepší a škálovatelnější architektury front-end produktu. Naše současné nastavení by nám neumožnilo efektivně škálovat, pokud jde o nabídky funkcí a rozšíření o zemi.

Abychom mohli vytvořit skvělý produkt, musíme zdokonalit iterační pracovní postup. Existuje mnoho literatury o řízení produktů, která není předmětem této řady článků. Chceme prozkoumat, jak být rychlejší s iteracemi ve fázi prototypování a budování, a abychom toho dosáhli, budeme muset formalizovat vnitřní procesy vývoje a schvalování našeho týmu, abychom mohli efektivněji spolupracovat s našimi tvůrčími a produktovými týmy. . Myslíme si, že toho můžeme dosáhnout využitím kontinuální integrace a toku dodávek ve spojení s širším pracovním postupem iterace produktů, jak bylo uvedeno dříve.

Naším cílem je nakonec přistoupit k deklarativnímu programovacímu paradigmatu, které vyjadřuje to, co chceme v našich aplikacích dělat, namísto toho, abychom důsledně kódovali jak. K tomu budeme muset položit základy vytváření našich stavebních bloků.

Začneme tím, že budeme rozšiřovat naše oddělení zájmu o UI a aplikační logiku, takže vývoj komponent UI se stane samostatnou činností. Bude mít své vlastní centrální úložiště spolu s běžnými obslužnými programy, vlastní sadu jednotek, akceptační a regresní testy. Naše komponenty uživatelského rozhraní budou nyní znovu použitelné, schopné komponovat a motivovat pro různé weby a webové aplikace. Při použití s ​​příběhem můžeme vytvořit interaktivní knihovnu vzorů.

Budeme mít jistotu, že naše uživatelské rozhraní bude vypadat a chovat se přesně tak, jak by mělo, abychom se mohli soustředit na zábavné a důležité věci - aplikace a jak by se měli chovat. Stejný proces můžeme s našimi komponentami uživatelského rozhraní použít pro naše projekty specifické pro konkrétní aplikace, s konkrétnějšími testovacími soupravami pro maximalizaci pokrytí. Pouze s těmito testovacími soupravami můžeme zvýšit důvěru vývojářů v tlačení a nasazení kódu a naopak zvýšit rychlost iterace.

S tímto centrálním úložištěm komponovatelných komponentů můžeme vytvářet prototypy a nápady pro testování na chodbě a dokonce dodávat nové funkce zvýšeným tempem.

Úrovně testování softwaru

Všimli jste si, že jsme kladli domů zprávu, že testování je důležité. Testování softwaru je obrovským tématem vývoje softwaru, ale zaměřme se na čtyři úrovně integrálního testování v hladkém fungování procesu nepřetržitého dodávání - jednotka, integrace, systém a přijetí.

Pomocí jednotkových testů ověřujeme jednotlivé komponenty, nejmenší testovatelné jednotky, v softwaru. V našem případě se jedná obvykle o komponenty uživatelského rozhraní nebo pomocné metody. K integračnímu testování dochází, když jsou jednotlivé komponenty testovány jako skupina. Například by to mohlo znamenat funkci, jako je kalkulačka, kde budete mít tlačítka a obrazovku displeje, a ujistěte se, že se na stisknutí tlačítka zobrazí správné číslo. U rozhraní API by koncový bod mohl vytvořit připojení k databázi a načíst sadu dat.

Testování jednotky a integrace obvykle vyřadí většinu do očí bijících chyb, než se pustíme do nasazení. Šetří čas interním a externím testerům, kteří vyhodnotí dokončený a integrovaný systém z hlediska shody s funkčními a obchodními požadavky - oblasti systému a akceptační testování. Jakmile software projde čtyřmi úrovněmi testování, můžeme jej nasadit do výroby.

Toto je plíživý pohled na to, jak plánujeme zefektivnit procesy našeho front-end týmu. Budeme se zabývat podrobnostmi o implementacích v následných příspěvcích o front-end vývoji na StashAway. Zůstaňte naladěni!

Neustále hledáme skvělý technologický talent, který se připojí k našemu týmu - navštivte naše webové stránky, kde se dozvíte více a neváhejte nás kontaktovat!