O DESAFIO
Como gerar código backend de forma rápida e confiável?
A Embraer é uma gigante da aviação presente em diversos países. Para seus variados produtos e sistemas eram necessárias incontáveis horas de desenvolvimento manual. Para resolver isso, o objetivo do produto Tardis é ser um gerador de código backend, capaz de criar os códigos necessários para a criação de novos sistemas em segundos, já revisados e testados, economizando meses de desenvolvimento e recursos.
O desafio portanto era transformar o dia a dia dos desenvolvedores, substituindo a criação de um código complexo de backend por uma experiencia fácil de usar de alguns cliques.

METODOLOGIA
Etapas de design do produto
Discovery
Primeiro passo entender o produto e seu problema e as necessidades de pesquisa e entrevistas
Ideação
Depois de entender o produto, é hora de mapear os fluxos e transformar as ideias em soluções
Protótipo
Fluxos mapeados, podemos desenhar os wireframes para validação e em seguida os protótipos finais
Teste
Com os protótipos podemos iniciar os testes para refinamentos e em seguida fazer o handoff para Devs
Discovery
Entender o fluxo e ouvir o usuário
O processo inicial foi tentar entender o que já existe para resolver problemas semelhantes. Fazendo entrevistas profundas e estruturadas com potenciais usuários e stakeholders, consegui coletar informações sobre as preferências, fluxos e jornadas dos desenvolvedores com os quais eles já estão acostumados.
Esse foi um ótimo ponto para a pesquisa, pois diminuiu a curva de aprendizado e me fez entender o melhor fluxo para o funcionamento do Tardis.


O que descobrimos
A partir desse levantamento identifiquei quais seriam os principais tipos de código que o Tardis era capaz de gerar, quais deles eram mais populares e quais trariam maior impacto no uso diário dos desenvolvedores.
Também perguntei quais eram as funcionalidades mais utilizadas pelos usuários, o que retornou uma lista de códigos básicos que realmente ajudariam no dia a dia, como criar autenticações Basic Authentications e OAuth2, configuraçoes dos bancos de dados, setup dos roles e webgroups e opcionais.
Em alinhamento com os stakeholders entendemos quais deveriam ser as principais funcionalidades da ferramenta e portanto definimos o escopo de tudo o que poderíamos ter em nosso MVP.
IDEAÇÃO
Como deve funcionar?

Benchmarck e dados
Conhecer os produtos similares disponíveis no mercado é sempre uma etapa importante no processo de ideação. No caso do Tardis, os principais concorrentes eram o Initializr do spring boot e o qarkus, ambos capazes de gerar códigos backend genéricos. Entender os diferentes fluxos destas ferramentas contribuiu para definirmos a melhor jornada para o nosso usuário.

Soluções e funcionalidades
Com as referencias do que poderíamos inserir no Tardis, chegou a hora de definir quais eram as prioridades do nosso MVP. Conduzi um workshop com todos os envolvidos utilizando a matriz MoSCW*, para identificar quais coisas precisávamos ter obrigatoriamente, quais deveríamos ter, quais poderíamos ter em um segundo momento e quais não conseguiríamos construir agora.
IDEAÇÃO
Definindo fluxos e a jornada do usuário
O último passo da fase de ideação foi organizar a jornada do usuário e estabelecer os fluxos a partir da home do produto. A sugestão inicial pensando em usabilidade foi trazer um passo a passo simples desde a criação do projeto de código até a exportação dos arquivos em zip, levando em consideração nossos insights de entrevista com usuário.
Após compreender o novo fluxo desenhei alguns wireframes para aprovação com stakeholders envolvidos e em seguida parti para os protótipos em alta.

Protótipos
Criação de código backend em um simples passo a passo
O objetivo do software é criar código de forma automática e simples. Portanto, criei uma jornada de 4 passos onde o usuário poderia configurar o código backend de acordo com sua necessidade. A primeira etapa era configurar o "project description", depois as versões do Java e suas especificidades como roles e webgroups. Em seguida selecionar os tipos de autenticação e banco de dados. Por fim, selecionar os opcionais do seu código como gerar de histórico e outras opções.
Por fim, o usuário recebe um resumo das suas escolhas. Aqui ele já recebe opções de exportação do arquivo, como o download em formato .zip pronto pra ser utilizado. Código limpo em poucos cliques.





PROTOTIPOS
Design System para escalar rapidamente
Para escalar o produto na criação de novas features e o desenvolvimento de novas etapas de geração de código desenvolvi um style guide com os principais componentes desenvolvidos para o Produto. Essa biblioteca foi alimentada com novos componentes que se tornaram a base do design system do Tardis.

Testes e Métricas
Testes e Usability Score
Após implementar as principais funcionalidades, criei um Índice de Usabilidade (Usability Score) para medir a evolução da facilidade de uso do Tardis e suas funcionalidades. Enviado para um grupo de usuários-chave de forma recorrente, o teste retorna uma pontuação que serve de métrica importante para medir a evolução do produto.


MEUS DESAFIOS
Organizar e executar
Como Product Designer Especialista, atuei nesse projeto como o Tech Lead da área de Design, liderando toda a esteira de Design.
Além de todo o trabalho de UI/UX também atuei diretamente na estratégia do produto, na definição do escopo e funcionalidades, além do contato diário com os desenvolvedores para garantir a implementação e a qualidade do produto.
