Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua...

141
Dívida Técnica by @freire_da_silva [email protected]

description

Com métodos ágeis na moda, temos ferramentas para conseguir entregar mais valor com mais velocidade, mas muitas vezes ignoramos práticas que ajudam na manutenção da qualidade técnica da base de código. Num outro extremo, a busca pelo perfeccionismo causa tanto atraso que projetos acabam, tecnicamente perfeitos, mas sem nunca ter sido utilizados por clientes. Nesta palestra vou tratar do investimento em qualidade técnica buscando maximizar o retorno do investimento mínimo que conseguimos fazer. Pretendo dar exemplos de projetos reais, onde vi desde qualidade desnecessária à dívidas técnicas profundas e desconhecidas que inviabilizavam progresso. Vou apresentar técnicas para evidenciar e lidar com esta dívida no dia-a-dia e nas relações com os diversos stakeholders de um projeto.

Transcript of Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua...

Page 1: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

DívidaTécnica

by @[email protected]

Page 2: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

O que vai rolar nessa palestra?

• Leis• Metáforas• Balas de prata• Histórias• Sintomas• Causas• Estratégias• Práticas• Padrões• Anti-padrões• Recomendações de livros

Page 3: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

METÁFORAthe long lost XP practice

Page 4: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 5: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 6: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 7: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 8: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 9: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

CoCeTCOestãoligados

Page 10: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

SWITCH (key) {case ‘a’: printf(”a”)case ‘b’:…}

I O U $$$

Page 11: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

METÁFORADívida irresponsável

- proposital ou não

Dívida consciente- empréstimo do carro- dívida de cartão de crédito ou cheque

especial - empréstimo da casa

Page 12: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

METÁFORA

débito não é dívida!

lost in translation…

Page 13: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 14: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 15: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

vs

Page 16: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 17: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 18: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 19: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 20: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 21: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 22: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

“MEUS TESTES ESTÃO RODANDO.”

TESTANDO!

Page 23: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

//TODO: refatorar aqui

//FIXME: isso não deveria //estar duplicado

//WTF! PERIGO!

Page 24: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 25: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

A incrível capacidade de

análise dos seres humanos

Page 26: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 27: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 28: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 29: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 30: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 31: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 32: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 33: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 34: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 35: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 36: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

?

Page 37: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

SISTEMAS COMPLEXOS ADAPTATIVOS

Page 38: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 39: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 40: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

+

Page 41: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 42: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 43: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

O ministério da agilidade adverte: cuidado com seu uso de métricas

Page 44: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Big Visible Charts

By Matthew Bisanz

Page 45: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Não vamos nos preocupar com uma das causas de dívida técnica:

Falta de um processo claro de desenvolvimento

Page 46: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

kanban

análise desenvolvimento aceitação produção

Page 47: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

análise desenvolvimento aceitação produção

Page 48: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

história: a dívida desconhecida do

e-mail

Page 49: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Não sabiamos qual era a dívida

Page 50: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Temos problemas

Acumulo de dívidas pequenas

Page 51: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Um novo fornecedor

oferece uma solução

Page 52: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Centenas de milhares de R$

Page 53: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Equipe junior para o novo

webmail

Page 54: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Continuamos com problemas

Page 55: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Novo responsável

Page 56: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

No final os problemas que tinhamos eram

razoáveis…

Page 57: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

… ainda por cima a nova solução não

aguentou

Page 58: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Pagamos a dívida do antigo

sistema

Page 59: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Descontinuamos a nova solução

Page 60: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

CAUSAS

Page 61: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

FALHASNA

COMUNICAÇÃO

Page 62: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

FALHASNA

COLABORAÇÃO

Page 63: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Em Retrospectiva

Page 64: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

BAD MANAGMENT

Page 65: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

CALCULE e MOSTRE sua

DÍVIDA

Page 66: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

http://www.sonarsource.org/

Page 67: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

https://wiki.jenkins-ci.org/display/JENKINS/Task+Scanner+Plugin

Page 68: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

DOH!

Page 69: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 70: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Lei de Parkinson

O trabalho expande para ocupar o tempo reservado para sua execução

Page 71: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

FOLGA + refactoring sprint

Page 72: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Time completo

Page 73: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Lei de Murphy

Page 74: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

história: falência do SI

Page 75: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Sistema Interno (ou central)

Page 76: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Nasce em 1998 como um banco

access pelas mãos do nosso fundador

Page 77: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Passa por várias outras mãos…

Page 78: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

… não conheciamos as

boas práticas

Page 79: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

lib_fichao2.asp

Page 80: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Big Ball of Mud

Page 81: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Renovamos domínios sem os clientes pedirem

Page 82: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Centenas de milhares de R$

Page 83: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Não conseguimos entregar o

chargeback a tempo

Page 84: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Centenas de milhares de R$

Page 85: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Falência

Page 86: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Tem que pagar.Investimento

quase R$1milhão

Page 87: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Novo sistema, mas…

Page 88: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

• Atentos a dívida

