A alguns anos eu falo e vejo acontecer de gestores trabalharem com suas equipes dando manutenção em softwares de seus clientes sem se preocupar em evoluí-los. Tendo apenas o trabalho de mantê-los. Grande e enorme erro de gerenciamento, pois é fato que softwares tem vida útil. O papel de um profissional que faz software é construir algo o melhor possível para seus clientes assim como em qualquer profissão. Fazer sistemas bem feitos, que tenham um planejamento para sua vida útil. Assim seus clientes o adorarão e falarão bem de você para outros. Sabendo que em alguns anos de acordo com o andamento do mercado e tudo mais o software dele já não o atenderá como antes. Ai entra aquele planejamento de evolução e inovação que a grande maioria não faz. Algumas poucas empresas tem inclusive equipes responsáveis pela inovação dos seus softwares. O grande erro é, na maiorira das vezes, por falta de conhecimento técnico, imaginar que lucrar com a manutenção de um software é apenas continuar mantendo-o no ar e de vez enquando criar algo novo que o cliente solicita. E não planejar ou calcular o óbvio que é saber o quanto de tempo(tempo = $) uma equipe vai gastar para desenvolver ou manter um software pois as diferenças podem ser enormes. Imagine que em um software com tecnologia java de 12 anos atrás, um cadastro com 10 campos e algumas regras de negócios poderia levar 1 semana para se desenvolver devido a tecnologia da época. Nos dias de hoje com as tecnologias java atuais pode-se desenvolver o mesmo cadastro em 1 hora ou menos.
O que quero passar aqui é que apenas ficar dando manutenção em um software legado imaginando que vai continuar tendo aquele lucro pode não estar errado. Mas se você mensurar que poderia desenvolver aquele mesmo software com tecnologias atuais em aproximadamente 40 vezes menos tempo que o legado. Poderia programar para um futuro próximo um lucro muito maior do que simplesmente dar manutenção e poder focar em novas funcionalidades e apenas em regras de negócios. Lembrando que sistemas legados muitas vezes dão mais dor de cabeça para continuar rodando do que implementar novas funcionalidades. E o mais importante: Os profissionais vão continuar tendo "TESÃO" de trabalhar. E a rotatividade das equipes vai diminuir com certeza.