Construcción de Software: Por qué  no llamarla  "Programación"
Tags: codenewbie, computerscience, 100daysofcode, codepen
Published: 2020-09-02 01:37:53

Actualmente estoy a través del método de auto aprendizaje comprendiendo mejor lo que significa "construir software" porque siempre tuve la errónea idea que el término"Programar" definía completamente lo que ahora reconozco como un conjunto de procedimientos íntimamente involucrados para finalmente construir una solución de software. 

Se debe entender que la programación es tan solo un término genérico que no detalla todos los procesos intermedios que conlleva estos grandes proyectos. 

En la afamada obra "Code Complete" Steve McConnell en su primer capítulo describe con una providencial claridad que la metáfora del jardín es la mejor forma de definir a un proyecto de desarrollo y construcción de software. 

Aunque McConnell no lo dice explícitamente, las personas que construimos software al igual que los agricultores trabajamos con nuestras manos línea a línea de código.

Del mismo modo un agricultor prepara la tierra con tratamiento, abono, poda y labrado para sembrar sus semillas y esperar que estas se reproduzcan y obtener la tan anhelada ganancia.

Nosotros los que construimos software acumulamos saberes, estrategias de desarrollo, patrones de diseño, lógica de algoritmos con las esperanzas que mañana o pasado llegue un proyecto en el cual se posible implementar todo lo aprendido. 

Es destacable que en esta obra se desagregan conceptos que habitualmente en YouTube o en BootCamps se encuentran distribuidos sin una conexión aparente y que muchas veces en lugar de ayudar a quienes empiezan en el mundo de la construcción de software, terminan por lo contrario perjudicando todo el proceso productivo. Entre los principales procesos se tienen:
1. Diseño Detallado
2. Integración
3. Unidad
4. Testing
5. Testing Integration
6. Definición de Problemas y Desarrollo de Requerimientos
7. Arquitectura de Software

Como pueden observar el proceso de "Programar" es muy amplio y en tal virtud, los distintos períodos desde la implementación a partir del Diseño Detallado pasando por la integración de varios bloques de código así como las etapas de pruebas conllevan a una implementación clara de los requerimientos por parte de los clientes que requieren de nuestros servicios.

La Construcción de Software es la actividad central del Desarrollo de Software; solo si construimos nos garantizaremos que un proyecto se desarrolle efectiva y eficientemente. 

Es así que, las principales actividades de la Construcción de Software son la ejecución de un Diseño Detallado, Escribir el Código, ejecutar los procesos de identificación y eliminación de errores, la integración del proyecto, el desarrollo de la etapa de pruebas (Pruebas de Unidad y Pruebas de Integración).


Es importante destacar que los términos "desarrollo" y "programación" se utilizan indistintamente; pero nosotros como Constructores de Software, debemos entender que esos términos deben ser utilizados en el aspecto amplio de nuestra profesión y no quedarnos únicamente con la creencia que las demás personas no especializadas en el asunto tienen. 

La calidad de la construcción sustancialmente afecta la calidad del software; y como detalle final, su entendimiento de ¿Cómo ejecutar la creación y construcción del software determina cuan buen "programador" eres. 

En resumen, esta es la principal temática que este gran libro tratar de abordar.