miércoles, 23 de septiembre de 2015

Desarrollo de prototipos

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