• Home
  • Blog
  • Święty Graal tłumaczeń: przepływ pojedynczych elementów

Święty Graal tłumaczeń: przepływ pojedynczych elementów

Since achieving single item flow for our development process, we’ve been working towards achieving the same for our translation process. Searching for the holy grail you might say. Impossible … or not?

Data publikacji:
6 maj 2021
Czas czytania:
7 Min.
Autor:
Caroline - COO

Nowe funkcje zostały wdrożone, zysk! Ale czekaj, nie są one jeszcze dostępne dla wszystkich klientów, ponieważ czekają na tłumaczenie. To nie jest idealne rozwiązanie. Co możemy z tym zrobić? Odkąd osiągnęliśmy single item flow dla naszego procesu rozwoju, ciężko pracowaliśmy, aby osiągnąć to samo dla naszego procesu tłumaczenia, z naszym zespołem tłumaczy freelancerów. Zadanie, które początkowo wydawało się niemożliwe. Wyzwanie przyjęte!

Wyzwanie

Ćwiczymy Improvement Kata, które jest świetnym sposobem na osiągnięcie dużych (pozornie niemożliwych) celów w sposób stopniowy i eksperymentalny, dzięki czemu zadanie staje się mniej herkulesowe.

Oto jak zdefiniowaliśmy nasze wyzwanie dotyczące tłumaczeń nowych funkcji:

  • Przetłumaczone w ciągu jednego dnia.

  • Bez czasu spędzonego na odpowiadaniu na pytania zespołu tłumaczeniowego.

  • Nie więcej niż pięć minut spędzonych na przygotowaniu pakietu pojedynczych elementów.

Chcieliśmy wiele! Od czego zacząć? Zaczęliśmy od ustalenia dwóch warunków docelowych, pierwszego etapu naszego maratonu:

  1. Zdefiniuj i zmierz czas potrzebny na przetłumaczenie pojedynczego elementu na wszystkie języki.

  2. Przetłumacz wszystkie etykiety nowych funkcji w ciągu trzech dni (na żądanie).

  3. .

Teraz to było coś wykonalnego?

Definiowanie pojedynczego elementu

Po stronie rozwoju

Pojedynczy element to funkcja, która jest rozwijana i wdrażana. Chcieliśmy dostarczać tłumaczenia dla każdej funkcji do zespołu tłumaczy w miarę ich dostępności. Potrzebowaliśmy sposobu na spakowanie tych informacji w celu ich dostarczenia.

Chcieliśmy dostarczać tłumaczenia dla każdej funkcji zespołowi tłumaczy w miarę ich dostępności

Używamy Jira do zarządzania naszym przepływem rozwoju, a wymagania dla każdej funkcji są zapisywane w tym, co nazywamy historią w Jira. Zaczęliśmy od dodania nowego pola do każdej historii, gdzie deweloperzy mogli dodawać szczegóły nowych etykiet lub stron, które stworzyli dla nowej funkcji. Połączyliśmy również nowe etykiety z ich historiami w naszej bazie danych, dzięki czemu mogliśmy łatwo sprawdzić, które etykiety należą do której historii.

Następnie dodano nowy status do przepływu rozwoju, gdy wątek był online: przetwarzanie tłumaczeń. Przeniesienie wątku do tego statusu spowodowałoby wysłanie wiadomości zawierającej zawartość pola do zespołu tłumaczy. Wykorzystaliśmy do tego webhook. Webhooks to sposób, w jaki aplikacje mogą komunikować się ze sobą, gdy wystąpi określone zdarzenie. To była nasza pierwsza iteracja.

Szybko zauważyliśmy, że zarówno nowe pole, jak i status były łatwo zapominane lub pomijane, więc stworzyliśmy wyskakujące okienko, którego nie można było zignorować, które pojawiało się wcześniej w procesie, gdy wątek przechodził z testowania do wdrożenia.

Następnie odbyły się (zdrowe?) dyskusje na temat tego, jakie informacje są wystarczające do przekazania tłumaczom. Musieli oni mieć kontekst dla tego, co tłumaczyli i rozumieć, jak zachowuje się nowa funkcja. Doszliśmy do wniosku, że zrzuty ekranu z adnotacjami wraz z krótkim opisem były idealne. Wysyłanie wielu słów z technicznym żargonem już nie.

Zdaliśmy sobie sprawę, że piszemy już krótki opis każdej historii do wewnętrznych notatek o wydaniu, więc automatyczne przeciągnięcie tego do powiadomienia zaoszczędziło kroku deweloperom. Obrazy nie były początkowo uwzględnione w webhooku, musieliśmy dodawać je ręcznie, co było kłopotliwe. Poświęciliśmy więc trochę czasu, aby to również działało.

