A manutenção é uma parte importante do desenvolvimento profissional de software. De fato, a manutenção é quase sempre a parte mais longa de um ciclo de vida de software, pois dura desde o lançamento do projeto até basicamente o fim dos tempos.
Além disso, os projetos em manutenção representam uma grande maioria do número total de projetos. De acordo com http://www.vlegaci.com/298/interesting-statistics-%E2%80%93-numbers-of-programmers-in-maintenance-vs-development/ , a proporção de projetos em manutenção é de aproximadamente 2 / 3
Recentemente, me deparei com essa pergunta , em que o cara parece bastante surpreso ao descobrir que seu trabalho é principalmente sobre manutenção. Decidi então abrir uma discussão (em francês) no site principal da comunidade francesa de profissionais de desenvolvimento de software ( http://www.developpez.com/ ). A discussão é intitulada "Os alunos estão suficientemente treinados para a realidade do desenvolvimento profissional de software?" e é principalmente sobre manutenção . Assinalou-se que, pelo menos na França, as pessoas não estão suficientemente preparadas para enfrentar a manutenção nos dois aspectos:
- manter código existente
- tornar código sustentável
Minha pergunta aqui ecoa essa discussão e visa encontrar uma boa maneira de ensinar a manutenção.
- Como podemos ensinar a manutenção?
- Que tipo de exercício você sugeriria?
- Se você foi bem treinado em relação à manutenção, que tipo específico de curso você fez?
Depois de algum mal-entendido, acho que devo esclarecer minha pergunta. Como líder de projeto e desenvolvedor de software, frequentemente trabalho com estagiários ou estudantes recém-formados. Uma vez eu me formei recentemente. O fato é que os alunos geralmente não estão familiarizados com princípios como o SOLID que aumentam a capacidade de manutenção de um projeto. Muitas vezes, acabamos tendo dificuldades importantes para a evolução dos projetos (baixa manutenção). O que estou procurando aqui é um exemplo acadêmico concreto de ensino bem-sucedido sobre a importância da manutenção e como criar um código melhor com relação a esse ponto em particular; ou possíveis sugestões para melhorar a forma como os alunos são treinados.