Normalmente, el cliente es capaz de definir un conjunto general de objetivos para el sistema
que hemos de construir, pero no identifica los requisitos detallados. En otros casos, puede que
nosotros no estemos seguros de la eficiencia de un algoritmo, de la capacidad de nuestro
diseño para soportar los requerimientos del sistema o de la forma en que debe diseñarse la
interfaz de usuario. En cualquiera de estas situaciones, resulta adecuado construir un
prototipo.
El desarrollo de prototipos reduce el riesgo de que nuestro proyecto fracase y facilita la
especificación de requerimientos de productos que desconocemos. Sin embargo, también
tiene sus inconvenientes: el cliente puede pensar que el prototipo es el sistema definitivo,
ignorando que un prototipo no es un sistema acabado aunque tenga el mismo aspecto externo.
Esto puede conducir a la consolidación de aspectos de baja calidad de un prototipo en el sistema final que se entrega si el prototipo no se desecha a tiempo.
Fred Brooks nos aclara lo que hay que hacer cuando un prototipo ya ha cumplido con su
propósito: "En la mayoría de los proyectos, el primer sistema que se construye apenas resulta
utilizable. Puede que sea demasiado lento, demasiado grande, difícil de usar o las tres cosas
a la vez. No queda más remedio que comenzar de nuevo y construir una versión rediseñada
que resuelva los problemas... Cuando se utiliza un concepto nuevo... hay que construir un
sistema para desecharlo, porque incluso la mejor planificación no puede asegurar que vaya a
salir bien la primera vez. Por tanto, la cuestión no es si hay que construir un sistema piloto y
desecharlo. Se desechará. La única cuestión es si planificar de antemano la construcción de
algo que se va a desechar, o prometer la entrega del desecho a los clientes..." (The Mythical
Man-Month, "El mítico hombre-mes", 1975, uno de los libros de gestión de proyectos de
desarrollo de software más populares que jamás se han escrito).
A veces, los prototipos desechables no se llegan a desechar. Pero los prototipos no siempre
son desechables. En tal caso, estaremos utilizando un modelo iterativo de refinamiento de
prototipos en el que, tras varias iteraciones, seremos capaces de construir un sistema que se
adapte mejor a las necesidades de nuestro cliente.
No hay comentarios:
Publicar un comentario