Esta entrada forma parte de una serie cuyo índice es el siguiente:
- Identificación de usuarios finales clave.
- Entrevista a dichos usuarios finales.
- Construcción de un prototipo basado en los resultados de las entrevistas. Es importante que el prototipo sea a la vez simple e interactivo.
- Presentación del prototipo a los usuarios finales, solicitando feedback.
- Desarrollar una guía de estilo que refleje el diseño/interfaz del prototipo.
- Completar y extender el prototipo hasta que demuestre funcionalmente todo el software.
- Utilizar el prototipo como la primera línea de base de los requisitos.
- Escribir una documentación de usuario detallada, basada en el prototipo anterior.
- Crear documentación de requisitos no funcionales para algoritmos, procesos, interfaces con otros sistemas hardware y software, etc.
Ojo, no estamos diciendo que el prototipo se acabe convirtiendo en la aplicación final. Esto ha sido ampliamente discutido en muchos foros, y tiene sus defensores (especialmente en el ámbito del software ágil) y sus detractores (especialmente desde el punto de vista de la ingeniería del software).
De esta forma, se consigue que los desarrolladores tengan una visión completa de lo que será el producto final. Hay dos visiones:
- La visión del producto permite alinear el trabajo de los desarrolladores.
- El prototipo detallado permite una visión mucho más detallada, facilitando a los desarrolladores el trabajo.
- Todos los cuadros de diálogo, incluyendo los cuadros de diálogo estándar como Abrir, Cerrar, Imprimir, Guardar, etc.
- Todas las pantallas de inserción de datos.
- Todas las salidas de datos (pantallas, informes, listados...)
- Todas las interacciones con el sistema operativo (ejemplo: importación y exportación al portapapeles).
- Interacción con sistemas externos y otros productos de terceros.
- Con el usuario
- Con el sistema operativo
- Con otros sistemas externos
Tal y como establece Steve McConnell en su magnífico libro Software Project Survival Guide:
"No deberías usar un prototipo como la base de software real, así como no deberías usar un decorado de Hollywood como base para una casa de verdad".
El prototipo es un callejón sin salida, útil, pero un callejón sin salida. No ha habido una arquitectura, no está preparado para construir sobre él la aplicación final. La mayoría de autores recomiendan construir el prototipo en un entorno y en un lenguaje de programación que facilite el desarrollo rápido, pero que claramente no vaya a usarse en el desarrollo final. Por ejemplo, úsese Visual Basic o un lenguaje similar de alto nivel, cuando el desarrollo final vaya a ser en Java o C++ o C#. Esto evitará tentaciones más adelante.
Hola.
ResponderEliminar¿Con que herramienta dibujas los prototipos?
Gracias por leerme y comentar, Fernando. Hay una herramienta totalmente libre y gratuita (no requiere licencia), y funciona en todos los sistemas operativos. Yo la suelo usar tanto para prototipar como para definir seudocódigo, flujos de código, etc. Ya habrás adivinado que me refiero a un simple lápiz o bolígrafo.
EliminarTambién puede ayudar el uso de un simple Tablero o Flipchart. La ventaja de un flipchart es que es fácil llegar a un público amplio, y simular un flujo de ventanas.