Desarrollo de software. Percepción, abstracción, implementación

Ante un hecho o un problema lo más normal es que la percepción de cada observador sea diferente. En algunos casos serán solo matices, en otros la divergencia será mucho mayor.

Cuando vamos a desarrollar software lo que hacemos es realizar una abstracción de esa percepción que tenemos del mundo real. Para realizar esa abstracción, además de nuestros sentidos, nuestro conocimiento y nuestra experiencia intervendrán los usuarios y otros componentes del equipo de proyecto.

Mediante la abstracción se busca un consenso entre percepciones diferentes, priorizándose la visión del usuario porque al final serán ellos los que utilicen el sistema de información.

Pero la abstracción no solo se limita a aspectos funcionales, también se centra en aspectos técnicos del propio proceso de desarrollo. La arquitectura de un sistema de información no es más que la definición de un esqueleto que será rellenado con el código fuente de la aplicación o por terceros componentes en los que se delega funcionalidad. En esta abstracción entran en juego otros perfiles, aunque deben tener en cuenta las características del sistema que se abstrae desde el área funcional.

La abstracción puede entrar en todos los detalles que uno quiera pero realmente hasta que no se implementa una solución no se termina de poner forma a sus múltiples esquinas. En ocasiones se acertará a la primera, en la mayoría de los casos serán necesarias varias iteraciones para encontrar una solución que se considere satisfactoria.

La incertidumbre existente en el proceso de desarrollo de software ya de por sí es motivo suficiente para aportar por un enfoque ágil en los proyectos (al menos, en la mayoría de ellos), si a eso le sumamos la propia naturaleza de la transformación de percepciones heterogéneas de la realidad a un conjunto de líneas de código, encontramos otra justificación adicional a dicho enfoque.

Deja un comentario