• Lei de Conway

• Camadas anti-corrupção

• Desacoplamento incremental

• Virada suave e reversível

Page 89: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

+ refactoring to patterns

Page 90: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 91: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

análise desenvolvimento aceitação produção

Page 92: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Story Maps

Page 93: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

CFD

Page 94: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Use Case

Page 95: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Validated Learning

Page 96: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

análise desenvolvimento aceitação produção

Page 97: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Seus testes podem ser

dívida

Page 98: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Acúmulo de wait()

Page 99: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Scenario: Tooltip viewGiven I selected the "lite" planWhen I move mouse over "tooltip”Then I should see tooltip contentAnd I move mouse out "tooltip”And I should not see tooltip content

Page 100: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

análise desenvolvimento aceitação produção

Page 101: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Muitas métricas nesse espaço

• Linhas de código• Tamanho do método• Tamanho da classe• Complexidade ciclomática• Métodos por classe• Acoplamento entre objetos• Duplicação• Atividade do repositório• Cobertura dos testes• Testabilidade• Razão de linhas de teste por linhas de código

Page 102: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

TRACKERThe long lost XP role

Page 103: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code Smells – The bloaters

• Long Method• Large Class• Primitive Obsession• Long Parameter List• DataClumps

Page 104: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code Smells – The OO abusers

• Switch Statements• Temporary Field• Refused Bequest• Alternative Classes with Different Interfaces

Page 105: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code Smells –

The change preventers

• Divergent Change• Shotgun Surgery • Parallel Inheritance Hierarchies

Page 106: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code Smells – The Dispensables

• Lazy class• Data class • Duplicate Code• Dead Code• Speculative Generality

Page 107: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code Smells – The Couplers

• Feature Envy• Inappropriate Intimacy• Message Chains • Middle Man

Page 108: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

http://metric-fu.rubyforge.org/

Page 109: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

http://metric-fu.rubyforge.org/

Page 110: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

http://metric-fu.rubyforge.org/

Page 111: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Toxicidade - no excel ;-)

Page 112: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

http://findbugs.sourceforge.net/

Page 113: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Turbulência

Page 114: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Tree map de classes

Page 115: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Pirâmede de tamanho e complexidade

Page 116: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Testes/Código

Page 117: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Complexidade do design

Page 118: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Diagrama de sequência

Page 119: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Code City

Page 120: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Matriz de dependências

Page 121: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Última história: WebStore

Page 122: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Time 2 Market

Page 123: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Use FLOSS para ganhar vantagem

Page 124: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Entrando na dívida:

escalando com links simbólicos

Page 125: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

80 clientes / servidor

Page 126: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

12 servidores

Page 127: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Custo cliente: R$150

Page 128: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

O Marketing vai pra TV

Page 129: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 130: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Just-in-time para pagar a dívida

Page 131: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Midleware + Cloud

Page 132: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Custo cliente: R$ 8

(e descendo)

Page 133: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Sempre existem 3 opções

Page 134: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Gambiarra não é opção

Page 135: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Não se endividar

Page 136: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Divida com juros

Page 137: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Divida sem juros

Page 138: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

O futuro hoje

• Fuzzy tests– Injeção proposital de defeitos– Crawlers mal intencionados

• Self-healing systems– Algoritmos genéticos que consertam bugs

Page 139: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 140: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..
Page 141: Dívida tecnica: precisando de crédito? Quão fundo entrar e como evitar que o cobrador bata na sua porta..

Referências• http://c2.com/cgi/wiki?TechnicalDebt• http://blog.csdn.net/firecoder/article/details/5264031• http://petdance.com/perl/technical-debt/• http://www.construx.com/Page.aspx?cid=2801• http://blog.objectmentor.com/articles/2009/09/22/a-mess-is-not-a-technical-debt• http://martinfowler.com/bliki/TechnicalDebtQuadrant.html• http://www.jimhighsmith.com/2010/10/19/the-financial-implications-of-technical-debt/• http://www.startuplessonslearned.com/2009/07/embrace-technical-debt.html• http://requirements.seilevel.com/blog/2011/03/software-requirements-impact-on-technical-debt-–-pa

rt-1.html• http://martinfowler.com/bliki/TechnicalDebtQuadrant.html• http://www.slideshare.net/dtsato/managing-your-technical-debt-agilebrazil-2011• http://www.slideshare.net/dwildt/da-mtrica-a-diverso-como-as-mtricas-no-desenvolvimento-de-softw

are-podem-ajudar-times-a-se-divertirem• http://www.infoq.com/news/2010/03/monetizing-technical-debt• http://www.soberit.hut.fi/mmantyla/badcodesmellstaxonomy.htm• http://pyxis-tech.com/en/expertise/refactoring• http://akitaonrails.com/2008/12/18/tradu-o-d-vida-t-cnica• http://www.infoq.com/presentations/Software-Quality-You-Know-It-when-You-See-It• http://programmingtour.blogspot.com/2011/03/turbulence-measuring-turbulent-nature.html