Las respuestas hasta ahora han cubierto las pruebas, pero hay algunas otras consideraciones que son al menos tan importantes.
Un software bien especificado y bien diseñado es mucho más fácil de modificar que un software mal especificado y mal diseñado. Algunos de ellos tienen buenas especificaciones, por lo que el implementador (y el usuario) saben lo que se supone que debe hacer el software. Mucho de esto es modularidad y ortogonalidad: las diferentes partes de un sistema de software deben interactuar entre sí solo de maneras específicas, con un mínimo de excepciones y efectos secundarios.
Los buenos procedimientos de revisión también ayudan. Los ingenieros experimentados pueden ver una especificación funcional o de diseño y detectar problemas antes de llegar al cliente. Lo mismo ocurre con la revisión de código.
- ¿Crees que los programadores o codificadores serían reemplazados por un software?
- ¿Cuál es la mentalidad que todo desarrollador debe tener al desarrollar nuevas funciones y mantener las antiguas?
- ¿Qué tan bueno es el equipo de ingeniería en Crowdfire?
- ¿Cómo es Chandigarh College of Architecture?
- ¿Cuáles son los diferentes tipos de herramientas para desarrolladores?
La memoria institucional es importante. Puede ser demasiado esperar que un nuevo ingeniero (incluso uno bueno) diseñe e implemente una característica sin tener problemas. Las personas que han trabajado con el software por un tiempo pueden ayudar a las personas a ponerse al día. También es importante una cultura corporativa que fomente la cooperación: sin esto, la memoria institucional no vale mucho.