Hvordan man går fra godt til stort

Dette er en introduktion til en flerdelsserie, hvor vi udforsker at gøre front-end udviklingsprocesser mere effektive og skalerbare - for at gøre et bedre produkt hurtigere.

“En gruppe mennesker brainstormer over en bærbar computer og ark ark” af Štefan Štefančík på Unsplash

At opbygge et godt produkt er ofte ikke en soloindsats. De mest detaljerede opsætninger vil omfatte multi-teams af kreative, marketing, produkt og teknologi. Selv hvis du er et firma af en, skal du interagere med dine brugere for at samle deres feedback om, hvad der fungerer for dem. Denne iterative ramme for cyklisk designproces til at forbedre kvalitet og funktion kaldes ofte Agile Iteration Workflow.

Jo hurtigere du er i stand til at itere, desto bedre bliver dit produkt.
“Agile Iteration Workflow” af Smartsheet

På StashAway, da front-end-teamet først begyndte at bygge det webbaserede produkt, var vi på en accelereret tidslinje til lancering, og vores produktudviklings- og styringsprocesser var mindre strenge. Nu hvor produktet modnes, og når flere funktioner udforskes og tilføjes, søger vi at forbedre og stramme vores proces med at opbygge en bedre og mere skalerbar frontend-arkitektur for produktet. Vores nuværende opsætning tillader os ikke at skalere effektivt med hensyn til funktionstilbud og udvidelser af lande.

For at gøre et fantastisk produkt, skal vi perfektionere iterationsarbejdsgangen. Der er mange produktledelseslitteraturer om det, og det er ikke omfanget af denne serie af artikler. Det, vi gerne vil undersøge, er, hvordan vi kan være hurtigere med iterationer i prototype- og bygningsfasen, og for at gøre det, bliver vi nødt til at formalisere vores teams interne processer med udvikling og godkendelse, så vi kan samarbejde mere effektivt med vores kreative og produkthold . Vi tror, ​​vi kan opnå det ved at gøre brug af kontinuerlig integration og leveringsflow i forbindelse med den bredere produkt-iterationsarbejdsgang som tidligere beskrevet.

I sidste ende sigter vi mod at nærme os det erklærende programmeringsparadigme, der udtrykker, hvad vi vil gøre i vores applikationer, i stedet for ufravigeligt at kode hvordan. For at gøre det bliver vi nødt til at lægge grundlaget for at skabe vores byggesten.

Vi begynder med at udvide vores adskillelse af bekymring med UI og applikationslogik, så udvikling af UI-komponenter bliver en separat aktivitet. Det vil have sit eget centrale oplagringssted sammen med fælles forsyningsselskaber, sin egen pakke med enhed, accept og regressionstest. Vores brugergrænseflade-komponenter kan nu genbruges, kan komponeres og kan temaer til variationer af websteder og webapps. Når vi bruger Storybook, kan vi oprette et interaktivt mønsterbibliotek.

Vi vil have tillid til, at vores UI-komponenter vil se ud og opføre sig nøjagtigt som det skal, så vi kan fokusere på de sjove og vigtige ting - applikationerne og hvordan de skal opføre sig. Vi kan anvende den samme proces med vores UI-komponenter til vores applikationsspecifikke projekter med mere specifikke testsuiter for at maksimere dækningen. Det er kun med disse testsuiter, at vi kan øge udviklerens tillid til at skubbe og implementere kode og til gengæld øge iterationshastigheden.

Med denne centrale opbevaring af komponeringsdygtige komponenter kan vi prototype og hallway-user-test-ideer og endda levere nye funktioner i et øget tempo.

Softwaretestniveauer

Du har bemærket, at vi har hamret hjem beskeden om, at test er vigtigt. Softwaretesting er et stort emne inden for softwareudvikling, men lad os fokusere på de fire niveauer af testintegrale i en jævn drift af kontinuerlig leveringsproces - enhed, integration, system og accept.

Vi bruger enhedstest til at validere individuelle komponenter, de mindste testbare enheder, i en software. I vores tilfælde er det normalt brugergrænsefladekomponenter eller hjælpeprogrammer. Integrationstest sker, når de enkelte komponenter testes som en gruppe. For eksempel kan dette betyde en funktion såsom en lommeregner, hvor du vil have knapper og en skærm, og sørge for, at det rigtige nummer vises som svar på et tastetryk. For API kan et slutpunkt oprette en databaseforbindelse for at hente et sæt data.

Enheds- og integrationsafprøvninger lukker normalt de mest blæsende bugs ud, før vi går i iscenesættelsesinstallation. Det sparer tid for interne og eksterne testere, der vil evaluere det færdige og integrerede system for overholdelse af funktion og forretningsbehov - domæner af system- og accepttest. Når softwaren har bestået de fire testniveauer, kan vi implementere til produktion.

Dette er en sneak peek på, hvordan vi planlægger at gøre vores front-end team's processer mere effektive. Vi vil gå nærmere ind på implementeringer i efterfølgende stillinger om front-end-udvikling på StashAway. Bliv hængende!

Vi er konstant på udkig efter store teknologiske talenter til at blive medlem af vores team - besøg vores websted for at lære mere og føl dig fri til at nå ud til os!