Este artículo es una traducción libre del capítulo 26 del libro “Adrenaline Junkies and Template Zombies. Understanding Patterns of Project Behavior. Ed. Dorset House, 2008. Tom DeMarco et. al.”

Patrón positivo en proyectos software: Los miembros del equipo ofrecen un prototipo para sonsacar retroalimentación temprana y entrar en detalles.

Un prototipo no es un modelo abstracto, sino realmente una solución. Puede que sea una solución incompleta y/o incorrecta, pero se ofrece con la intención de solicitar críticas de los interesados. El objetivo final tiene que ver con este viejo chiste que hacen los programadores:

El cliente no sabe lo que quiere hasta que lo ve... Entonces se da cuenta de que no era eso :-)

Todos los chistes buenos encierran algo de verdad en ellos, y este no es una excepción. Los clientes simplemente no saben lo que quieren porque no tienen una idea clara de lo que se puede obtener. Los mejores analistas no tratan de analizar la solución con todos sus detalles. En lugar de eso, analizan algunos detalles, hacen promesas ligeras sobre la solución completa o una parte, y rápidamente la ofrecen para observar las reacciones.

Todo lo contrario a como se comporta “el experto” en este famoso vídeo:

El prototipado es una técnica de recopilación de requisitos. Se les ofrece a los interesados algo que les provoca sensaciones a favor o en contra. Los prototipos se construyen rápido y barato porque son incorrectos. Los interesados revisan una maqueta o un prototipo, por ejemplo, de la pantalla de “casas a la venta en el área seleccionada”. Les hacemos ver una simulación de lo que todo el mundo verá en el futuro. A cambio, los interesados nos conducirán a los requisitos reales.

Los mejores analistas evitan preguntar abiertamente “¿Qué quieres?”. Saben que esta pregunta suele resultar muy incómoda. La gente odia inventar respuestas desde cero, pero no les importa criticar lo que ya se ha construido. Pongamos un ejemplo. Imagine que alguien le pregunta qué tarea prefiere hacer:

  1. Redactar un informe a sus jefes sobre los pros y los contras de construir un nuevo centro de proceso de datos.
  2. Revisar un informe sobre los pros y los contras de construir un nuevo centro de proceso de datos, antes de que el informe se les haga llegar a los jefes.

La mayoría de las personas se sentirían más cómodas con la segunda opción. Los humanos somos naturalmente efectivos a la hora de proponer mejoras, pero pocos se sienten cómodos creando desde cero.

Recordemos otro famoso vídeo de nuestra querida Rita Mulcahy. Me parece muy acertada su frase “Los interesados preferirían ir al dentista antes que darnos los requisitos finales”:

Los mejores prototipos pueden incluso incluir errores intencionados. Los analistas los hacen imperfectos a propósito para mantener a los interesados alerta y transmitirles el mensaje de que cualquier crítica es completamente aceptable, sin restricciones. Los analistas curtidos, los que saben usar la técnica avanzada de recopilación de requisitos denominada “hacerse el tonto”, generalmente llegan antes a los requisitos finales. Es la expresión más refinada del arte del prototipado.

Los prototipos son útiles siempre que las personas iteren en su búsqueda de la solución. El prototipado sirve para analizar requisitos, pero también para mejorar el diseño de software. Ofrecer al equipo de diseño el primer diseño que se nos ocurra tiene tres resultados posibles, los tres positivos:

  • Después de ciertas revisiones, la estrategia que subyace bajo ese prototipo se rechaza totalmente, y otro prototipo sustituye al anterior, sobre una estrategia de diseño distinta.
  • Durante la revisión, los diseñadores realizan mejoras incrementales al diseño y finalmente se ponen de acuerdo sobre el diseño final.
  • Ocurre un milagro, y el prototipo acaba siendo el diseño elegido. Esto nunca hemos visto que ocurra, pero podría suceder algún día, en algún lugar. Aún así no hay que contar con ello.

La filosofía del prototipado es que por equivocarnos pronto y a menudo, acertaremos lo más pronto posible. Hoy día, los problemas que nos encontramos y las soluciones que se nos pueden ocurrir son demasiado complejas como para formarse completamente en la cabeza de una persona. Atrévete a preguntar “¿Qué te parece esto como idea?” aunque tengas claro que estás totalmente equivocado.

Muchos de vosotros pensáis que ya estáis usando la técnica del prototipado correctamente, pero ¿alguna vez alguien ha señalado vuestro prototipo y se ha reído en voz alta? Entonces estáis usando bien la técnica del prototipado.