Wszystkie te małe kroki zaczęły składać się na coś naprawdę użytecznego!

Po stronie tłumaczenia

Gdy mieliśmy już gotowy pakiet pojedynczych elementów, musieliśmy zdecydować, gdzie go wysłać. Upwork był naszym głównym sposobem komunikacji z tłumaczami, na poziomie indywidualnym. Obsługujemy 24 języki, więc ważne było, aby konfiguracja była łatwa w zarządzaniu. Ponieważ i tak używamy Slacka wewnętrznie, zaprosiliśmy cały zespół freelancerów do dołączenia do dedykowanej przestrzeni tłumaczeniowej Slack. Każdy z nich się zgodził. To był przełom!

Ważne było, aby konfiguracja była łatwa w zarządzaniu

Posiadanie wszystkich 24 członków zespołu w jednej przestrzeni, w społeczności, było o wiele łatwiejsze w zarządzaniu. Stworzyliśmy dedykowany kanał grupowy w Slack do wysyłania webhooków z nowymi tłumaczeniami oraz kanały językowe dla indywidualnych kontaktów.


Przykład jednej z naszych automatycznych wiadomości Slack

Następnym zadaniem było poinformowanie tłumaczy o naszym wyzwaniu i oczekiwaniach: reagować na webhooki w miarę ich napływania, najlepiej w ciągu 24 godzin. Byliśmy ciekawi, jak zostanie to odebrane, ale zespół szybko się dostosował. Slack jest idealny do natychmiastowych wiadomości, szybkiego kciuka w górę lub zaznaczenia. Następnie opracowaliśmy małą instrukcję tłumaczenia, aby wyjaśnić, jak chcemy, aby wszystko działało i dlaczego, a także odpowiedzieliśmy na kilka typowych pytań. Przypięliśmy go do przestrzeni Slack, aby zespół mógł się do niego odwoływać w razie potrzeby.

Ponieważ stworzyliśmy własne narzędzie do tłumaczenia i zarządzamy nim, kolejną zmianą, którą wprowadziliśmy dla tłumaczy, było dodanie nowego filtra, aby mogli łatwo znaleźć etykiety dla każdej historii. Następnie poszliśmy o krok dalej i dodaliśmy link do ich webhooka, który przenosił ich bezpośrednio do przefiltrowanego wyboru.

Pomiar czasu

Po wdrożeniu systemu musieliśmy być w stanie mierzyć postępy. Chcieliśmy wiedzieć, jak szybko tłumaczenia były wykonywane. Nie chcieliśmy robić tego ręcznie dla każdego języka dla każdej wdrożonej historii, życie jest zbyt krótkie! Stworzyliśmy więc sposób na uzyskanie raportu z bazy danych na temat czasu tłumaczenia na język, na historię. Teraz jest to możliwe za pomocą zaledwie kilku kliknięć... bez potrzeby zatrudniania programisty! Dało nam to kilka liczb do przeanalizowania i trochę do myślenia.

Skrócenie czasu realizacji

Ok, wszystko jest na swoim miejscu, ale czas realizacji nie jest taki, jakiego oczekiwaliśmy. Poprosiliśmy o wiele, skracając dwutygodniowy czas realizacji do trzech dni (dążąc do jednego dnia). Chcieliśmy wiedzieć, co powstrzymuje niezależny zespół przed działaniem na webhookach w miarę ich napływania. Był tylko jeden sposób, aby się tego dowiedzieć, a mianowicie zapytać. Tak też zrobiliśmy, a odpowiedzi były zaskakujące.

Niektórzy tłumacze mieli tendencję do grupowania elementów, zamiast pracować nad nimi pojedynczo, ze względu na problemy z modułem śledzenia czasu Upwork i obawy o zawyżanie opłat. Rozwiązaniem było zachęcanie do ręcznego rejestrowania czasu pracy. Ufamy zespołowi i chcemy uczciwie wynagradzać czas spędzony nad naszym projektem. Niektórzy po prostu potrzebowali czasu na dostosowanie się do nowego sposobu pracy.

