Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[CODECON] Desmacarronando código: um caso de re...

[CODECON] Desmacarronando código: um caso de refatoração

Já trabalhou com aquele código super legado, que é pior que aqueles postes de fio que estão prestes a explodir? Nessa palestra mostrarei como saímos de um código desses, que era quase impossível de mexer, para um em que conseguíamos incluir funcionalidades em apenas algumas horas

Camila Campos

April 21, 2021
Tweet

More Decks by Camila Campos

Other Decks in Programming

Transcript

  1. Agenda Contexto Time, Projeto & Pessoas Entrega Primeira versão do

    projeto Desmacarronação Como foi todo o processo de refatoração 1. 2. 3. Conclusões O que aprendemos com tudo isso 4.
  2. Decisões manuais (feitas por analistas de crédito) Reprovações automáticas (cerca

    de 10% das análises) Codebase de 3 anos (decisões manuais e reprovação automática)
  3. Atrasos (prazo estourado, complicações e muito chão) Decisões manuais (feitas

    por analistas de crédito) Reprovações automáticas (cerca de 10% das análises) Codebase de 3 anos (decisões manuais e reprovação automática)
  4. Atrasos (prazo estourado, complicações e muito chão) Decisões manuais (feitas

    por analistas de crédito) Reprovações automáticas (cerca de 10% das análises) Codebase de 3 anos (decisões manuais e reprovação automática)
  5. MAIS atrasos (prazo estourado, complicações e muito chão) Decisões manuais

    (feitas por analistas de crédito) Reprovações automáticas (cerca de 10% das análises) Codebase de 3 anos (decisões manuais e reprovação automática)
  6. Time desmotivado • Atrasos e complicações • Outras demandas •

    Pressão externa e interna • Demais coisas pessoais
  7. Alinhamento com stakeholders Derteminação do time Esboço do fluxo original

    Combinado com produto e liderança Durante esse período todo...
  8. 1. Não mexer no fluxo pós-crédito (o resto precisava continuar

    funcionando igual) Diminuir o número de incertezas (projeto trabalhoso, independente do caminho) 2. 3.
  9. 1. Não mexer no fluxo pós-crédito (o resto precisava continuar

    funcionando igual) Diminuir o número de incertezas (projeto trabalhoso, independente do caminho) Testar e validar o mais rápido possível (o processo todo era passível de bugs) 2. 3.
  10. Agregação e transformação de dados Achar entidade A Achar entidade

    B Consultar serviço 2 Transformar dados Consultar serviço 3 Calcular valores X ... Consultar serviço 4 Calcular valores Y
  11. Quebra de histórias Pequenos entregáveis, a maioria testáveis Mão na

    massa 3 meses sem pressão e com motivação Taca-le pau Prova de Conceito Simples, de um a dois dias
  12. Quebra de histórias Pequenos entregáveis, a maioria testáveis Mão na

    massa 3 meses sem pressão e com motivação Taca-le pau Prova de Conceito Simples, de um a dois dias
  13. Quebra de histórias Pequenos entregáveis, a maioria testáveis Mão na

    massa 3 meses sem pressão e com motivação Entrega do refactor Fluxos simultâneos, comp. de resultados e virada de chave Taca-le pau Prova de Conceito Simples, de um a dois dias
  14. CREDITS: This presentation template was created by Slidesgo, including icon

    by Flaticon, and infographics & images from Freepik @camposmilaa Valeu! bit.ly/camis-codecon2021