Termos como UX (experiência de usuário) e UI (interface de usuário) não são nenhuma novidade faz um tempo, especialmente se você trabalha ou se interessa por assuntos que envolvam tecnologia. Uma boa experiência de usuário é a chave para a adoção de um produto. Afinal de contas, se ninguém entender como usá-lo, ninguém terá interesse nele.
O mesmo vale quando falamos de APIs (Interface de Programação de Aplicativos). Seus principais usuários são os desenvolvedores. Quando eles gostem de usar uma plataforma e consideram ela eficiente, as chances dessa plataforma ser escolhida aumentam.
A cada dia os Devs se tornam mais ativos e exigentes com suas experiências e qualidade dos produtos que utilizam, principalmente quando falamos de APIs. E a chave para APIs de sucesso está justamente na Developer Experience (DX), a experiência do desenvolvedor
Mas o que é Developer Experience?
A Developer Experience é o equivalente a quando o usuário principal do produto é o desenvolvedor.
Na DX há uma preocupação do desenvolvedor quanto à usabilidade do produto, SDKs, documentações, frameworks, soluções open source e, claro, APIs.
Simplificando, a DX é importante pelos mesmos motivos que uma UX. Ela é o agregado de todas as experiências que um desenvolvedor tem ao interagir com sua plataforma. Além disso, desenvolvedores com uma boa DX utilizam o produto em questão por mais tempo e até o promovem.
Quando falamos em uma boa DX, quero dizer que ela deve atender às necessidades dos seus clientes. Mas antes de tudo, você precisa entender quem é o seu cliente. E o que vemos por aí são empresas de tecnologia que ainda não tem essa compreensão.
Por exemplo, a API como um produto. Ela não deve ser fácil de usar apenas para seu público técnico, embora isso seja extremamente importante. Ela também precisa de uma usabilidade facilitada pensando nos tomadores de decisão. Contudo, estes não têm os mesmos conhecimentos técnicos que um desenvolvedor, e terão que decidir pelo uso ou não da plataforma.
Sua API precisa atrair tanto o público técnico quanto não técnico, e para isso seu processo de adoção de API deve ser o mais direto possível.
Dessa forma, uma API agrega dois públicos diferentes:
Negócio: Product Owner, Profissionais de Inovação ou até mesmo o CEO, especialmente no caso de startups e pequenas empresas
Técnicos: CTO, CIO, CDO e CSO, arquitetos de integração e desenvolvedores
A jornada da API, da sua descoberta até seu consumo, precisa responder a pelo menos 4 perguntas de seus consumidores:
Por que devo usá-la?
Como me registro?
Por onde começo?
Como posso testar?
As respostas para cada uma dessas perguntas devem ser claras para seus usuários desde o início. A partir daí é que você poderá identificar seus pontos de valor.
Então minha estratégia de APIs deve considerar a Developer Experience (DX)?
Atualmente, existem milhares de APIs disponíveis, com diversas funcionalidades e propósitos. Por isso, ganhar aquele destaque e sair na frente da concorrência é fundamental quando se trata de dar uma atenção especial aos desenvolvedores e oferecer a eles uma boa experiência no uso das APIs.
De que serve uma ótima API se o desenvolvedor não a utiliza, porque considera sua documentação e onboarding complicados? Ou por que ele não obtém respostas do suporte ou retorno de seus feedbacks? Por isso afirmo que cuidar da sua Developer Experience é vital para ter sucesso nas suas estratégias de APIs.
O mesmo vale para o caso de APIs internas. A má experiência relacionada a APIs internas pode resultar em desperdício de tempo e dinheiro, já que seus desenvolvedores irão refazer seus componentes, ou vão gastar sua energia tentando entender como utilizá-la adequadamente. Isso significa que APIs com excelente DX evitam trabalho desnecessário e tarefas repetitivas. O resultado, na verdade, é uma maior produtividade e aceleração do time-to-market.
Experiência do desenvolvedor em equipes
Para que a construção de uma developer experience funcione dentro dos times de sua empresa, é necessário que toda comunicação, especialmente entre time de negócios e técnico, estejam o mais clara possível. Uma comunicação eficaz pode agregar um valor incrível ao seu projeto e ajudar a lançar produtos melhores.
A padronização no fluxo de trabalho também é mais do que bem-vinda, sem contar as ferramentas disponíveis. Todos na equipe devem usar as mesmas ferramentas para a mesma tarefa. O mesmo se aplica à configuração.
Uma configuração idêntica inclui majoritariamente ferramentas compartilhadas, como as de CI / CD ou ambientes de teste. Isso não implica que todos devam apresentar exatamente as mesmas configurações / preferências de usuário.
A integração deve ser um ponto de atenção da mesma forma. Se novos desenvolvedores ingressarem na equipe, suas atividades devem ficar claras. Eles precisam saber quais ferramentas devem instalar, e a quem recorrer para tirar suas dúvidas. E para isso, uma documentação, não apenas de software, mas dos fluxos de trabalho e processos, serve de suporte.
Pilares da Developer Experience
1. Função
Ela é essencial para a DX. Uma devtool (ferramenta de desenvolvedor) é tão boa quanto a funcionalidade que ela oferece. Não adianta tentar encobrir uma funcionalidade pobre com uma estética bonita, desviando assim a atenção do problema. Se a API não operar corretamente, ele não possui serventia para o desenvolvedor e nem colabora para a DX.
2. Estabilidade
Sem uma API estável não há confiança. Um dos elementos mais críticos para uma boa Developer Experience é a garantia das atividades e de um desempenho confiável. A estabilidade também está relacionada à capacidade de corrigir erros. Sem ela, as APIs e suas funcionalidades, mesmo que boas, tornam-se irrelevantes.
3. Facilidade de uso
A facilidade em utilizar uma API não está relacionada apenas a como navegar nas suas ferramentas, mas também a como acessar o que for necessário em todas as etapas da jornada. Tudo de forma eficiente e rápida.
Documentação rica, casos de uso, comunidades, filtros intuitivos, pesquisas realizadas anteriormente e pontos mais profundos como desempenho agregam velocidade ao processo de interação dos desenvolvedores com sua API e aumentam o engajamento.
4. Clareza
Quando falo em clareza, me refiro a uma interface simples e intuitiva, que traga todas as informações necessárias para ajudar o desenvolvedor a realizar suas atividades diárias e atenuar erros de usuários. Logo, clareza é sobre o desenvolvedor ter visibilidade total das possíveis consequências de uma ação.
Invista sem medo em uma DX
Muitas das experiências digitais que impulsionam a economia de hoje têm sua origem no trabalho e desempenho de desenvolvedores. Poucas são as empresas que não se enquadram nessa realidade. Uma verdade: Os desenvolvedores são colaboradores estratégicos tão essenciais quanto qualquer outro ator no pipeline de produtos de uma empresa. Portanto, o envolvimento do desenvolvedor deve ser um item prioritário para qualquer organização.
Isso significa que APIs não deveriam ser tratadas simplesmente como um middleware, mas como produtos para desenvolvedores. Elas exigem, como qualquer outro produto, uma equipe qualificada para gerenciá-las, sem contarmos todo o envolvimento com o cliente, ciclos de feedbacks e as interações ao longo do processo.
Se você pretende criar e lançar uma API de sucesso, precisa começar a investir em uma ótima experiência de desenvolvedor. Tal experiência deve incluir:
Conteúdo relevante sobre a API para grupos-alvo, e não apenas para desenvolvedores;
APIs de fácil entendimento;
Fluxos de integração;
Glossário para explicar os termos;
Guia de primeiros passos descrevendo as etapas de integração;
Exemplos nas linguagens de programação mais comuns.
Referência da API com detalhes dos terminais, solicitações e respostas esperadas, além de códigos de erro;
As notas de versionamento da API;
Limitações da API, incluindo cotas de solicitação e limitações de frequência.
API em primeiro lugar para um boa DX
Quando falamos de consumidores de APIs, abordamos o tema de desenvolvedores, e como sua experiência com o produto API pode levar ao sucesso ou fracasso de uma API. A estratégia API First ajuda na criação de APIs mais consistentes, melhor projetadas e documentadas, garantindo uma Developer Experience positiva e uma menor curva de aprendizado.
Ao projetar primeiro sua API, você garante uma melhor developer experience, já que tudo o que for feito será construído com base nela.
Além disso, os times de desenvolvimento conseguem trabalhar em paralelo, uma vez que não seja incomum que processos de desenvolvimento sejam síncronos e não paralelos.
Por exemplo, os primeiros a atuarem na criação de um novo serviço são os membros do time de pesquisa. Em seguida, a equipe de back-end começa a escrever o protótipo. A participação do front-end e Q&A só ocorrerá após a conclusão do protótipo e o compartilhamento da documentação da API.
O empecilho surge quando há a necessidade de aprimoramento por conta de um bug, fazendo este ciclo recomeçar, tomando um tempo valioso de todos os envolvidos e até atrasando o lançamento do produto ou serviço em questão.
Sendo assim, a estratégia possibilita o trabalho paralelo de equipes. Ela envolve também o estabelecimento de um contrato entre determinados serviços por parte dos times de desenvolvimento.
Tal contrato irá permitir que as equipes trabalhem em mais de uma API ao mesmo tempo. Dessa forma, um desenvolvedor não precisa esperar a atualização seguinte de uma API antes de passar para a próxima. Um contrato possibilita a simulação e testes das dependências de APIs com base na definição de API estabelecida.
Developer Experience Owner (DXO)
Uma adição à equipe de desenvolvimento que pode colaborar para o bom andamento da developer experience é o Developer Experience Owner (DXO). Um membro do time de desenvolvimento designado para cuidar da DX da equipe, selecionando e configurando as ferramentas, definindo fluxos de trabalho, integrando novos membros e sendo uma pessoa de contato central para todas as questões relacionadas à experiência do desenvolvedor.
Outro aspecto do DXO é manter os desenvolvedores “sincronizados”, ou seja, garantir que todos saibam o que está acontecendo, quando e quais atualizações são necessárias. O que inclui a prevenção de uma forma ruim do shadow IT, no qual os desenvolvedores usam ferramentas ou processos sem avisar a ninguém porque temem que isso não seja permitido.
Promova inovação e expanda seus negócios com a API Playbook, consultoria especializada em DX e governança de APIs
Este artigo foi escrito por Luana Brigo e publicado originalmente em Prensa.li.