SlideShare uma empresa Scribd logo
1 de 56
Baixar para ler offline
Arquitetura e qualidade de
código
Custos indiretos no desenvolvimento de software
CONTRATO
=)
Oi,
me chamo
Thamara
I’m a coder
Uma análise
sobre como a
arquitetura e a
qualidade de
código impactam
indiretamente nos
custos do processo
de desenvolvimento
de software.
DEFINIÇÕES
Processo de
desenvolvimento de
software?
Um conjunto de atividades, parcialmente ordenadas, com a finalidade de obter
um produto de software
https://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software#Anos_70
O que compõe esse
processo?
Artefatos, pessoas, estruturas organizacionais, restrições, recursos e padrões
https://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software#Anos_70
Qual o custo direto desse
processo?
Impostos, pessoas, estrutura, material e marketing.
https://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software#Anos_70
O que é Arquitetura?
Impostos, pessoas, estrutura, material e marketing.
https://pt.wikipedia.org/wiki/Processo_de_desenvolvimento_de_software#Anos_70
A arquitetura é um conjunto
de regras e princípios que
são base de uma instituição.
Qual o custo INdireto desse
processo?
Tempo, pessoas, material/recursos, idéias/mercado/clientes
#1CUSTO
TEMPO
FALHA NA
COMUNICAÇÃO DE
VALOR
Uma análise
- 3 pessoas
- Um draft que funciona minimamente (MVP)
Investidor / Crédito
+ Pressão por Resultados
- Tempo
Contratar!
- Pressão por Resultados
+ Resultados
+ Tempo
Entropia? Baixa ou Alta?
Contratar
- Pressão por Resultados
+ Resultados
+ Tempo
Entropia? Baixa ou Alta?
+ Entropia entre as
pessoas
#1DICA
FOCO
Compreender o VP
para reduzir o
tempo gasto com o
que não é
importante
Value
Product
#1DICA
FOCO
Compreender o VP
para reduzir o
tempo gasto com o
que não é
importante
O quanto todos sabem do VP?
O que importa para o VP?
O quanto sua arquitetura
diz se importar com o VP?
+ Importante + Importante
- Importante - Importante
- Urgente
- Urgente
+ Urgente
+ Urgente
Baixo
Alto
Alto
Importância
Urgência
Uma análise
Baixo
Alto
Alto
Problemas comuns
❏ Decisões tomadas sem análise ou cedo demais
❏ Arquitetura voltada para um framework
❏ Arquitetura com centro em DB
❏ Testes automaticos nulos ou vagos
Importância
Urgência
Baixo
Alto
Alto
Problemas comuns
❏ Decisões tomadas sem análise ou cedo demais
❏ Arquitetura voltada para um framework
❏ Arquitetura com centro em DB
❏ Testes automaticos nulos ou vagos
❏ Medo de delivery
❏ Foco único em aspectos técnicos
Importância
Urgência
Baixo
Alto
Alto
Problemas comuns
❏ Decisões tomadas sem análise ou cedo demais
❏ Arquitetura voltada para um framework
❏ Arquitetura com centro em DB
❏ Testes automaticos nulos ou vagos
❏ Medo de delivery
❏ Foco único em aspectos técnicos
❏ Dificuldade de encontrar o 'ponto certo'
❏ Dificuldade de alterar no 'ponto certo'
❏ Business está em todas as CAMADAS
Importância
Urgência
Baixo
Alto
Alto
Problemas comuns quando não há FOCO no VP!
❏ Decisões tomadas sem análise ou cedo demais
❏ Arquitetura voltada para um framework
❏ Arquitetura com centro em DB
❏ Testes automaticos nulos ou vagos
❏ Medo de delivery
❏ Foco único em aspectos técnicos
❏ Dificuldade de encontrar o 'ponto certo'
❏ Dificuldade de alterar no 'ponto certo'
❏ Business está em todas as CAMADAS
Importância
Urgência
LEGACY
barato ou caro?
#2DICA
COMUNICAÇÃO
Não desista da
comunicação
➢ COMUNICAÇÃO:
○ ENVOLVA AS PESSOAS NO PROBLEMA
○ FALE SOBRE DADOS VERDADEIROS
○ DISCUTA SOLUÇÃO E TEORIAS
○ DISCUTA RESULTADOS
○ DISCUTA FALHAS
➢ DDD (Domain Driven Design)
#3DICA
PAGUE SUAS
DÍVIDAS
Não acumule
dívidas técnica, mas
não foque só nela
➢ FORME:
○ ENSINE/MOSTRE O VP
○ ENSINE ARQUITETURA NÃO FERRAMENTAS
○ ENSINE PADRÕES
○ ENSINE E APRENDA A ANALISAR
DADOS/RESULTADOS
○ ENSINE IMPORTÂNCIA E URGÊNCIA
#2CUSTO
PESSOAS
FALHA NA
DISTRIBUIÇÃO DE
HABILIDADES
Quanto tempo leva para
"formar" um talento dentro
da empresa?
Quais as habilidades são
precisas para manter o VP?
Principais motivos para perder pessoas em TI
➢ Baixa expectativa de crescimento na carreira
➢ Baixos salários e pacotes de benefícios
➢ Má gestão de pessoas
➢ Pouco investimento em Tecnologia
➢ Falta de apoio ao desenvolvimento profissional na empresa
➢ Ambiente sem desafios, pouco inovador
Uma análise
❏ 1 CTO ❏ 1 backend
❏ 1 frontend
❏ 1 CTO
❏ 4 backend
❏ 2 frontend
❏ 1 infra
❏ 1 UI
❏ 1 CTO
❏ 8 backend
❏ 2 frontend
❏ 1 infra
❏ 1 UI
❏ 1 UX
❏ 1 DBA
❏ 1 CTO
#1DICA
NO STARs
Não contrate/seja
um rockStars se não
houver propósito
#2DICA
OPEN MIND
Não contrate/seja
quem não suporta dar
e receber críticas
#3DICA
DISCORDE
Discorde quando for
preciso, seja um
stakeholder
➢ COMUNICAÇÃO
➢ DEFINIR PADRÕES
➢ DECISÃO EM EQUIPE
#3CUSTO
MATERIAL
FALHA NO
CONSUMO DE
METODOLOGIAS &
TÉCNICAS
Uma análise
❏ 1 CTO ❏ 1 backend
❏ 1 frontend
❏ 1 CTO
❏ 4 backend
❏ 2 frontend
❏ 1 infra
❏ 1 UI
❏ 1 CTO
❏ 8 backend
❏ 2 frontend
❏ 1 infra
❏ 1 UI
❏ 1 UX
❏ 1 DBA
❏ 1 CTO
#4CUSTO
MERCADO
FALHA NA
APLICAÇÃO DA
NECESSIDADE DE
MERCADO
CUSTO DA DESCOBERTA DE BUG
Dev CI QA LIVE
Custo
Tempo
TKS
#1 CUSTO TEMPO
FALHA NA COMUNICAÇÃO DE VALOR
#2 CUSTO PESSOAS
FALHA NA DISTRIBUIÇÃO DE HABILIDADES
#3 CUSTO MATERIAL
FALHA NO CONSUMO DE METODOLOGIAS & TÉCNICAS
#4 CUSTO MERCADO
FALHA NA APLICAÇÃO DA NECESSIDADE DE MERCADO
RESUMO
#1 CUSTO TEMPO
FALHA NA COMUNICAÇÃO DE VALOR
#2 CUSTO PESSOAS
FALHA NA DISTRIBUIÇÃO DE HABILIDADES
#3 CUSTO MATERIAL
FALHA NO CONSUMO DE METODOLOGIAS & TÉCNICAS
#4 CUSTO MERCADO
FALHA NA APLICAÇÃO DA NECESSIDADE DE MERCADO
Links
● https://pt.wikipedia.org/wiki/Processo_de_desenvolvime
nto_de_software#Anos_70
● https://www.todamateria.com.br/entropia/
https://www.pinterest.com/pin/492581277988698682/
● http://dobbse.net/thinair/2012/11/framework-is-not-archite
cture.html
● https://pt.stackoverflow.com/questions/19548/o-que-real
mente-%C3%A9-ddd-e-quando-ele-se-aplica/40962#40
962
http://domainlanguage.com/wp-content/uploads/2016/05
/DDD_Reference_2015-03.pdf
● https://9gag.com/gag/4685491/work-intelligent-btch-plea
se
Livros

