viernes, 17 de noviembre de 2017

Resolver problemas antes de conocerlo

No hace mucho se me indicaba como absurda mi pretensión de resolver problemas.... antes de saber que existen.  Se definía como irracional, puesto que, se me decía 'está claro como proceder para resolver problemas', esto es 'enunciarlos, estudiarlos, buscar la solución y desarrollarla'.  

En concreto los programadores se me quejaban de que pedía imposibles, que tuvieran resueltos problemas que ni les había planteado.

Bien, acepto la crítica, pero en mi descargo quiero señalar que me resulta difícil pensar que es imposible algo que llevo haciendo desde hace muños años, algo que los matemáticos llevan siglo haciendo.

Así que vamos a estudiar el tema.

La idea que defiendo no es difícil de ver.  Muchos de los problemas o necesidades, que aparecen en una aplicación informática, tienen similitud.  Son homeomorfos, diría algún matemático de alguna especialidad.  Lo que a veces no se ve es esa homogeneidad y se piensa que cada uno requiere una solución específica.  

El  planteamiento clásico es el siguiente:

  • El cliente tiene un problema
  • Nos hace llegar el problema
  • Estudiamos el problema
  • Damos solución al problema

En realidad la experiencia me dice que ese planteamiento deriva en el siguiente

  • El cliente tiene un problema
  • Nos hace llegar información que oculta el problema
  • Replanteamos el tema con el cliente
  • Nos hace llegar su propuesta de solución sin determinar el problema
  • Replanteamos el tema con el cliente
  • Volvemos a replantear el tema con el cliente
  • Conseguimos averiguar el problema
  • Estudiamos el problema
  • Damos solución al problema
Ahora llega mi propuesta
  • Estudiamos los problemas que nos llegan y otros posibles
  • Dotamos a nuestra aplicación de solución a esos problemas
A mi me parece lo mejor.