• Home
  • Blog
  • O Santo Graal das traduções: fluxo de um único item

O Santo Graal das traduções: fluxo de um único item

Desde que alcançámos o fluxo de um único item para o nosso processo de desenvolvimento, temos estado a trabalhar para conseguir o mesmo para o nosso processo de tradução. Poderá dizer-se que estamos à procura do Santo Graal. Impossível... ou não?

Publicado em
6 de mai de 2021
Tempo de leitura
8 Minutos
Redigido por
Caroline - COO

As novas funcionalidades foram implementadas, lucro! Mas espere, elas ainda não estão disponíveis para todos os clientes, porque estão à espera de tradução. Isso não é o ideal. O que é que fazemos em relação a isso? Desde que alcançámos o single item flow para o nosso processo de desenvolvimento, temos trabalhado arduamente para conseguir o mesmo para o nosso processo de tradução, com a nossa equipa de tradutores freelance. Uma tarefa que, à partida, parecia impossível. Desafio aceite!

O desafio

Praticamos o Kata de Melhoria, que é uma excelente forma de trabalhar para atingir grandes objectivos (aparentemente impossíveis) de uma forma incremental e experimental, para que a tarefa se torne menos hercúlea.

Eis como definimos o nosso desafio para as traduções de novas funcionalidades:

  • Fluxo para o item único.

  • Traduzido num dia.

  • Sem tempo para responder a perguntas da equipa de tradução.

  • Sem mais de cinco minutos para preparar o pacote de item único.

Queríamos muito! Por onde começar? Dividimos as coisas e começámos por estabelecer duas condições-alvo, a primeira etapa da nossa maratona, por assim dizer:

  1. Definir e medir o tempo necessário para traduzir um único item para todas as línguas.

  2. Ter todas as etiquetas para novas funcionalidades traduzidas no prazo de três dias (a pedido).

Isso é que era algo exequível?

Definição de um único item

No que respeita ao desenvolvimento

Um único item é uma caraterística que é desenvolvida e implementada. Queríamos entregar as traduções de cada caraterística à equipa de tradução à medida que estivessem disponíveis. Precisávamos de uma forma de empacotar esta informação para entrega.

Queríamos entregar as traduções de cada funcionalidade à equipa de tradução à medida que estivessem disponíveis

Utilizamos o Jira para gerir o nosso fluxo de desenvolvimento, e os requisitos para cada funcionalidade são escritos naquilo a que chamamos uma história no Jira. Começámos por adicionar um novo campo a cada história, onde os programadores podiam adicionar detalhes de novas etiquetas ou páginas que criavam para a nova funcionalidade. Também associámos as novas etiquetas à respectiva história na nossa base de dados, para podermos verificar facilmente que etiquetas pertencem a que história.

Foi então adicionado um novo estado ao fluxo de desenvolvimento quando uma história estava online: processamento de traduções. A passagem de uma história por este estado accionava uma mensagem que continha o conteúdo do campo a ser enviado para a equipa de tradução. Para isso, utilizámos um webhook. Os webhooks são uma forma de as aplicações comunicarem umas com as outras quando ocorre um evento específico. Esta foi a nossa primeira iteração.

Notámos rapidamente que tanto o novo campo como o estado eram facilmente esquecidos ou ignorados, por isso criámos uma janela pop-up que não podia ser ignorada, que aparecia no início do processo quando uma história passava da fase de teste para a fase de implementação.

Seguiram-se algumas discussões (saudáveis?) sobre o que era informação suficiente para fornecer aos tradutores. Eles precisavam de ter contexto para o que estavam a traduzir e compreender como se comportava uma nova funcionalidade. Concluímos que as capturas de ecrã anotadas, juntamente com uma breve descrição, eram ideais. Enviar muitas palavras com jargão técnico, menos ainda.

Apercebemo-nos de que já escrevíamos uma breve descrição de cada história para as notas de lançamento internas, pelo que a inclusão desta descrição na notificação poupava automaticamente um passo aos programadores. Inicialmente, as imagens não estavam incluídas no webhook, tínhamos de as adicionar manualmente, o que era um incómodo. Por isso, passámos algum tempo a pôr isso a funcionar também.

Todos estes pequenos passos estavam a começar a dar origem a algo realmente útil!

Do lado da tradução

Depois de termos um pacote de item único pronto, precisávamos de decidir para onde o enviar. O Upwork era a nossa principal forma de comunicar com os tradutores, a nível individual. Nós suportamos 24 idiomas, por isso era importante tornar a configuração gerenciável. Uma vez que usamos o Slack internamente, convidámos toda a equipa freelancer a juntar-se a um espaço Slack dedicado à tradução. Cada um deles aceitou. Isso mudou tudo!

Era importante tornar a configuração manejável

Ter os 24 membros da equipa reunidos num só espaço, numa comunidade, foi muito mais fácil de gerir. Criámos um canal de grupo dedicado no Slack para enviar os webhooks com novas traduções e canais linguísticos para contactos individuais.


Um exemplo de uma das nossas mensagens automatizadas do Slack

A tarefa seguinte foi comunicar o nosso desafio e as nossas expectativas aos tradutores: reagir aos webhooks à medida que fossem chegando, idealmente no prazo de 24 horas. Estávamos curiosos quanto à forma como isto seria recebido, mas a equipa adaptou-se rapidamente. O Slack é ideal para mensagens instantâneas, um rápido polegar para cima ou uma marca de verificação. Em seguida, redigimos um pequeno manual de tradução para explicar como gostaríamos que as coisas funcionassem e porquê, e abordámos algumas questões comuns. Fixámo-lo no espaço do Slack para que a equipa o consultasse sempre que necessário.

