O caso recente da Southwest escancara o drama de protelar a resolução de débito técnico e ir convivendo indefinidamente com soluções obsoletas. Uma hora a coisa pode colapsar!
Software (e as soluções tecnológicas de forma mais ampla) possuem seu ciclo de vida "natural":
1) - São planejadas, a partir da avaliação do "porquê" são necessárias, quanto custarão e quanto tempo levarão para estar no ar
2) - Depois são desenhadas, considerando o "o que" efetivamente será feito, se refinando o "como" serão feitas.
3) - Então são implementados e colocadas no ar.
4) - O uso real mostra que existe espaço para melhorias, então são evoluídas.
5) - Erros vão sendo identificados e atualizações tecnológicas vão sendo requeridas ao longo da sua sustentação.
6) - E por fim, quando a sua capacidade de atender as necessidades do negócio, assim como a sua capacidade de receber atualizações, evoluções e correções se reduz ou se mostra inviável técnica ou economicamente falando, ela a solução é decomissionada enquanto se reinicia o ciclo.
Não aceitar ou considerar que esse ciclo de vida existe trará consequências negativas inevitáveis.
A qualidade e atenção despendida entre o planejamento, desenho, implementação e sustentação vão ajudar a aumentar o ciclo de vida, mas ainda assim, existirão fatores fora do controle da equipe que ainda assim impactam e definem o tempo de vida (como obsolescência e suporte de linguagens, middleware, hardware e outros eventuais serviços interconectados).