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.