SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Débito Técnico
Vitor Castro
vitorcastro@me.com
about.me
Mestre em computação (UFPa)
Especialista em Java Corporativo (CESUPA)
Bacharel em Sistemas de Informação (UFPa)
Certifield ScrumMaster (CSM) e Certifield
Product Owner (CSPO)
#agile #developer
Technical Debt
Dívida técnica Débito técnico
Os termos ?
O que é débito técnico ?
Débito técnico é …
“dívida que a equipe de desenvolvimento
assume quando escolhe um design ou
abordagem fácil de implementar no curto
prazo mas com grande impacto negativo no
longo prazo”
@WardCunningham
“Decisões que geram dívidas técnicas
se baseiam em restrições do
projeto.”
Débito técnico é …
@UncleBob
O que é débito técnico ?
acúmulo de defeitos
baixa legibilidade de
código
dados des-normalizado arquitetura ineficiente
design pobre
E a velocidade …
Quadrante do débito
técnico
@MartinFowler
Quais os sintomas ?
Em análise do projeto ...
No código ...
Erros em produção
Time desmotivado
Sintomas
Demora para entregar Erros na produção
Projeto engessado Testes lentos
Comentários //TODO
refactoring
De quem é o problema ?
De quem é o problema ?
processos
Primeira causa de divida técnica:
Falha de comunicação e na colaboração
pessoas
Qual a solução ?
Sistemas
adaptativos
complexos 
Use práticas
emergentes !!!
PDCA
Em intervalos regulares, o time
reflete em como ficar mais efetivo,
então, se ajustam e otimizam seu
comportamento de acordo.
BigVisible Charts
Uso de ferramentas
• Tracker
• Code smell
• Código morto
• Código duplicado
• Complexidade condicional 
“quanto mais tempo se
demora com ela, mais difícil
torna-se para liquidá-la”
@DavidHammerslag
OBRIGADO
vitorcastro@me.com
Referências
• Dívida técnica: precisando de crédito? Ou "Como
evitar que o cobrador bata na sua porta!" - Agile Brazil
2012
• http://martinfowler.com/bliki/
TechnicalDebtQuadrant.html
• http://adrianotavares.com/2012/06/21/o-quadrante-do-
debito-tecnico/
• http://oncast.com.br/blog/?p=591

Más contenido relacionado

La actualidad más candente

Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Leinylson Fontinele
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Relatório de gerenciamento de mudanças
Relatório de gerenciamento de mudançasRelatório de gerenciamento de mudanças
Relatório de gerenciamento de mudançasFernando Palma
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em CBaguiasri
 
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...paulocma
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02thomasdacosta
 
Qualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasQualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasAlex Camargo
 
The Headless Block Editor
The Headless Block EditorThe Headless Block Editor
The Headless Block EditorSean Blakeley
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareÁlvaro Farias Pinheiro
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisMarcelo Quinta
 

