Crie uma conta gratuita ou Faça login
Podcast
Tech Leadership Rocks
Episódio 211

Velocidade vs Qualidade com Miguel Pessoa

• 58 minutos

Equilibrar velocidade e qualidade é um dos maiores desafios enfrentados por Tech Leads. O conceito de Engineering Momentum surge como uma abordagem para ajudar a encontrar esse balanço. Neste episódio o Miguel Pessoa, Senior Engineering Manager na Inventa, fala sobre como alinhar expectativas, priorizar demandas e manter o ritmo de entregas sem comprometer a excelência técnica.

Reaja nos momentos marcantes
Curti
Boa ideia
Amei
Engraçado
Parabéns
Mind blown

Sem negócio não existe engenharia, sem negócio não existe escalabilidade, não existe salário no final do mês. Então, se for para priorizar, priorize resolver o problema.

— Miguel Pessoa

Capítulos

00:00 Introdução
00:41 Sobre o Miguel Pessoa
02:17 O que é Engineering Momentum
04:46 Como encontrar o equilíbrio entre qualidade e velocidade
09:00 Kent Beck's 3X
12:22 Como lidar com a pressão por velocidade
14:40 Quebrar entregáveis
17:22 Engenharia de software no mundo real
21:12 Trade-offs precisam ser documentados
24:25 Tem como ganhar velocidade e qualidade ao mesmo tempo?
27:45 Porque qualidade é importante
30:13 Engenheiros que só pensarem em código vão ficar fora do mercado
32:28 Até onde pensar no futuro em termos de engenharia
36:12 Como descobrir requisitos não funcionais
40:02 Como lidar com dívida técnica proveniente de um MVP
45:01 Como priorizar melhorias técnicas
46:33 Como evitar que Devs sejam subservientes ao negócio
50:25 A importância pelo interesse pelo negócio

Resumo deste episódio

O que é o Engineering Momentum

O conceito de Engineering Momentum se baseia em uma analogia com o momento linear da física. Ele é composto por dois elementos:

  • Velocidade: A capacidade do time de entregar soluções rapidamente.
  • Massa: A qualidade e a robustez das soluções entregues, que afetam a facilidade de escala e manutenção.

Essa analogia destaca que um aumento na velocidade sem uma massa suficiente pode comprometer a estabilidade. Da mesma forma, aumentar excessivamente a massa pode tornar o sistema lento e pesado. Encontrar o ponto de equilíbrio entre esses dois elementos depende do momento organizacional e das metas de negócio. Por exemplo, startups em estágios iniciais podem priorizar velocidade para validar hipóteses, enquanto empresas maduras devem focar mais em estabilidade e confiabilidade.

Como descobrir o equilíbrio ideal

Não existe uma fórmula universal para encontrar o equilíbrio perfeito entre velocidade e qualidade. Cada organização, produto ou time possui particularidades. Alguns fatores que podem influenciar são:

  • Estágio do produto: Durante o estágio inicial, rapidez é crucial para experimentação, mas, em produtos estabelecidos, a estabilidade se torna prioridade.
  • Momento da empresa: Empresas que buscam captar investimentos podem precisar de entregas rápidas, enquanto outras podem priorizar eficiência operacional.
  • Especificidades do time e do negócio: Cada equipe pode ter demandas diferentes. Um time responsável por sistemas de pagamento provavelmente priorizará robustez, enquanto outro, focado em experimentação, pode priorizar agilidade.

Um ponto relevante é que o equilíbrio pode mudar ao longo do tempo, mesmo dentro de uma mesma empresa. Produtos diferentes ou times distintos podem operar em momentos organizacionais divergentes. Assim, é essencial reavaliar constantemente as prioridades e alinhar expectativas com todos os stakeholders, ajustando as práticas conforme necessário.

Gerenciando pressão para entregar rápido

Uma pressão constante por resultados rápidos é comum em equipes de engenharia. A chave para lidar com isso é a comunicação transparente e a clara definição de expectativas. Isso inclui:

  • Quebrar entregas em pequenas etapas: Pequenas vitórias aumentam a confiança dos stakeholders e ajudam a ajustar as priorizações ao longo do tempo.
  • Documentar decisões técnicas: Manter um histórico claro de por que determinadas escolhas foram feitas ajuda a justificar trade-offs e evita confusões futuras.
  • Alinhar entregas ao impacto no negócio: Mostrar como soluções técnicas geram valor ajuda a construir confiança entre a equipe técnica e as áreas de negócio.

Outra estratégia fundamental é criar um fluxo constante de comunicação entre engenharia, produto e stakeholders. Reuniões regulares para revisar progresso, identificar gargalos e ajustar prioridades ajudam a manter todos na mesma página. É importante também fomentar um ambiente onde feedbacks sejam bem-vindos e considerados, criando um ciclo de melhoria contínua.

Como lidar com dívida técnica

A dívida técnica é inevitável, especialmente em produtos que passaram por rápidas iterações. Para lidar com ela sem comprometer as novas entregas você pode usar o conceito de guardião:

  • Alguém do time fica responsável por mapear problemas técnicos recorrentes e categorizar o impacto deles.
  • Essas tarefas são priorizadas em ciclos, alinhadas às necessidades do produto e do negócio.
  • Dessa forma, é possível corrigir problemas aos poucos, sem interromper o fluxo de desenvolvimento.

Além disso, é essencial documentar os trade-offs feitos durante as decisões técnicas. Muitas vezes, a razão por trás de uma escolha específica se perde com o tempo, levando a confusão ou retrabalho. Manter um registro claro do porquê das decisões tomadas ajuda tanto na manutenção quanto na evolução do produto.

A Importância de Entender o Negócio

Para engenheiros, conhecer o negócio é essencial. Isso vai além de entender como funciona o produto; significa saber como ele gera valor para os clientes e para a empresa. Algumas sugestões incluem:

  • Acompanhar como os usuários interagem com o sistema.
  • Fazer perguntas sobre as necessidades e limitações do negócio.
  • Participar de discussões de produto e design.

Engenheiros que se aproximam do negócio conseguem propor soluções mais eficientes e alinhadas às metas da empresa. Essa proximidade também reduz o risco de criação de funcionalidades que não agregam valor ou que não atendem às reais necessidades dos usuários. Por exemplo, acompanhar um usuário utilizando o sistema pode revelar problemas que não foram previstos durante o planejamento, ajudando a ajustar o escopo e priorizar melhorias.

Reflexões Finais

Em um cenário onde as demandas por velocidade e qualidade só aumentam, é crucial estabelecer um equilíbrio claro entre ambas. Seja ajustando o ritmo conforme o momento do produto, lidando com a pressão para entregar ou gerenciando a dívida técnica, o sucesso depende da capacidade de comunicar, priorizar e entender o negócio.

Lembre-se, o sucesso não é apenas sobre entregar rápido ou construir soluções robustas; é sobre encontrar o balanço certo que impulsione o negócio e mantenha o time motivado e eficaz. Trabalhar continuamente nesse equilíbrio é o que transforma bons times em equipes extraordinárias.

Se você entende a importância de ter uma boa velocidade de entrada preservando a qualidade, então se inscreva na aula de “Como Fazer Entregas Rápidas” aqui na Escola Forja.

Para ler todo o resumo Crie uma conta grátis ou Faça login