La capacidad de mantenimiento es una parte importante del desarrollo de software profesional. De hecho, el mantenimiento es casi siempre la parte más larga del ciclo de vida del software, ya que dura desde el lanzamiento del proyecto hasta el final de los tiempos.
Además, los proyectos en mantenimiento representan una gran mayoría del número total de proyectos. De acuerdo con http://www.vlegaci.com/298/interesting-statistics-%E2%80%93-numbers-of-programmers-in-maintenance-vs-development/ , la proporción de proyectos en mantenimiento es de aproximadamente 2 / 3.
Recientemente me encontré con esta pregunta , donde el chico se ve bastante sorprendido al descubrir que su trabajo es principalmente de mantenimiento. Entonces decidí abrir una discusión (francés) en el sitio principal de la comunidad francesa de profesionales de desarrollo de software ( http://www.developpez.com/ ). La discusión se titula "¿Están los estudiantes suficientemente capacitados para la realidad del desarrollo de software profesional?" y se trata principalmente de mantenibilidad . Se señaló que, al menos en Francia, las personas no están lo suficientemente preparadas para enfrentar el mantenimiento en ambos aspectos:
- mantener el código existente
- hacer código mantenible
Mi pregunta aquí se hace eco de esta discusión y tiene como objetivo encontrar una buena manera de enseñar la mantenibilidad.
- ¿Cómo podemos enseñar mantenibilidad?
- ¿Qué tipo de ejercicio sugerirías?
- Si ha recibido una buena formación en materia de mantenimiento, ¿qué tipo particular de cursos tomó?
[editar] Después de algunos malentendidos, creo que debo aclarar mi pregunta. Como líder de proyecto y desarrollador de software, a menudo trabajo con aprendices o estudiantes recién graduados. Una vez me gradué recientemente. La cuestión es que los estudiantes generalmente no están familiarizados con principios como SOLID que aumentan la capacidad de mantenimiento de un proyecto. A menudo terminamos teniendo dificultades importantes para que los proyectos evolucionen (bajo mantenimiento). Lo que estoy buscando aquí es un ejemplo académico concreto de enseñanza exitosa sobre la importancia de la mantenibilidad y cómo hacer un mejor código con respecto a este punto en particular; o posibles sugerencias para mejorar la forma en que se capacita a los estudiantes.