$30 off During Our Annual Pro Sale. View Details »

Débito Técnico: Porque isso vai estragar teu Software

Débito Técnico: Porque isso vai estragar teu Software

Estamos acostumados a pensar que o Débito Técnico é apenas código ruim criado por pessoas imprudentes, mas com essa palestra eu gostaria de propor uma visão mais ampla do que realmente podemos chamar de Débito Técnico em uma era de Software Sustentável.

A ideia para essa palestra veio depois que entrei em alguns projetos em andamento e comecei a perceber muitos padrões e sinais de alerta entre as fases de desenvolvimento e entrega do produto. Esses problemas costumam ser chamados Débito Técnico e percebi o custo que eles tinham no produto final. A "sanidade" do código final é um reflexo das dificuldades da equipe durante o desenvolvimento, bem como das estruturas, processos e relacionamentos de toda a empresa. As falhas de um produto cheio de Débito não depende apenas dos desenvolvedores.

É por isso que vou discutir como podemos identificar os gargalos que estão gerando cada vez mais débito e como lidar com eles. E, no final, poderemos discutir alguns dos problemas mais comuns de saúde mental associados a essa Dívida Técnica, por exemplo: Como lidar com códigos ruins por um longo tempo pode atrofiar suas habilidades técnicas.

Labcodes Software Studio

January 30, 2020
Tweet

More Decks by Labcodes Software Studio

Other Decks in Programming

Transcript

  1. Débito Técnico:
    Porque isso vai estragar
    teu software
    Luan Fonseca

    View Slide

  2. View Slide

  3. Quem sou eu?
    Luan Fonseca
    Engenheiro de Software na Labcodes
    Fundador do Speakerfight.com
    ~10 anos como Pythonista

    View Slide

  4. Design e
    desenvolvimento
    Python/django e js/react
    Palestras na PyCon US,
    DjangoCon EU e
    EuroPython
    labcodes.com.br

    View Slide

  5. Agenda
    ➜ Chico, the purrgrammer
    ➜ Porque Débito Técnico é sempre algo ruim?
    ➜ Quem é responsável pelo Débito?
    ➜ Como lidar com isso?
    ➜ Soluções sustentáveis
    ➜ É lucrativo?
    ➜ Metáfora do Débito Técnico
    ➜ Além do lucro

    View Slide

  6. Chico,
    the purrgrammer

    View Slide

  7. ➜ Esse é Chico
    ➜ Senior Software Developer
    ➜ Anos de experiência
    Chico,
    the purrgrammer

    View Slide

  8. ➜ De repente, um novo projeto
    ➜ Pagamentos, Autenticação por
    Redes Sociais e uma
    integração com serviços de
    entrega
    ➜ Data de entrega: 1 mês
    Chico,
    the purrgrammer

    View Slide

  9. ➜ Chico é incrível
    ➜ Entregou o projeto no prazo
    Chico,
    the purrgrammer

    View Slide

  10. ➜ Problemas encontrados na
    Revisão do Código
    ➜ Pagamentos inconsistentes
    ➜ Entregas não processadas
    ➜ Autenticação é muito leiga
    Chico,
    the purrgrammer

    View Slide

  11. ➜ Outro projeto apareceu
    ➜ Ele não teve tempo de fazer
    correções
    ➜ O time decidiu entregar assim
    mesmo
    Chico,
    the purrgrammer

    View Slide

  12. “No futuro eu volto
    e corrijo tudo.”

    View Slide

  13. SPOILER
    ALERT!

    View Slide

  14. Problemas no
    projeto de Chico

    View Slide

  15. ➜ Pagamentos não aceitam outras moedas
    ➜ Se o serviço de entregas estiver fora do ar, o código para de funcionar
    ➜ Usuários com contas desativadas ainda conseguem acessar
    ➜ Sem testes automatizados
    Problemas no projeto de Chico

    View Slide

  16. Nós chamamos isso de
    Débito Técnico

    View Slide

  17. View Slide

  18. Porque Débito Técnico
    é sempre algo ruim?

    View Slide

  19. Porque Débito Técnico é sempre algo ruim?
    Acelerar
    entregas
    Perder
    Qualidade
    vs

    View Slide

  20. Quadrante do Débito Técnico
    Chico
    Desleixado Prudente
    Cauteloso
    Negligente
    "Precisamos entregar
    agora e lidar com as
    consequências"
    "Não temos tempo
    para design"
    "O que é padrão
    de Projeto?"
    "Agora sabemos como a
    gente deveria ter feito"

    View Slide

  21. Quem é responsável
    pelo Débito?

    View Slide

  22. ➜ Software é o resultado da empresa inteira
    ➜ A indústria mudou muito desde que o termo Débito Técnico nasceu
    ➜ Gargalos podem vir de diferentes partes da sua empresa
    Quem é responsável pelo Débito?

    View Slide

  23. ➜ Time de Gerência vs Velocidade do Time de Desenvolvimento
    ➜ Time de Produto pode não ter um plano futuro
    ➜ Time de UI/UX pode estar muito distante das pessoas desenvolvedoras
    Quem é responsável pelo Débito?

    View Slide

  24. ➜ Nossas má-decisões contam
    ➜ Sintomas de Frameworks
    ➜ Baixa cobertura de testes
    ➜ Chico
    Quem é responsável
    pelo Débito?

    View Slide

  25. Como lidar com isso?

    View Slide

  26. ➜ Reescrever tudo
    ➜ Contratar mais pessoas para lidar apenas com o Débito
    ➜ Parar tudo até que os pontos de alto débito estejam corrigidos
    ➜ Criar tarefas para de débito técnico em uma quadro separado apenas
    para Débito Técnico
    Como lidar com isso?

    View Slide

  27. ➜ Tarefas esquecidas
    ➜ Débito técnico invisível
    Board de
    Débito Técnico

    View Slide

  28. O que podemos fazer?

    View Slide

  29. Soluções sustentáveis

    View Slide

  30. Soluções sustentáveis
    I.M.P.A.C.T

    View Slide

  31. 20%
    dos pontos
    da semana
    Soluções sustentáveis
    ➜ Principio de Pareto para
    tarefas de débito técnico
    80%
    Dos pontos
    da semana
    Tarefas de
    Débito Técnico
    Tarefas Normais
    e Correções
    de Bugs

    View Slide

  32. Soluções sstentáveis
    Reunião de Revisão de Débito Técnico depois
    de grandes entregas

    View Slide

  33. É lucrativo?

    View Slide

  34. Design evolucionário

    View Slide

  35. 2.84 trilhões
    de dólares
    - Custo da baixa qualidade de software

    View Slide

  36. Ward Cunningham
    Pioneiro em Programação Extrema
    Nomeou o conceito de Débito Técnico

    View Slide

  37. Mesmo se tivermos um ótimo código
    com as melhores práticas aplicadas
    nele, isso não significa que
    temos um baixo débito técnico.

    View Slide

  38. Além do lucro

    View Slide

  39. Ansiedade e Depressão

    View Slide

  40. Atrofia das
    habilidades técnicas

    View Slide

  41. Crescimento problemático

    View Slide

  42. Torre de Pisa
    é sustentável
    novamente

    View Slide

  43. View Slide

  44. www.labcodes.com.br
    github.com/labcodes
    twitter.com/labcodes
    speakerdeck.com/labcodes
    Obrigado!
    Luan Fonseca - @luanfonceca

    View Slide