Mais conteúdo relacionado

Mais procurados

Como encontrar um CTO
Como encontrar um CTOComo encontrar um CTO
Como encontrar um CTOLuiz Coelho
 
Domain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDomain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDaniel Baptista Dias
 
Uso do Metodo Stage-Gate para Desenvolvimento de Novos Produtos
Uso do Metodo Stage-Gate para Desenvolvimento de Novos ProdutosUso do Metodo Stage-Gate para Desenvolvimento de Novos Produtos
Uso do Metodo Stage-Gate para Desenvolvimento de Novos ProdutosRobes Baima, PMI-PMP, PMI-RMP
 
PALESTRA - Criando acordos e princípios
PALESTRA - Criando acordos e princípiosPALESTRA - Criando acordos e princípios
PALESTRA - Criando acordos e princípiosVinicius Carvalho
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareLuiz Borba
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?TargetTrust
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com ScrumIgor Macaubas
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 

Mais procurados (20)

Metricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projetoMetricas (e previsões) acionáveis de projeto
Metricas (e previsões) acionáveis de projeto
 
Como encontrar um CTO
Como encontrar um CTOComo encontrar um CTO
Como encontrar um CTO
 
Engenharia de software Lean Kanban
Engenharia de software  Lean KanbanEngenharia de software  Lean Kanban
Engenharia de software Lean Kanban
 
