make it work, make it right, make it fast

expressão

programação

A ordem de prioridades de Kent Beck: primeiro a correção, depois o projeto, e então - só então - a velocidade.

A disciplina está na sequência: resistir à esperteza antes de a coisa funcionar, e resistir à otimização antes de o projeto ser honesto. A maioria dos pecados de otimização prematura é uma violação da posição do passo três na fila.

Faça funcionar, faça certo, faça rápido é a ordenação de Kent Beck, e a sequência é a substância. Funcionar primeiro estabelece que a abordagem é viável e produz algo contra o que testar. Certo significa limpo, compreendido e estruturado, feito quando o formato do problema já é conhecido. Rápido vem por último, quando há algo a medir e razão para crer que o desempenho importa.

Inverter a ordem é onde os projetos dão errado, e cada inversão falha de um jeito. Otimizar antes de funcionar produz código rápido que resolve o problema errado. Aperfeiçoar a estrutura antes de funcionar produz uma abstração elegante sobre um requisito mal compreendido. Ambos gastam esforço em suposições que a versão funcional teria corrigido de graça.

O modo de falha da própria sequência é parar depois do primeiro passo, que é como a maior parte da dívida técnica se acumula: funciona, o prazo chega, e o certo nunca acontece. É por isso que a ordenação só funciona como disciplina se a segunda etapa for agendada em vez de pretendida, e a versão honesta desse conselho inclui que fazer certo é um compromisso com data, e não uma aspiração.

Todos os verbetes do glossário