Uma vez que criámos e gerimos a nossa própria ferramenta de tradução, outra alteração que fizemos para os tradutores foi adicionar um novo filtro para que pudessem encontrar facilmente etiquetas para cada história. Depois, demos um passo em frente e adicionámos uma ligação ao webhook que os levaria diretamente para essa seleção filtrada.

Medir os tempos

Com um sistema implementado, precisávamos de ser capazes de medir o progresso. Queríamos saber a rapidez com que as traduções eram feitas. Não queríamos fazer isto manualmente para cada língua e para cada história implementada, a vida é demasiado curta! Por isso, criámos uma forma de obter um relatório da base de dados sobre os tempos de tradução por língua, por história. Agora é possível com apenas alguns cliques... sem precisar de um programador! Isto deu-nos alguns números para analisar e alguma matéria para reflexão.

Reduzir o tempo de resposta

Muito bem, está tudo no sítio, mas o prazo de entrega não é o que esperávamos. Pedimos muito para reduzir um tempo de resposta de duas semanas para três dias (esforçando-nos por um dia). Queríamos saber o que estava a impedir a equipa freelancer de atuar sobre os webhooks à medida que chegavam. Só havia uma forma de o descobrir: perguntar. E foi o que fizemos, e as respostas foram surpreendentes.

Alguns tradutores tinham tendência para agrupar os itens, em vez de os trabalharem um de cada vez, devido a problemas com o registador de tempo do Upwork e à preocupação de nos cobrarem demasiado. Incentivar o registo manual do tempo foi a solução para este caso. Confiamos na equipa e queremos compensar de forma justa o tempo que dedicam ao nosso projeto. Alguns precisavam simplesmente de tempo para se adaptarem à nova forma de trabalhar.

Tivemos queixas recorrentes sobre problemas com as notificações do Slack, ou pings. Nem todos os membros da equipa utilizam o Slack regularmente. Depois de experimentarmos várias funcionalidades do Slack, como palavras-chave, menções, etiquetas e notificações por correio eletrónico, conseguimos resolver o problema. Adicionámos uma menção de canal e palavras-chave ao nosso webhook, que desencadeou pings e e-mails, dependendo das preferências do tradutor individual. O que significa que nenhum deles perderia actualizações no futuro!

Também chegaram pedidos de alterações à nossa ferramenta de tradução para facilitar a vida. Eles pediram e nós ouvimos! Melhorámos a forma como as etiquetas são guardadas, para que seja mais rápido trabalhar com uma lista. Depois, melhorámos o filtro para procurar etiquetas semelhantes existentes, para ajudar a manter a consistência. Também adicionámos um script keep-alive, para que as sessões activas na ferramenta de tradução não expirem ao fim de 24 minutos, como acontecia anteriormente.

A vida de um freelancer pode ser solitária

A vida de um freelancer pode ser solitária, e gostamos de fazer com que a equipa saiba que é apreciada, uma vez que é inestimável para nós e parte integrante dos nossos planos. As t-shirts da Owlsome Knowly podem ter ajudado nisso, juntamente com um pouco de espírito comunitário do Slack?


Sucesso

Cumprimos o nosso desafio? Ainda não. Mas não faz mal. Demos passos enormes na direção certa, que não poderíamos ter imaginado há um ano. Também aprendemos muito pelo caminho. Os nossos tradutores são uma fonte inestimável de informação e feedback, para nós e para cada um de nós. Temos um fluxo único de itens com um processo em vigor para as traduções. A equipa obtém o contexto adequado, o que resulta em traduções mais rápidas e melhores para os nossos clientes. Chamamos a isso uma vitória!

A equipa obtém o contexto adequado, o que resulta em traduções mais rápidas e melhores para os nossos clientes

O prazo de entrega ainda não é tão rápido como definimos no nosso desafio, mas estamos a aproximar-nos. A maioria das nossas línguas tem traduções prontas no prazo de três dias. Na última contagem, tínhamos traduções para 17 das 24 línguas no prazo de três dias, quatro seguiam-se pouco depois e apenas três estavam pendentes há mais de 10 dias.

O que é que se segue? Bem, mantê-lo-emos informado. A maratona não está completa. Já estamos a trabalhar no próximo desafio.

Veja mais dos nossos blogs

Caroline

Caroline

12 de dez de 2024

Explicação das nossas prestações de emprego secundário

While your salary is a big deal when picking a job, let's not forget the perks that come with it. The secondary benefits can really sweeten the deal! And we believe we've put together a fantastic package. Dive into all our wonderful extras!

Ler mais
Caroline

Caroline

8 de abr de 2025

Trabalhe e prospere!

Trabalhar para a Easy LMS é gratificante! Claro, oferecemos um salário competitivo, abonos de viagem e trabalho remoto, e ainda 25 dias de férias pagas por ano! Mas além disso temos orgulho em oferecer benefícios que ajudam você a se sentir e fazer o seu melhor. O seu bem-estar, físico e mental, é a nossa maior prioridade! Porque os nossos funcionários são a espinha dorsal da nossa organização.

Ler mais
Caroline

Caroline

22 de abr de 2025

O seu primeiro mês

Quando se tem um novo emprego, está-se ansioso por começar! Ao mesmo tempo, há sempre uma boa dose de nervosismo. O que é que o espera? Como serão as suas primeiras semanas? E com que rapidez pode realmente acrescentar valor? Este último é o nosso objetivo. O nosso programa de integração claro para engenheiros de software ajudá-lo-á a conhecer a nossa empresa, os seus colegas e as suas tarefas num instante! Veja como lhe damos o pontapé de saída!

Ler mais