Domain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDomain Driven Design - Uma introdução
Domain Driven Design - Uma introdução
 
Modelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitosModelagem com historias bem além dos requisitos
Modelagem com historias bem além dos requisitos
 
Gestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndownGestao de Projeto com gráfico burndown
Gestao de Projeto com gráfico burndown
 
Uso do Metodo Stage-Gate para Desenvolvimento de Novos Produtos
Uso do Metodo Stage-Gate para Desenvolvimento de Novos ProdutosUso do Metodo Stage-Gate para Desenvolvimento de Novos Produtos
Uso do Metodo Stage-Gate para Desenvolvimento de Novos Produtos
 
PALESTRA - Criando acordos e princípios
PALESTRA - Criando acordos e princípiosPALESTRA - Criando acordos e princípios
PALESTRA - Criando acordos e princípios
 
Agil - coisas essenciais de sempre
Agil - coisas essenciais de sempreAgil - coisas essenciais de sempre
Agil - coisas essenciais de sempre
 
Gestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião DiáriaGestao Ágil de Projeto - Reunião Diária
Gestao Ágil de Projeto - Reunião Diária
 
Métricas Em Fabricas De Software
Métricas Em Fabricas De SoftwareMétricas Em Fabricas De Software
Métricas Em Fabricas De Software
 
Gestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlogGestão Ágil de tudo: Planejamento backlog
Gestão Ágil de tudo: Planejamento backlog
 
Lean startup
Lean startupLean startup
Lean startup
 
Np09 P
Np09 PNp09 P
Np09 P
 
Agile Management
Agile ManagementAgile Management
Agile Management
 
Scrum na Prática
Scrum na PráticaScrum na Prática
Scrum na Prática
 
