Meu fluxo COMPLETO de desenvolvimento avançado com IA

Meu fluxo COMPLETO de desenvolvimento avançado com IA

Fluxo Completo de Desenvolvimento com IA

Introdução ao Vídeo

  • O vídeo apresenta um fluxo completo para desenvolver uma funcionalidade complexa utilizando inteligência artificial (IA), prometendo reduzir o tempo de desenvolvimento de dias para minutos.
  • Valdemar Neto, o apresentador, discute temas como desenvolvimento avançado de software, liderança e IA, incentivando os espectadores a interagir com o canal.

Preparação para Desenvolvimento

  • O vídeo aborda a necessidade de um setup mínimo da IA no repositório para garantir produtividade.
  • A importância da engenharia de contexto é destacada; bons documentos de design (design docs) são essenciais para entender as expectativas do negócio e facilitar o uso da IA.

Contexto e Ferramentas

  • O contexto deve ser bem definido através de documentos como RFCs, ADRs e PRDs. Um exemplo prático é dado usando Confluence como fonte de design doc.
  • A ferramenta central mencionada é o Cursor, que ajuda a dividir um design doc em tarefas gerenciáveis no Jira.

Exemplo Prático: Integração com Stripe

  • O projeto em questão envolve integrar o Stripe como gateway de pagamento em um sistema fictício chamado "Fake Flix".
  • Um design doc detalha as funcionalidades necessárias, incluindo a criação de clientes e gerenciamento de métodos de pagamento.

Estrutura do Repositório

  • É apresentado um monorrepo modular onde será implementada a integração com Stripe. A configuração do conhecimento e contexto é crucial para efetividade na utilização da IA.
  • As regras (rules), habilidades (skills), e documentação são discutidas como componentes fundamentais na estrutura do projeto.

Conclusão sobre Documentação

  • A apresentação enfatiza que uma boa documentação deve ser revisada por humanos antes que a IA seja utilizada para enriquecer o código.

Introdução ao Progressive Disclosure e RPI

Conceitos Iniciais

  • O apresentador discute o conceito de "progressive disclosure" e menciona o "Research Plan Implement" (RPI), que será abordado na prática.
  • Ele destaca a importância de criar "skills" para automatizar tarefas, como acessar documentos no Confluence ou criar tickets no Jira, evitando prompts repetitivos.

Criação de Skills

  • As skills são contextos especializados que permitem interações eficientes com ferramentas como Confluence e MCP da Atlacen.
  • O apresentador enfatiza que a documentação do projeto é crucial para entender a estrutura modular e os padrões de código, permitindo uma execução mais rápida das funcionalidades.

Desenvolvimento de Funcionalidades

Estrutura do Projeto

  • Ao iniciar uma nova funcionalidade, é importante avaliar se todos os requisitos do MVP estão definidos no design doc.
  • A diferença entre MCP (Multi-channel Protocol) e skills é explicada: MCP lida com informações remotas enquanto skills operam localmente.

Definição do MVP

  • O apresentador menciona que alguns elementos ainda não estão definidos, como web hooks e tratamento de erros, mas um MVP básico já está em andamento.
  • Ele sugere ler o "architecture overview" para definir uma arquitetura modular adequada ao projeto.

Quebra de Tarefas

Organização das Tarefas

  • O processo envolve quebrar as tarefas necessárias para o desenvolvimento em partes menores, facilitando a gestão do trabalho.
  • A IA gera tarefas baseadas em fases específicas do projeto; cada fase deve ser tratada como uma tarefa distinta para melhor organização.

Execução das Tarefas no Jira

  • As tarefas geradas incluem configuração inicial, persistência e serviços principais. É destacado que o contexto técnico deve ser mantido em alto nível nas descrições das tarefas.
  • Após a criação das tarefas no Jira, o foco se volta para o desenvolvimento efetivo das funcionalidades utilizando as skills previamente definidas.

Explorando a Paralelização com IA

Oportunidades de Paralelização

  • A inteligência artificial (IA) pode criar tarefas e avaliar o esforço necessário para completá-las, especialmente em um monorrepo onde tudo está integrado.
  • Algumas sugestões de paralelização incluem a configuração inicial, persistência de dados e integração do cliente. No entanto, muitas tarefas ainda não são paralelizáveis.

Gerenciamento da Janela de Contexto

  • É importante abrir novos contextos frequentemente para manter a janela de contexto baixa, evitando que a IA "alucine" devido à sobrecarga de informações.
  • Manter a janela de contexto em torno de 30% é ideal para garantir eficiência na execução das tarefas.

Planejamento e Execução

  • O apresentador menciona um workshop avançado sobre desenvolvimento com IA, destacando sua importância prática e acessibilidade financeira.
  • Após criar um plano inicial, é essencial revisar se ele segue as estruturas do projeto e se está alinhado com as regras documentadas.

Revisão do Plano Criado

  • A revisão do plano envolve verificar se as configurações estão corretas e se o cliente Stripe foi implementado adequadamente.
  • Um aumento no contexto durante a criação do plano indica que projetos maiores exigem mais pesquisa por parte da IA.

