Lidando com o desconhecido
[quando se trata de desconhecido] Qualquer planejamento, quanto mais detalhado, mais errado é.
Isso me lembrou o tema de "Precisão vs. Acurácia" que eu vi no The Coding Career Handbook.
Boa prática:
Errar cedo e concertar rápido
Programador == Pedreiro
Errado!
Programador é o arquiteto.
A "planta-baixa" é o código fonte.
O "pedreiro" é o compilador/interpretador.
PoC
Pague um pouco para diminuir a incerteza.
É melhor investir um tempo experimentando uma ou duas PoCs do que investir tempo numa abordagem que não se sabe se é boa.
TDD
Todo novo código deveria ser coberto com testes.
Todo correção de bugs deveria começar com teste que simula o bug.