Mieliśmy powtarzające się skargi dotyczące problemów z powiadomieniami Slack lub pingami. Nie wszyscy członkowie zespołu regularnie korzystają ze Slacka. Po eksperymentach z różnymi funkcjami Slacka, takimi jak słowa kluczowe, wzmianki, tagi i powiadomienia e-mail, udało nam się rozwiązać problem. Dodaliśmy wzmiankę o kanale i słowa kluczowe do naszego webhooka, który wyzwalał zarówno pingi, jak i e-maile w zależności od preferencji poszczególnych tłumaczy. Oznacza to, że żaden z nich nie przegapi aktualizacji w przyszłości!

Pojawiły się również prośby o zmiany w naszym narzędziu tłumaczeniowym, aby ułatwić życie. Prosili, a my ich wysłuchaliśmy! Ulepszyliśmy sposób zapisywania etykiet, dzięki czemu praca z listą jest szybsza. Następnie ulepszyliśmy filtr wyszukiwania istniejących podobnych etykiet, aby pomóc zachować spójność. Dodaliśmy również skrypt utrzymywania aktywności, dzięki czemu aktywne sesje w narzędziu do tłumaczenia nie wygasają po 24 minutach, jak miało to miejsce wcześniej.

Życie freelancera może być samotne

Życie freelancera może być samotne, a my lubimy dawać zespołowi znać, że są doceniani, ponieważ są dla nas bezcenni i integralną częścią naszych planów. Koszulki Owlsome Knowly mogły w tym pomóc, wraz z odrobiną ducha społeczności Slack?


Sukces

Czy sprostaliśmy naszemu wyzwaniu? Jeszcze nie. Ale to nic. Poczyniliśmy ogromne postępy we właściwym kierunku, których nie mogliśmy sobie wyobrazić rok temu. Po drodze wiele się też nauczyliśmy. Nasi tłumacze są nieocenionym źródłem informacji i opinii, zarówno dla nas, jak i dla siebie nawzajem. Mamy przepływ pojedynczych elementów z procesem tłumaczenia. Zespół otrzymuje odpowiedni kontekst, co skutkuje szybszymi i lepszymi tłumaczeniami dla naszych klientów. Nazywamy to wygraną!

Zespół otrzymuje odpowiedni kontekst, co skutkuje szybszymi i lepszymi tłumaczeniami dla naszych klientów

Czas realizacji nie jest jeszcze tak szybki, jak określiliśmy w naszym wyzwaniu, ale jesteśmy coraz bliżej. Większość naszych języków ma gotowe tłumaczenia w ciągu trzech dni. Według ostatnich obliczeń, mieliśmy tłumaczenia dla 17 z 24 języków w ciągu trzech dni, cztery wkrótce potem, a tylko trzy pozostały dłużej niż 10 dni.

Co dalej? Będziemy informować na bieżąco. Maraton jeszcze się nie zakończył. Już pracujemy nad kolejnym wyzwaniem.

Przeczytaj więcej wpisów na naszym blogu

Caroline

Caroline

12 gru 2024

Wyjaśnienie naszych dodatkowych korzyści związanych z zatrudnieniem

Wynagrodzenie ma duże znaczenie przy wyborze pracy, ale nie zapominajmy o dodatkach, które się z nim wiążą. Dodatkowe korzyści mogą naprawdę osłodzić umowę! Wierzymy, że przygotowaliśmy fantastyczny pakiet. Zapoznaj się z naszymi wspaniałymi dodatkami!

Czytaj dalej
Caroline

Caroline

8 kwi 2025

Praca i rozwój!

Praca w Easy LMS daje satysfakcję! Oczywiście zapewniamy konkurencyjne wynagrodzenie, dodatek na dojazdy i pracę z domu oraz 25 płatnych dni urlopu rocznie! Ale jesteśmy również dumni, że możemy zaoferować ci benefity, które pomogą ci poczuć swój pełen potencjałi dawać z siebie wszystko. Twoje dobre samopoczucie, zarówno fizyczne, jak i psychiczne, jest naszym najwyższym priorytetem! Nasi pracownicy stanowią kręgosłup naszej organizacji.

Czytaj dalej
Caroline

Caroline

22 kwi 2025

Pierwszy miesiąc

Kiedy masz nową pracę, z niecierpliwością czekasz na jej rozpoczęcie! Jednocześnie zawsze towarzyszy temu zdrowa dawka nerwów. Co cię czeka? Jak będą wyglądały pierwsze tygodnie? I jak szybko możesz naprawdę wnieść wartość dodaną? Skupiamy się na tym ostatnim. Nasz przejrzysty program wdrożeniowy dla inżynierów oprogramowania pomoże Ci poznać naszą firmę, współpracowników i zadania w mgnieniu oka! Przekonaj się, jak zapewnimy Ci dobry start!

Czytaj dalej