[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?[Webinar] Scrum - Você está fazendo do jeito certo?
[Webinar] Scrum - Você está fazendo do jeito certo?
 
Fundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e QualidadeFundamentos Gestão de Escopo e Qualidade
Fundamentos Gestão de Escopo e Qualidade
 
Gestao agil de projetos com Scrum
Gestao agil de projetos com ScrumGestao agil de projetos com Scrum
Gestao agil de projetos com Scrum
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 

Semelhante a Arquitetura e qualidade de codigo

Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Bruno Bemfica
 
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...Daniel Wildt
 
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...tdc-globalcode
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaHenrique Nunes Bez Fontana
 
Gestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoGestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoAnderson Silveira
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...minastestingconference
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps ExperienceWalter Coan
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubankalexandre freire
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014Alessandro Gonçalves
 
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...André Paulovich
 
Governaça Lean - LKU BR 2017- Lean Kanban BR
Governaça Lean - LKU BR 2017- Lean Kanban BRGovernaça Lean - LKU BR 2017- Lean Kanban BR
Governaça Lean - LKU BR 2017- Lean Kanban BRThiago Torricelly
 
Workshop abm analisecae
Workshop abm analisecaeWorkshop abm analisecae
Workshop abm analisecaeEmanuel Campos
 

Semelhante a Arquitetura e qualidade de codigo (20)

Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
Testes Automatizados e Especificação Por Exemplo - Unindo TI e Negócio atravé...
 
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
RSJUG Day - Ferramentas Para Projetos Java Usando Metodologias Ageis - Daniel...
 
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
 
Gestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxoGestão ágil: gerar valor partir otimização de fluxo
Gestão ágil: gerar valor partir otimização de fluxo
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
 
Crystal method
Crystal methodCrystal method
Crystal method
 
Entregando Software com Valor
Entregando Software com ValorEntregando Software com Valor
Entregando Software com Valor
 
Shift left DevOps Experience
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubank
 
Treinamento Ágil / Scrum
Treinamento Ágil / ScrumTreinamento Ágil / Scrum
Treinamento Ágil / Scrum
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014
Apresentação Gerenciamento de Projetos TI Corinthians ECC Abril 2014
 
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
 
SCRUM.pptx
SCRUM.pptxSCRUM.pptx
SCRUM.pptx
 
Governaça Lean - LKU BR 2017- Lean Kanban BR
Governaça Lean - LKU BR 2017- Lean Kanban BRGovernaça Lean - LKU BR 2017- Lean Kanban BR
Governaça Lean - LKU BR 2017- Lean Kanban BR
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Workshop abm analisecae
Workshop abm analisecaeWorkshop abm analisecae
Workshop abm analisecae
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 
Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015Apresentação Mundo Ideal 2015
Apresentação Mundo Ideal 2015
 

Mais de Thamara Hessel

Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnica
Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnicaLiderar e ser liderado(a) - o que você precisa saber sobre liderança técnica
Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnicaThamara Hessel
 
What do software engineers do
What do software engineers do What do software engineers do
What do software engineers do Thamara Hessel
 
Composer - tricks and tips
Composer - tricks and tipsComposer - tricks and tips
Composer - tricks and tipsThamara Hessel
 
Git style best practices - OLX
Git style best practices - OLXGit style best practices - OLX
Git style best practices - OLXThamara Hessel
 
Code review Effective - kwan
Code review  Effective - kwanCode review  Effective - kwan
Code review Effective - kwanThamara Hessel
 
Git - Saia do Básico!
Git - Saia do Básico!Git - Saia do Básico!
Git - Saia do Básico!Thamara Hessel
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!Thamara Hessel
 

Mais de Thamara Hessel (9)

Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnica
Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnicaLiderar e ser liderado(a) - o que você precisa saber sobre liderança técnica
Liderar e ser liderado(a) - o que você precisa saber sobre liderança técnica
 
What do software engineers do
What do software engineers do What do software engineers do
What do software engineers do
 
Composer - tricks and tips
Composer - tricks and tipsComposer - tricks and tips
Composer - tricks and tips
 
Git style best practices - OLX
Git style best practices - OLXGit style best practices - OLX
Git style best practices - OLX
 
Code review Effective - kwan
Code review  Effective - kwanCode review  Effective - kwan
Code review Effective - kwan
 
Object calisthenics
Object calisthenics  Object calisthenics
Object calisthenics
 
Git - Saia do Básico!
Git - Saia do Básico!Git - Saia do Básico!
Git - Saia do Básico!
 
Qualidade de código
Qualidade de códigoQualidade de código
Qualidade de código
 
Refactoring sem complicação!
Refactoring sem complicação!Refactoring sem complicação!
Refactoring sem complicação!
 

Arquitetura e qualidade de codigo