El acto de concebir, diseñar y codificar software

El acto de concebir, diseñar y codificar software demanda ciertas conductas en quien lo ejecuta que han resultado ser muy similares a las que se observan tanto en artistas como en científicos.

Con base en las condiciones del proyecto de desarrollo típico, se puede identificar el tipo de proyecto que tenemos entre manos, y es una mezcla entre un proyecto de creatividad y de resolución de problemas. Definitivamente no es un proyecto de ejecución táctica, donde la receta para la solución se puede conocer al principio del esfuerzo y que la mera ejecución de tal receta nos produzca el resultado deseado.

Es prudente considerar un proceso de desarrollo acorde a la naturaleza del esfuerzo, uno que contenga —desde el principio— los mecanismos para aproximarse a la solución con base en los hallazgos y aprendizajes en el trayecto, uno que permita adaptarse a lo que se descubra como lo que sí se requiere y dejar de lado lo que resulte no tan adecuado, sin mayor costo.

Un ejemplo, en el renglón del diseño detallado, ocurre al adoptar un patrón de diseño para un ambiente de cómputo en particular: Know your design tools — The Singleton case.