Antes de construir un puente, el ingeniero tiene que realizar un análisis muy detallado. Después de tomar medidas, va a su oficina y proyecta. Cuando vuelve al lugar en el que se va a construir el puente, todo sigue igual. Nada ha cambiado. Ni el entorno ni las medidas. Es algo que la mentalidad de un ingeniero tradicional tiene perfectamente asumido.
Pero en el mundo del desarrollo web esto nunca ocurre.
Todo cambia respecto a lo inicialmente previsto, y lo hace por varias razones:
1. El cliente no sabe lo que quiere
En muchas ocasiones, ni siquiera el cliente sabe muy bien lo que quiere. Tiene una idea de cuál es su problema, es verdad, pero a menudo desconoce sus necesidades reales. Y en muchos casos, cuando estamos diseñando un sistema nuevo, solo tenemos una idea aproximada en nuestra imaginación.
Por eso el “diagnóstico” no resulta sencillo, y los primeros pasos del proyecto no siempre avanzan en la dirección adecuada. Más tarde o más temprano, esto nos obliga a rectificar.
¿Como podemos hacer un plan para construir un sistema que no sabemos como es?
Un proverbio árabe dice que “cuando no sabes donde vas cualquier camino te llevará al lugar equivocado”.
2. La comunicación es imperfecta
El proceso de comunicación siempre es imperfecto. El cliente no puede proporcionar una imagen completa sobre sus procesos y las necesidades de su empresa. Es inevitable que deje de contar cosas: porque no las conoce, porque las olvida, o incluso porque no cree oportuno contarlas.
Y, también de forma inevitable, el informático no es capaz de interiorizar todo lo que oye: hay cosas que no entiende bien, y otras a las que no es capaz de asignar la relevancia que merecen.
La información correcta y precisa no aparece hasta más adelante, como fruto de las diferentes iteraciones. Y cuando aparece, se traduce en cambios.
3. Al principio sabemos muy poco sobre el proyecto
Al inicio del proyecto, nuestro nivel de conocimiento de la realidad es muy limitado.
Conforme el trabajo avanza, vamos descubriendo cosas nuevas que antes no sabíamos, obtenemos información muy valiosa -está basada en situaciones reales, no en previsiones- y podemos tomar por tanto decisiones mejor informadas.
Estas decisiones se traducen en cambios frente a lo inicialmente previsto.
4. La realidad cambia
Además de que la realidad que tenemos en frente es distinta de la que sería posible construir en un mundo con información completa, y comunicación perfecta. La realidad cambia de verdad, con cosas como:
- Cambios (impuestos, exigencias de LOPD, LSSI, etc.)
- Movimientos de la competencia
- Cambios tecnológicos
- Cambios en las organizaciones (Fusiones, compras, etc.)
- etc.
Conclusión
Podemos extraer un conclusión muy clara: la realidad cambia, y no queda más remedio que aprender a cambiar con la realidad.
A estas alturas no debería ser ninguna sorpresa. Pero parece que muchas empresas de desarrollo todavía no lo han asumido. Por eso siguen aferradas a los métodos de ingeniería tradicionales.
Un Comentario
Me ha llegado al alma lo de “el cliente no sabe lo que quiere”. Me he visto reflejado. Yo diria que, con suerte, algunos saben lo que quieren pero hay muy pocos que sepan explicarlo.
Creo que un cliente deberia saber al menos que le pasa (sus sintomas) y, por medio de un especialista (el equivalente a medico generalista que nosotros podemos llamar consultor de negocio) reenviarlo a un especialista que le diagnosticara adecuadamente. Posiblemente, para resolver su problema necesite de tecnicos concretos que sepan “construir” su solución.
Con toda humildad, quisieramos presentarte una iniciativa orientada a facilitar la relación entre profesionales del sector de las Tecnologias y las empresas en base a un modelo de negocio basado en subastas.
Nos gustaría que nos visitaras en http://www.softauction.es y, sobre todo, participaras en los sitios de apoyo, en especial nuestro blog.
Si te hemos hecho perder el tiempo, nuestras disculpas por adelantado.