Negócios

Estamos cheios de empresas por aí, com bases de código complexas, e conhecê-la exige um tempo incrivelmente longo.

No nível micro, as linhas de código podem ser confusas e inconsistentes. No nível macro, o design pode ser confuso e inconsistente.

Ninguém da equipe realmente conhece o funcionamento de todo o código. O danado cresce “organicamente” durante anos, que é uma maneira bem educada de dizer que ninguém faz um design de arquitetura digno de nota e que várias porções de código haviam sido inseridas com o passar do tempo, ninguém pensa sobre o assunto.

Ninguém jamais para para impor uma estrutura razoável para o código. Ele havia crescido por meio de acumulação; era um exemplo clássico de um sistema que não havia recebido absolutamente nenhum design de arquitetura.

O estado desses projetos é compreensível, porém não perdoável, se olharmos a história dessas empresas, com certeza veremos uma empresa altamente pressionada no sentido de disponibilizar muitas versões novas rapidamente. Atrasos que não são tolerados, pois significam a ruína financeira. Os programadores sendo orientados a disponibilizar códigos para as novas versões tão rapidamente quanto fosse humanamente possível, ou mais rápido ainda. E assim o código cresce em uma série de sprints malucas.