Nye funktioner er blevet implementeret, profit! Men vent, de er endnu ikke tilgængelige for alle kunder, fordi de venter på at blive oversat. Det er ikke ideelt. Hvad gør vi ved det? Siden vi nåede frem til single item flow i vores udviklingsproces, har vi arbejdet hårdt på at opnå det samme i vores oversættelsesproces med vores team af freelanceoversættere. En opgave, der i første omgang virkede umulig. Udfordring accepteret!
Udfordringen
Vi praktiserer Improvement Kata, som er en fantastisk måde at arbejde på at nå store (tilsyneladende umulige) mål på en trinvis og eksperimenterende måde, så opgaven bliver mindre herkulisk.
Her er, hvordan vi definerede vores udfordring med oversættelser af nye funktioner:
Kom til single item flow.
Oversat inden for en dag.
Ingen tid brugt på at besvare spørgsmål fra oversættelsesteamet.
Ikke mere end fem minutter brugt på at forberede single item-pakken.
Vi ville have en masse! Hvor skulle vi begynde? Vi brød tingene ned og begyndte med at opstille to målbetingelser, den første etape af vores maraton, om man vil:
Definer og mål den tid, det tager at oversætte et enkelt element til alle sprog.
Få alle etiketter til nye funktioner oversat inden for tre dage (on demand).
Se, det var noget, der kunne lade sig gøre?
Definition af et enkelt element
På udviklingssiden
Et enkelt element er en funktion, der bliver udviklet og implementeret. Vi ønskede at levere oversættelser for hver funktion til oversættelsesteamet, efterhånden som de blev tilgængelige. Vi havde brug for en måde at pakke disse oplysninger på til levering.
Vi ønskede at levere oversættelser for hver funktion til oversættelsesteamet, efterhånden som de var tilgængelige
Vi bruger Jira til at styre vores udviklingsflow, og kravene til hver funktion skrives op i det, vi kalder en historie i Jira. Vi startede med at tilføje et nyt felt til hver story, hvor udviklerne kunne tilføje detaljer om nye labels eller sider, som de oprettede til den nye funktion. Vi linkede også nye labels til deres historie i vores database, så vi nemt kunne tjekke, hvilke labels der hører til hvilken historie.
Der blev derefter tilføjet en ny status til udviklingsflowet, når en historie var online: behandling af oversættelser. Når en historie flyttes gennem denne status, udløses en besked med indholdet af det felt, der skal sendes til oversættelsesteamet. Vi brugte en webhook til dette. Webhooks er en måde, hvorpå apps kan kommunikere med hinanden, når der sker en bestemt begivenhed. Dette var vores første iteration.
Vi bemærkede hurtigt, at både det nye felt og status let blev glemt eller sprunget over, så vi gjorde det til et pop op-vindue, der ikke kunne ignoreres, og som dukkede op tidligere i processen, når en historie overgik fra at blive testet til at blive implementeret.
Der fulgte nogle (sunde?) diskussioner om, hvad der var tilstrækkelig information at give oversætterne. De skulle have en kontekst for det, de oversatte, og forstå, hvordan en ny funktion opfører sig. Vi konkluderede, at kommenterede skærmbilleder sammen med en kort beskrivelse var ideelt. At sende en masse ord med teknisk jargon var mindre godt.
Vi indså, at vi allerede skriver en kort beskrivelse af hver historie til interne udgivelsesnoter, så det sparede et trin for udviklerne at trække dette til notifikationen automatisk. Billeder var oprindeligt ikke inkluderet i webhook'en, så dem skulle vi tilføje manuelt, og det var besværligt. Så vi brugte lidt tid på at få det til at fungere.
Alle disse små skridt begyndte at blive til noget virkelig nyttigt!
På oversættelsessiden
Da vi havde en enkelt pakke klar, skulle vi beslutte, hvor den skulle sendes hen. Upwork var vores primære måde at kommunikere med oversætterne på, på et individuelt niveau. Vi understøtter 24 sprog, så det var vigtigt at gøre opsætningen overskuelig. Da vi alligevel bruger Slack internt, inviterede vi hele freelanceteamet til at deltage i et dedikeret Slack-område for oversættere. Hver eneste af dem accepterede. Det var en game-changer!
Det var vigtigt at gøre opsætningen overskuelig
At have alle 24 teammedlemmer samlet på ét sted, i et fællesskab, var så meget nemmere at administrere. Vi oprettede en dedikeret gruppekanal i Slack til at sende webhooks med nye oversættelser til, og sprogkanaler til individuelle kontakter.
An example of one of our automated Slack messages
Den næste opgave var at kommunikere vores udfordring og forventninger til oversætterne: at reagere på webhooks, når de ankommer, helst inden for 24 timer. Vi var spændte på, hvordan det ville blive modtaget, men teamet tilpassede sig hurtigt. Slack er ideelt til øjeblikkelige beskeder, en hurtig tommelfinger op eller et flueben. Vi fulgte op med at udarbejde en lille oversættelsesmanual for at forklare, hvordan vi gerne ville have tingene til at fungere, og hvorfor, og besvarede nogle almindelige spørgsmål. Vi lagde den på Slack, så teamet kunne slå op i den, når de havde brug for det.
Da vi har bygget og administrerer vores eget oversættelsesværktøj, var en anden ændring, vi foretog for oversætterne, at tilføje et nyt filter til dem, så de nemt kunne finde etiketter til hver historie. Derefter gik vi et skridt videre og tilføjede et link til deres webhook, som førte dem direkte til det filtrerede udvalg.
Mål tidspunkterne
Med et system på plads havde vi brug for at kunne måle fremskridt. Vi ville gerne vide, hvor hurtigt oversættelserne blev lavet. Vi ville ikke gøre det manuelt for hvert sprog for hver historie, der blev implementeret - livet er for kort! Så vi byggede en måde at få en rapport fra databasen om oversættelsestiderne pr. sprog, pr. historie. Det er nu muligt med blot et par klik ... uden at have brug for en udvikler! Det gav os nogle tal at regne på og stof til eftertanke.
Reducer ekspeditionstiden
Ok, alt er på plads, men leveringstiden er ikke, hvad vi havde håbet på. Vi bad om meget, da vi reducerede en behandlingstid på to uger til tre dage (vi stræbte efter én dag). Vi ville vide, hvad der holdt freelanceteamet tilbage fra at handle på webhooks, når de kom ind. Der var kun én måde at finde ud af det på, og det var at spørge. Så det gjorde vi, og svarene var overraskende.
Nogle oversættere havde en tendens til at samle opgaverne i grupper i stedet for at arbejde med dem én ad gangen på grund af problemer med Upworks tidsregistrering og bekymring for at overfakturere os. Her var løsningen at opfordre til manuel tidsregistrering. Vi stoler på teamet og ønsker at kompensere retfærdigt for den tid, de bruger på vores projekt. Nogle havde simpelthen brug for tid til at vænne sig til den nye måde at arbejde på.
Vi havde tilbagevendende klager over problemer med Slack-notifikationer eller pings. Ikke alle teammedlemmer bruger Slack regelmæssigt. Efter at have eksperimenteret med forskellige Slack-funktioner som nøgleord, omtaler, tags og e-mailnotifikationer lykkedes det os at løse problemet. Vi tilføjede en kanalomtale og nøgleord til vores webhook, som udløste både pings og e-mails afhængigt af den enkelte oversætters præferencer. Det betyder, at ingen af dem vil gå glip af opdateringer i fremtiden!
Der kom også anmodninger om ændringer i vores oversættelsesværktøj for at gøre livet lettere. De spurgte, og vi lyttede! Vi har forbedret den måde, etiketterne gemmes på, så det er hurtigere at arbejde sig igennem en liste. Så har vi forbedret filteret til at søge efter eksisterende lignende labels for at hjælpe med at holde konsistensen. Vi har også tilføjet et keep-alive-script, så aktive sessioner i oversættelsesværktøjet ikke udløber efter 24 minutter, som de plejede.
Livet som freelancer kan være ensomt
Livet som freelancer kan være ensomt, og vi vil gerne lade teamet vide, at de er værdsat, da de er uvurderlige for os og en integreret del af vores planer. Owlsome Knowly T-shirts har måske hjulpet med det, sammen med lidt Slack-fællesskabsånd?

Succes
Har vi klaret vores udfordring? Nej, ikke endnu. Men det er ok. Vi har taget store skridt i den rigtige retning, som vi ikke kunne have forestillet os for et år siden. Vi har også lært en masse undervejs. Vores oversættere er en uvurderlig kilde til information og feedback, både for os og for hinanden. Vi har et enkelt emneflow med en proces på plads for oversættelser. Teamet får den rette kontekst, hvilket resulterer i hurtigere og bedre oversættelser for vores kunder. Det kalder vi en sejr!
Teamet får den rette kontekst, hvilket resulterer i hurtigere og bedre oversættelser for vores kunder
Det går endnu ikke så hurtigt, som vi definerede i vores udfordring, men vi nærmer os. Størstedelen af vores sprog har oversættelser klar inden for tre dage. Ved sidste optælling havde vi oversættelser til 17 ud af 24 sprog inden for tre dage, fire fulgte kort tid efter, og kun tre udestod i mere end 10 dage.
Hvad bliver det næste? Vi holder dig opdateret. Maratonløbet er ikke slut. Vi arbejder allerede på den næste udfordring.