La actualidad más candente (20)

Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
Introdução à Computação: Aula Prática - Sistemas Operacionais (simulando proc...
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Relatório de gerenciamento de mudanças
Relatório de gerenciamento de mudançasRelatório de gerenciamento de mudanças
Relatório de gerenciamento de mudanças
 
Ficheiros em C
Ficheiros em CFicheiros em C
Ficheiros em C
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...
Análise crítica sobre o Processo de Gerenciamento de Incidentes baseado na IS...
 
Acessibilidade web
Acessibilidade webAcessibilidade web
Acessibilidade web
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02Estrutura de Dados - Aula 02
Estrutura de Dados - Aula 02
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Qualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normasQualidade de Software: Modelos e normas
Qualidade de Software: Modelos e normas
 
The Headless Block Editor
The Headless Block EditorThe Headless Block Editor
The Headless Block Editor
 
Metodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de SoftwareMetodologias de Desenvolvimento de Software
Metodologias de Desenvolvimento de Software
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
 
Desenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveisDesenvolvimento de aplicações para dispositivos móveis
Desenvolvimento de aplicações para dispositivos móveis
 

Similar a Debito tecnico

Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREErnesto Bedrikow
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdfDouglas Siviotti
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEduardo Castro
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentaisWaldemar Roberti
 
Scrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareScrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareRodrigo Yoshima
 
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!Wagner Mendes Voltz Fusca
 
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...Jackson F. de A. Mafra
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTEmbarcados
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementRamon Durães
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareeros.viggiano
 

Similar a Debito tecnico (20)

Aula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWAREAula 1- ENGENHARIA DE SOFTWARE
Aula 1- ENGENHARIA DE SOFTWARE
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdf
 
Palestra Gerenciamento de Projetos com Scrum e MPS.Br
Palestra Gerenciamento de Projetos com Scrum e MPS.BrPalestra Gerenciamento de Projetos com Scrum e MPS.Br
Palestra Gerenciamento de Projetos com Scrum e MPS.Br
 
SETIC Scrum & XP
SETIC Scrum & XPSETIC Scrum & XP
SETIC Scrum & XP
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 
02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais02 Introdução à engenharia de software - conceitos fundamentais
02 Introdução à engenharia de software - conceitos fundamentais
 
Scrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de SoftwareScrum para Desenvolvimento Interno e Produtos de Software
Scrum para Desenvolvimento Interno e Produtos de Software
 
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
O seu código fede e você nem sabia. Ou sabia, mas não o quanto fede!
 
Métodos Ágeis - Aula 01
Métodos Ágeis - Aula 01Métodos Ágeis - Aula 01
Métodos Ágeis - Aula 01
 
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
 
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoTWebinar: Oportunidades e requisitos no projeto de hardware para IoT
Webinar: Oportunidades e requisitos no projeto de hardware para IoT
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
 
DatadrivenEngineering
DatadrivenEngineeringDatadrivenEngineering
DatadrivenEngineering
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Dívida Técnica
Dívida TécnicaDívida Técnica
Dívida Técnica
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 

Más de Vitor Castro

Desafios e aprendizados - Unifesspa 2017
Desafios e aprendizados - Unifesspa 2017Desafios e aprendizados - Unifesspa 2017
Desafios e aprendizados - Unifesspa 2017Vitor Castro
 
Desafios e aprendizados - Unifesspa
Desafios e aprendizados - UnifesspaDesafios e aprendizados - Unifesspa
Desafios e aprendizados - UnifesspaVitor Castro
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de softwareVitor Castro
 
Produtividade máxima
Produtividade máximaProdutividade máxima
Produtividade máximaVitor Castro
 
Refatoração na prática
Refatoração na práticaRefatoração na prática
Refatoração na práticaVitor Castro
 
Testes de software
Testes de softwareTestes de software
Testes de softwareVitor Castro
 
Um pouco sobre agilidade
Um pouco sobre agilidadeUm pouco sobre agilidade
Um pouco sobre agilidadeVitor Castro
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingVitor Castro
 
Time ágil ... será ?
Time ágil ... será ?Time ágil ... será ?
Time ágil ... será ?Vitor Castro
 
Otimizando scrum com kanban
Otimizando scrum com kanbanOtimizando scrum com kanban
Otimizando scrum com kanbanVitor Castro
 
Notas AgileBrazil 2011
Notas AgileBrazil 2011Notas AgileBrazil 2011
Notas AgileBrazil 2011Vitor Castro
 

Más de Vitor Castro (16)

Agilidade na Veia
Agilidade na VeiaAgilidade na Veia
Agilidade na Veia
 
Desafios e aprendizados - Unifesspa 2017
Desafios e aprendizados - Unifesspa 2017Desafios e aprendizados - Unifesspa 2017
Desafios e aprendizados - Unifesspa 2017
 
Desafios e aprendizados - Unifesspa
Desafios e aprendizados - UnifesspaDesafios e aprendizados - Unifesspa
Desafios e aprendizados - Unifesspa
 
Lider integral
Lider integralLider integral
Lider integral
 
Gamificar
GamificarGamificar
Gamificar
 
Arquitetura e design de software
Arquitetura e design de softwareArquitetura e design de software
Arquitetura e design de software
 
Produtividade máxima
Produtividade máximaProdutividade máxima
Produtividade máxima
 
Refatoração na prática
Refatoração na práticaRefatoração na prática
Refatoração na prática
 
Poder do hábito
Poder do hábitoPoder do hábito
Poder do hábito
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Um pouco sobre agilidade
Um pouco sobre agilidadeUm pouco sobre agilidade
Um pouco sobre agilidade
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Time ágil ... será ?
Time ágil ... será ?Time ágil ... será ?
Time ágil ... será ?
 
Otimizando scrum com kanban
Otimizando scrum com kanbanOtimizando scrum com kanban
Otimizando scrum com kanban
 
Notas AgileBrazil 2011
Notas AgileBrazil 2011Notas AgileBrazil 2011
Notas AgileBrazil 2011
 
Refatoração
RefatoraçãoRefatoração
Refatoração
 

Debito tecnico