Mentalidade de produto no desenvolvimento de APIs

A mentalidade de produto como fator chave no desenvolvimento de uma API de sucesso.

Mentalidade de produto no desenvolvimento de APIs
Photo by Thomas Tastet / Unsplash

As APIs, são um mecanismo crucial para conectar aplicações, dados e sistema. Elas conseguem abstrair serviços complexos e capacitar desenvolvedores para aproveitar funções de forma mais eficiente e de novas maneiras.

A mentalidade de produto é um fator-chave no desenvolvimento de uma API de sucesso (pública ou interna). O gerenciamento das mesmas deve ser prioridade para seus responsáveis, já que a entrega de uma lista de requisitos técnicos pode não gerar nenhum valor para o negócio.

Uma abordagem ágil no desenvolvimento de APIs vem com a mentalidade de produto e roadmap, que provará ser inestimável para manter esse processo sob controle. O desenvolvimento de APIs é um processo contínuo que precisa ser feito tendo um grupo de usuários em mente.

Como em qualquer produto, as APIs precisam ser desenvolvidas com pensamento de longo prazo para conseguir se adequar às mudanças na comunidade de desenvolvimento e resolver os problemas aos quais se propuseram solucionar.

Neste artigo falaremos sobre mentalidade de produtos no desenvolvimento de APIs e como aplicar alguns conceitos no dia a dia de produtos.

As APIs

De maneira geral, as APIs são componentes utilizados pelos desenvolvedores para construir outros produtos, que inevitavelmente evoluem em função das necessidades dos usuários finais.

As necessidades dos usuários de APIs serão inevitavelmente diferentes dependendo do tipo de público, e determinar quais características são necessárias deve ser o primeiro passo em qualquer roteiro de produto.

As equipes que constroem APIs precisam entender as necessidades de seus clientes e de seus usuários internos, e fazer um produto atraente para eles através do design, prototipagem, testes e feedback.

Diferente de produtos de plataforma, por exemplo, em APIs estamos olhando tanto para o desenvolver que a utilizará como meio para construir uma solução, quanto para o cliente final do produto que está sendo desenvolvido.

Com isso em mente, torna-se mais clara a tarefa de fornecer funcionalidades coerentes com o fluxo de desenvolvimento e para a resolução do problema do usuário final.

Aplicação nos produtos de APIs

A pessoa responsável pelo desenvolvimento deste produto deve compreender as necessidades reais das partes interessadas (clientes e desenvolvedores) para traduzi-las em requisitos ao construir a aplicação.

A extração do máximo valor de produtos API envolve não apenas fatores técnicos, mas também como eles serão operacionalizados por usuários e desenvolvedores. Esta mentalidade de produto deve reconhecer que o futuro da API deve vir através da interação com estes usuários.

Um produto API oferece oportunidades ou resolve obstáculos existentes, mas o espectro completo de casos de uso de API pode não ser óbvio logo de início. Essas oportunidades podem ser mapeadas no produto através de ciclos de desenvolvimento, alavancando inteligentemente as APIs.

Metodologia enxuta

Tomemos o exemplo de uma empresa financeira, que pode ter em sua plataforma várias funcionalidades como compra e venda de ativos, envio e recebimento de valores, e serviços de consultoria, entre muitas outras.

Tentar externalizar estes serviços no primeiro momento não é a melhor abordagem. Você sofreria com problemas de dependência e não teria tempo suficiente para testar a interface com seus usuários.

Este ciclo, provavelmente, terminaria em um processo de desenvolvimento cascata e acabaríamos por construir um grande monstro que traria pouco ou nenhum valor para as empresas que consumiriam sua aplicação. Começar com uma abordagem de baixo esforço é a melhor maneira de testar produtos API com menos risco.

Dessa forma, sua equipe pode entender as reais necessidades técnicas dos clientes e sua API cresce ao fornecer mais valor a eles.

  • Pense em seus principais serviços fornecidos na plataforma e como eles poderiam ser entregues através de uma API;
  • Procure casos de uso mais simples que possam ser automatizados e utilizados através de sua API;
  • Entenda como o uso de sua API irá gerar valor para a empresa que a utilizará. A busca dos contextos e problemas destas empresas sempre ajuda neste processo.

Fornecendo APIs para valor a longo prazo

Uma maneira de projetar APIs eficazmente é trazer uma mentalidade de produto para o ciclo de desenvolvimento. A maneira como uma API é criada é de suma importância para a sua utilização, pois será consumida por desenvolvedores que podem, no futuro, sugerir novas alavancas de negócio através dela.

Erros como negligência de documentação, padrões de projeto, versionamento e segurança podem impedir o uso futuro da API, assim como sua adaptabilidade a diferentes casos de uso.

Tomemos um exemplo para tornar o caso mais claro. Construir APIs para atender requisitos específicos de um determinado projeto é uma abordagem que pode limitar a longevidade da aplicação.

Esta limitação ocorre porque os detalhes de implementação foram desenvolvidos apenas para aquele cenário de projeto, tornando as atualizações mais complexas. O que pode tornar o uso da API mais difícil para que novos desenvolvedores a utilizem.

Quando as APIs não são projetadas para fácil desenvolvimento e consumo intuitivo, as dificuldades trazem a ameaça de complicações e perda de produtividade.

Por outro lado, APIs construídas com mentalidade de produto facilitarão o consumo e aumentarão a probabilidade de fornecer valor estratégico e econômico para a empresa que a desenvolve.

Como pessoa de produto, sua estratégia deve informar quais APIs deverão ser construídas primeiro, para que você esteja expondo as características mais críticas mais cedo em vez de mais tarde.

Lembre-se, as empresas que utilizarão das suas APIs estarão construindo seus próprios produtos, portanto, se suas APIs forem lentas, com bugs ou tiverem falhas de segurança, isso afetará seus produtos, assim como os clientes que usam sua aplicação.

Conclusão

Pensamentos modernos de gerenciamento de produtos incentivam as equipes a alavancar o design centrado no usuário, o uso de técnicas de prototipação enxutas e práticas de desenvolvimento ágeis para criar produtos de sucesso que satisfaçam as necessidades dos clientes e sejam responsivos às mudanças na tecnologia e no mercado.

Como qualquer produto, as APIs também necessitam de racionalidade comercial, personas de usuário, casos claros de uso, roadmap, modelos de receita, planos de pré-lançamento e planos de pós-lançamento.

Esta mentalidade voltada para o produto precisa se estender para além do cenário macro de produtos de plataforma, alcançando os produtos de APIs.

  • O desenvolvimento de APIs deve pensar tanto em problemas presentes como futuros. Códigos que só resolvem apenas o “agora” acabam se tornando obsoletos posteriormente;
  • Acompanhar os dados da API e garantir que haja comunicação entre clientes e desenvolvedores é fundamental para a construção de APIs adotadas com sucesso;
  • Pensar na API como um produto e não como uma exigência técnica traz consigo a compreensão do valor que ela pode gerar para o negócio de forma mais ampla;
  • Facilitar a integração com sua API faz com que os desenvolvedores construam melhores aplicações usando o que você fornece. *Faça o trabalho do desenvolvedor mais fácil.

Desenvolver a API com todos os cenários que sua empresa pode oferecer pode não ser a abordagem mais inteligente. Dê o mínimo que os desenvolvedores exigem (e gera valor) e entenda por interações quais os próximos passos que precisam ser tomados.

Vejo você no próximo artigo.