Estimativa de um recurso de pesquisa
Como fazer uma estimativa de um recurso de busca: relevância, classificação, facetação e quem é o responsável pelo índice. As perguntas que transformam a ideia de “adicionar uma barra de busca” em uma estimativa concreta.
“Adicionar uma barra de pesquisa” acaba significando “escolher um mecanismo de busca, criar um modelo de relevância e controlar o índice para sempre”.
A pesquisa envolve dois aspectos que o ticket nunca menciona. O primeiro é a relevância: o que torna um resultado melhor do que outro, e quem decide isso? O segundo é operacional: onde fica o índice, como ele se mantém sincronizado com a fonte de verdade e o que acontece quando fica desatualizado? “Adicionar pesquisa” implica um controle da interface do usuário. O trabalho envolve a classificação e o índice.
Uma equipe que já lançou um sistema de busca sabe que a resposta raramente é a mesma duas vezes. A busca de texto completo do Postgres funciona bem até que alguém precise de tolerância a erros de digitação. O Elasticsearch é rápido até você começar a pagar por ele nos fins de semana. O Algolia é fácil de usar até você precisar de uma classificação personalizada. A estimativa depende do compromisso que a equipe está assumindo, e essa decisão geralmente ainda não foi tomada quando o ticket chega à fase de refinamento.
O que se fala na sala
Backend: “O Postgres consegue fazer isso com
tsvector.”PM: “Os erros ortográficos ainda devem ser mantidos? E os plurais?”
Front-end: “Vamos usar o preenchimento automático ou apenas o formato ‘enviar e depois exibir os resultados’?”
SRE: “Como estamos mantendo o índice sincronizado? Por meio de gatilhos? De uma tarefa? De um fluxo?”
Líder: “Quem detém a relevância quando alguém reclama que a resposta certa está na segunda página?”
Perguntas que vale a pena fazer antes de votar
- Que corpus — quantos documentos, com que frequência eles são atualizados?
- FTS do Postgres, um serviço de busca dedicado ou um serviço hospedado (Algolia, Typesense)?
- Tolerância a erros ortográficos, stemming, sinônimos, plurais — quais estão incluídos no escopo?
- Facetação e filtros, ou apenas uma única lista ordenada?
- Como o índice se mantém sincronizado — e qual é o limite de desatualização?
- Quem detém a relevância a longo prazo e como a ajusta?
Se a escolha da infraestrutura ainda estiver em aberto, essa decisão é um spike, e não uma tarefa — defina o escopo do spike e reavalie a estimativa da implementação assim que a tarefa de relevância tiver um responsável.
A caixa de pesquisa representa um dia. A relevância e o índice são as características — faça uma estimativa delas.
Consulte como estimar uma integração de pagamentos para ver o mesmo padrão — uma pequena área visível que esconde uma longa cadeia operacional — e os outros exemplos práticos de estimativas. Ou inicie uma sessão gratuita de Planning Poker quando a questão de relevância já tiver um responsável.