Estratégias Durante o Desenvolvimento

  • Para otimizar recursos, recomenda-se usar modelos mais baratos para executar planos complexos, como o Composer do Cursor.
  • Ao lidar com funcionalidades não paralelizáveis, é possível utilizar tempo livre para trabalhar em outras tarefas ou criar novas branches no Git sem impactar o trabalho principal.

Gerenciamento de Bugs e Implementações Paralelas

Criação e Resolução de Bugs

  • O apresentador discute a possibilidade de trabalhar em diferentes branches, permitindo resolver bugs enquanto se desenvolve novas funcionalidades.
  • Ele menciona a criação de uma branch específica para corrigir um bug chamado "Ken 17", destacando a flexibilidade do sistema ao permitir múltiplas implementações simultâneas.

Execução de Tarefas em Paralelo

  • O uso de várias instâncias é abordado, onde o apresentador enfatiza que, com recursos financeiros adequados, é possível executar diversas tarefas ao mesmo tempo.
  • A importância da paralelização é ressaltada, permitindo que o desenvolvedor trabalhe em múltiplos planos sem conflitos entre eles.

Processos e Verificações

  • O apresentador explica como o sistema realiza verificações automáticas (lint e build), garantindo que as implementações estejam corretas antes do merge na branch principal.
  • Ele destaca que os testes passaram com sucesso, indicando que as mudanças feitas não introduziram novos problemas no código.

Documentação e Assertividade

  • A boa documentação do projeto é mencionada como um fator crucial para garantir assertividade nas implementações e facilitar o trabalho paralelo.
  • O apresentador conclui a correção do bug e inicia uma nova implementação, reforçando a ideia de que uma documentação clara permite maior eficiência no desenvolvimento.

Mentalidade Moderna dos Desenvolvedores

  • É discutido como os novos desenvolvedores já chegam com uma mentalidade voltada para a paralelização das tarefas desde o início da carreira.
  • O apresentador reflete sobre as preocupações com desenvolvedores juniores, mas observa que eles estão mais preparados para lidar com multitarefas devido à evolução das práticas de desenvolvimento.

Implementação Final e Conclusão

  • A criação de serviços específicos dentro do projeto é detalhada, mostrando como cada parte interage dentro da arquitetura proposta.
  • O apresentador finaliza sua apresentação enfatizando a importância da execução paralela durante períodos de espera por processos concluírem.

Aprendendo com Work Trece

Ferramentas e Produtividade

  • O trabalho com a ferramenta "work trece" é altamente recomendado para aprendizado, pois oferece suporte significativo.
  • É importante encontrar ferramentas que ajudem na realização de merges de volta na branch principal, o que pode aumentar consideravelmente a produtividade.
  • O autor incentiva os espectadores a comentarem sobre as ferramentas que utilizam e suas experiências, promovendo uma troca de conhecimento.
  • Há um convite para os espectadores compartilharem feedback sobre o vídeo e esclarecerem dúvidas que possam ter surgido.
  • O autor menciona que deixará links para um workshop e uma live onde abordará habilidades e contextos relevantes.
Video description

💎 Workshop de IA Avançado, vagas limitadas https://tinyurl.com/kaft5j4d Neste vídeo, mostro meu fluxo COMPLETO de desenvolvimento com IA - do design doc ao código em produção. Aprenda o 80/20 de como trabalhar com IA para aumentar muito a tua produtividade. 💡 Principais conceitos abordados: - Contexto vs Prompts - 80/20 do desenvolvimento com IA - Diferença entre MCP, Skills e Agents - Como usar Cursor, Atlassian MCP e outras ferramentas - Paralelização de tasks para ganhar tempo 🚨 Se inscreva na live grátis sobre Skills, Rules e contexto no dia 29/01 https://tinyurl.com/2wjttx7c Assista ao meu vídeo anterior sobre RPI e Context Engineering https://youtu.be/8fZUfVFWT4M 📄 Link para o Technical Design Doc que mostrei https://drive.google.com/file/d/1LrCv_NS8o5jHjGpQeyVx3WssqpmbHqCY/view?usp=drive_link ⏱ Timestamps 00:00 - Introdução: Feature complexa em minutos com IA 00:11 - O princípio 80/20 do desenvolvimento com IA 00:40 - O que você vai aprender neste vídeo 01:07 - Pré-requisito #1: Fonte do contexto (Design Docs) 01:38 - Exemplo prático: usando Confluence para design doc 04:02 - Pré-requisito #2: Setup no repositório (vamos pro código) 04:13 - O mínimo para ter efetividade com IA no repositório 04:28 - Rules, Skills e Agents: qual a diferença? 06:23 - MCPs: o que são e para que servem 07:36 - Usando MCP para buscar contexto remoto (Atlassian) 07:43 - MCP vs Skills vs Documentação (explicado) 10:44 - Contexto bem estruturado é o que importa 14:36 - Review e aprovação: você é o engenheiro 16:09 - Trabalhando em paralelo: múltiplas tasks simultâneas 21:24 - Resultado: MVP completo seguindo todos os padrões ⚡ A feature desenvolvida: Integração completa com Stripe (billing) - setup de credenciais, criação de clientes, gerenciamento de assinaturas, migrations de banco e muito mais. 🎯 Para quem é este vídeo: Desenvolvedores que querem trabalhar de forma mais inteligente (não mais duro) usando IA como um multiplicador de força.