En los comentarios de un post anterior me comprometi a escribir una versión larga de como respondemos a esta pregunta, y lo voy a intentar
En el 99% de los casos los clientes llegan a las empresas de desarrollo con una idea del proyecto que quieren abordar y con esta pregunta en la cabeza. La industria del software lleva años contestando a esta pregunta apoyándose en diferentes metodologías, en la experiencia, etc. La realidad es que hay muchos estudios donde se muestra que estas respuestas fracasan. Un altísimo porcentaje de los proyectos de desarrollo de software se entregan tarde, o incluso no se entregan, (en realidad no se mucho de otras ingenierías pero me da que pasa mucho también, piensa en la cantidad de obras públicas siempre retrasadas).
En mi opinión esa pregunta no tiene respuesta. Lo siento pero hay cosas en esta visa a las que no se puede contestar con certeza. Y la razón es que las especificaciones del proyecto, es decir, lo que hay que construir no están cerradas, falta información de detalle, y además aunque estuvieran cerradas tu proyecto va a avanzar por el camino y lo que pensabas que es importante deja de serlo, lo que pensabas que era simple resulta ser complejo, y además se te ha ocurrido una idea nueva con la que no contabas. Así es que si, y sólo si, tienes especificaciones cerradas entonces te puedo dar un plazo y un precio cerrado de verdad.
En general ante la presión de los clientes los desarrolladores se ven obligados a arriesgar, (estimar lo llamaban en la universidad), y a trasmitir al cliente la falsa sensación de que cuenta con un precio y un plazo cerrado. En realidad es una falsa sensación, pero a la mayoría le vale. El proveedor le da al cliente lo que quiere, y sabe que luego vendrán los cambios, los “poyaques”, las cosas no previstas, etc. El cliente tiene la falsa sensación de seguridad que además en general la necesita para sus jefes o accionistas. Todos nos engañamos a todos, pero aparentemente somos mas felices.
Nosotros preferimos darnos de bruces con la realidad y los últimos años de experiencia en desarrollo de software. A mi me gusta mucho la frase que usan en Alcohólicos Anónimos: “Hola me llamo Agustín y soy alcohólico”, es decir los problemas solo se resuelven si eres capaz de aceptar que lo tienes. En este caso significa aceptar que tus especificaciones no están cerradas, que no tienes el conocimiento suficiente para poder hacer un plan que acierte.
En realidad lo que hay que hacer no es responder a la pregunta, lo que hay que hacer es cambiar de pregunta. La pregunta adecuada es:
¿Cual es el mejor proyecto que puedo construir con los recursos y el tiempo que tengo?
Como contestar a esa pregunta me da para otro post.
4 steps to epiphany
Sorry, this entry is only available in Español.