Lame Design Latter-on
Uma das coisas que metodologias ágeis pregam é não fazer, sob hipotese alguma, Big Designs Up-front. Em outras palavras, aquela masturbação mental enorme no início de um projeto (ou ciclo de desenvolvimento), com o objetivo de prever todo tipo de problema técnico e gerar um desenho infalível de arquitetura que permita desenvolver o software como se não houvesse amanhã.
Isso não significa que o resultado esperado é acabar com um Lame Design Latter-on. Terminar um projeto, ou ciclo de desenvolvimento, com qualquer gambiarra gerada as pressas e sem nenhum cuidado ao longo do trabalho não é desejado.
O design de qualquer pedaço de software deve ser iterativo e incremental sim, mas isso não significa postergar análises e entendimento do problema para o último instante.
Continuous attention to technical excellence and good design enhances agility.