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

O impacto da qualidade do código em empresas e ...

Alberto Luiz Souza
November 06, 2023
43

O impacto da qualidade do código em empresas e carreiras

Alberto Luiz Souza

November 06, 2023
Tweet

Transcript

  1. POR QUE ESTE EVENTO EXISTE? QUAL PROMESSA QUEREMOS ENTREGAR PARA

    CADA PESSOA QUE ESTÁ AQUI COM A GENTE PARA QUEM É ESTE EVENTO? UM POUCO SOBRE MIM E MAURÍCIO ANICHE POR QUE SER EXCELENTE EM ESCREVER CÓDIGO DE QUALIDADE É IMPORTANTE PARA NOSSAS CARREIRAS? COMO A MÁ QUALIDADE DE CÓDIGO IMPACTA NEGATIVAMENTE AS EMPRESAS 1. 2. 3. 4. 5. 6.
  2. TESTES AUTOMATIZADOS (3X) SOLID ORIENTAÇÃO A OBJETOS E BOAS PRÁTICAS

    DESIGN DE CÓDIGO GARANTIR MANUTENIBILIDADE ALINHAMENTO DO NEGÓCIO (DDD) DESIGN PATTERNS ARQUITETURA EM CAMADAS
  3. DÍVIDA TÉCNICA DESVIA RECURSOS: DE 10 A 20% DO ORÇAMENTO

    DE TECNOLOGIA DEDICADO A NOVOS PRODUTOS É GASTO RESOLVENDO DÍVIDA TÉCNICA CONSOME ENTRE 20% E 40% DO VALOR QUE PODERIA SER DADO A ÁREA DE ENGENHARIA É CRESCENTE: 60% DOS CIOS SENTEM QUE A DÍVIDA TÉCNICA DE SUA ORGANIZAÇÃO AUMENTOU NOS ÚLTIMOS 3 ANOS. AUMENTA CUSTOS E ATRASOS: PROBLEMAS OCULTOS NA ARQUITETURA FAZEM PROJETOS ULTRAPASSAREM ORÇAMENTOS E PERDEREM PRAZOS.
  4. QUALIDADE INTERNA DE CÓDIGO NÃO É PERCEBIDA PELO USUÁRIO, MAS

    AFETA A VELOCIDADE DE DESENVOLVIMENTO DE NOVOS RECURSOS. MÁ QUALIDADE INTERNA LEVA AO ACÚMULO DE "CRUFT" (CÓDIGO BAGUNÇADO) QUE DIFICULTA ENTENDER E MODIFICAR O CÓDIGO EXISTENTE. É MUITO COMPLICADO MEDIR PRODUTIVIDADE DE SOFTWARE QUANTITATIVAMENTE, MAS DEVS EXPERIENTES RELATAM QUE CÓDIGO DE MÁ QUALIDADE OS DESACELERA SIGNIFICATIVAMENTE EM POUCAS SEMANAS.
  5. DÍVIDA TÉCNICA DESVIA RECURSOS: 10-20% DO ORÇAMENTO PARA NOVOS PRODUTOS

    É GASTO RESOLVENDO PROBLEMAS RELACIONADOS À DÍVIDA TÉCNICA. EXISTEM DOIS COMPONENTES: PRINCIPAL (CUSTO DE REFATORAÇÃO) E JUROS (ESFORÇO EXTRA DEVIDO À DÍVIDA TÉCNICA). JUROS SE ACUMULAM COM O TEMPO À MEDIDA QUE CÓDIGO FICA MAIS FRÁGIL. PESQUISAS ESTIMAM QUE DEVS GASTAM EM MÉDIA 23-33% DO SEU TEMPO LIDANDO COM DÍVIDA TÉCNICA. ISSO CLARAMENTE IMPACTA PRODUTIVIDADE.
  6. CÓDIGO DE BAIXA QUALIDADE (ALERTA) CONTÉM EM MÉDIA 15 VEZES

    MAIS DEFEITOS REPORTADOS EM JIRA DO QUE CÓDIGO DE ALTA QUALIDADE (HEALTHY). RESOLVER UMA ISSUE NO JIRA EM CÓDIGO DE BAIXA QUALIDADE (ALERTA) LEVA EM MÉDIA 124% MAIS TEMPO DE DESENVOLVIMENTO DO QUE EM CÓDIGO SAUDÁVEL (HEALTHY). RESOLVER ISSUES EM CÓDIGO DE BAIXA QUALIDADE ENVOLVE MUITO MAIS INCERTEZA, COM TEMPOS MÁXIMOS DE DESENVOLVIMENTO 9 VEZES MAIORES DO QUE EM CÓDIGO SAUDÁVEL. ISSO AFETA A PREVISIBILIDADE E PLANEJAMENTO DAS EQUIPES.
  7. CLASSES COM CODE SMELLS TENDEM A SER MAIS PROPENSAS A

    MUDANÇAS E DEFEITOS. TER MÚLTIPLOS SMELLS AMPLIFICA ESSE EFEITO. MESMO OS MELHORES DEVS INTRODUZEM SMELLS. EQUIPES EXCELENTES CONTROLAM COM TESTES, REFATORAÇÃO E INTEGRAÇÃO CONTÍNUA. CODE SMELLS COMO LONG METHOD, SPAGHETTI CODE E COMPLEX CLASS SÃO OS MAIS DIFUNDIDOS. ISSO SUGERE QUE MÉTRICAS SIMPLES JÁ PODEM INDICAR PROBLEMAS DE QUALIDADE.
  8. PESSOAS EXECUTIVAS CONSIDERAM FALTA DE DEVS UMA GRANDE AMEAÇA AOS

    NEGÓCIOS, MAIS ATÉ QUE ACESSO A CAPITAL. PORÉM, A PRODUTIVIDADE DOS DESENVOLVEDORES É IGUALMENTE CRÍTICA. DEVS GASTAM EM MÉDIA 17 HORAS POR SEMANA EM MANUTENÇÃO E DEBUG, E 3,8 HORAS EM "BAD CODE", TOTALIZANDO US$ 85 BILHÕES EM CUSTO ESTIMADO ANUAL GLOBALMENTE. CÓDIGO RUIM E DÍVIDA TÉCNICA TÊM GRANDE IMPACTO NEGATIVO NA MOTIVAÇÃO DOS DESENVOLVEDORES.
  9. SER CAPAZ DE ESCREVER CÓDIGO QUE FACILITE MANUTENÇÃO É ALGO

    QUE ESTÁ NO CENTRO DE TUDO, É FUNDAMENTAL
  10. É COMO SE FOSSE UMA AÇÃO BLUE CHIP, SÃO AQUELAS

    MAIS NEGOCIADAS E MAIS ESTÁVEIS DA BOLSA
  11. QUALIDADE DE CÓDIGO, DÍVIDA TÉCNICA, FERRAMENTAS, COMUNICAÇÃO EM EQUIPE, METAS,

    MUDANÇAS ORGANIZACIONAIS ESTÃO CAUSALMENTE LIGADOS À PRODUTIVIDADE. ANÁLISE MAIS FORTE AINDA MOSTRA QUE MELHORIAS EM QUALIDADE DE CÓDIGO CAUSAM AUMENTO DE PRODUTIVIDADE, E NÃO O CONTRÁRIO. MELHORIA EM QUALIDADE DE CÓDIGO, REDUÇÃO DE DÍVIDA TÉCNICA E ESTABILIDADE DE PRIORIDADES SÃO INICIATIVAS PROMISSORAS PARA AUMENTAR PRODUTIVIDADE.
  12. SATISFACTION (BEM ESTAR MESMO) FALAMOS DE FALTA DE MOTIVAÇÃO EM

    AMBIENTES COM POUCA QUALIDADE DE CÓDIGO PERFORMANCE (OUTPUT) FALAMOS DE LENTIDÃO POR CONTA DA MÁ QUALIDADE EFFICIENCY AND FLOW FALAMOS DAS INTERRUPÇÕES NÃO PLANEJADAS POR CONTA DA FALTA DE QUALIDADE
  13. HTTPS://SERVICES.GOOGLE.COM/FH/FILES/MISC/2023_FINAL_REPORT_SOD R.PDF HTTPS://WWW.MCKINSEY.COM/CAPABILITIES/MCKINSEY-DIGITAL/OUR- INSIGHTS/TECH-DEBT-RECLAIMING-TECH-EQUITY HTTPS://WWW.IT-CISQ.ORG/THE-COST-OF-POOR-QUALITY-SOFTWARE-IN- THE-US-A-2022-REPORT/ HTTPS://ARXIV.ORG/PDF/2203.04374.PDF HTTPS://MARTINFOWLER.COM/ARTICLES/IS-QUALITY-WORTH-COST.HTML HTTPS://OCW.UNICAN.ES/PLUGINFILE.PHP/2171/COURSE/SECTION/2000/SMC OSTS.PDF

    HTTPS://LINK.SPRINGER.COM/ARTICLE/10.1007/S10664-017-9535-Z#SEC13 HTTPS://STRIPE.COM/FILES/REPORTS/THE-DEVELOPER-COEFFICIENT.PDF HTTPS://LINK.SPRINGER.COM/ARTICLE/10.1007/S10664-023-10381-0 HTTPS://DL.ACM.ORG/DOI/PDF/10.1145/3540250.3558940 HTTPS://QUEUE.ACM.ORG/DETAIL.CFM?ID=3454124