Investigación de metodología: Prototipo



¿Qué es un prototipo?

Definición por la rae: Ejemplar original o primer molde en que se fabrica una figura u otra cosa.

Pero también: Un original a gran escala y, usualmente funcional, modelo de un nuevo producto o nueva versión de un producto ya existente.

Los objetivos para desarrollar un prototipo son generalmente los mismos: Proporcionar una capacidad temprana o continua para observar algo sobre la naturaleza de un producto.

Modelo de Prototipos
También conocido como desarrollo con prototipación o modelo de desarrollo evolutivo, se inicia con la definición de los objetivos globales para el software, luego se identifican los requisitos conocidos y las áreas del esquema en donde es necesaria más definición.
Es básicamente prueba y error dado que si al usuario no le gusta una parte del prototipo significa que la prueba fallo por lo cual se debe corregir el error que se tenga hasta que el usuario quede satisfecho. Además debe ser construido en poco tiempo, usando los programas adecuados y no se debe utilizar mucho dinero pues a partir de que este sea aprobado se puede iniciar el verdadero desarrollo del software. Pero eso si al construir el prototipo nos asegura que nuestro software sea de mejor calidad, además de que su interfaz sea de agrado para el usuario.

Comienzos
En los años 70s, surgieron proyectos grandes pero con requisitos inestables. En los 80s, la Ingeniería de Software solucionaron este problema dando lugar a la “construcción de prototipos”, el modelo de de ciclo de vida de dichos prototipos fue propuesto por Hassan Gomaa en 1984.


Etapas de la IS cubiertas en el modelo de prototipos:
  • Descripción: Recolección de requisitos, Diseño rápido.
  • Desarrollo: Construcción del prototipo, Evaluación, Refinamiento, Producto.
  • Mantenimiento: Operación y mantenimiento. 

Esta metodología es no secuencial, basado en la construcción de simulaciones o modelos ejecutables de aplicaciones más extensos, requiere de la participación directa del cliente en la construcción del software requerido.

Objetivo
Lograr brindarle al usuario una vista preliminar por parte del software , el cual se obtiene gracias al diseño rápido con el que se conduce la construcción del prototipo, será evaluado constantemente por el cliente o usuario para una retroalimentación, y esto brindara un gran aporte para lograr refinar los requisitos del software que se desea desarrollar.


El prototipo sirve como mecanismo para identificar los requisitos del software, y su construcción suele llevar las siguientes etapas:
·         Recolección de requisitos: El programador/ingeniero de software y el cliente definen los objetivos globales del software, y aquéllos más específicos que se desean destacar con el prototipo.
·          Diseño rápido: Centrado en los aspectos del software visible al usuario (por ejemplo, interfaz de usuario, entradas y salidas…).
·          Construcción del prototipo.
·          Evaluación: Se realiza por el cliente y usuarios, lo que permitirá concretar y refinar los requisitos del software a desarrollar.
·          Refinamiento: Se produce un proceso iterativo en el que el prototipo es refinado para que satisfaga las necesidades del cliente, al tiempo que facilita al ingeniero de software un mejor conocimiento del sistema.
·          Producto: En la mayoría de los casos este sistema refinado (piloto) hay que desecharlo y hacer uno nuevo. Por ello, el desarrollo de un prototipo se debe planificar con el acuerdo expreso del cliente.
·         Operación y mantenimiento: En esta fase se realiza ya la instalación y mantención del software, la complejidad en este caso resulta menor ya que en las etapas anteriores los usuarios han trabajado con el sistema al momento de hacer las pruebas de prototipos. Si existiese el caso en el cual se requiera mantenimiento entonces el proceso de prototipado es repetido y se definirá un nuevo conjunto de requerimientos.



Roles:
Los roles u intervinientes que se encuentran en este metodología de investigación son el programador/ingeniero de software, el usuario o cliente según sea correspondiente.

Ventajas:
·          Permite la construcción del sistema con requisitos poco claros o cambiantes
·          El cliente recibe una versión del sistema en muy poco tiempo, por lo que lo puede evaluar, probar e, incluso, empezar a utilizarlo
·          Se pueden introducir cambios en las funcionalidades del sistema en cualquier momento
·          Involucra al usuario en la evaluación de la interfaz de usuario
·          Se reduce el riesgo y la incertidumbre sobre el desarrollo
·         Los cambios iníciales durante el desarrollo de un proyecto son menos costosos que si se realizan en etapas tardías
·          Genera signos visibles de progreso, que se utilizan cuando existe una demanda en la velocidad del desarrollo
·          Permite entender bien el problema antes de la implementación final
Desventajas:
·         Administración difícil: Dicha dificultad radica en manejar el prototipo como un proyecto dentro del Ciclo de Desarrollo de Sistema sin perder de vista cual era su propósito.
·         Adoptarlo como el sistema final: Los usuarios y profesionales de sistemas pueden considerar al prototipo como el sistema final cuando aún es incompleto e inadecuado.
·         El desarrollador  y  el cliente tienen poca comunicación al inicio del proceso.
·         Surgen cambios imprevistos que retrasan el progreso del prototipo.

Herramientas que soportan la metodología Prototipo
Axure RP; Prepaga; Uso Local
Es una herramienta muy completa, orientada a diseñar wireframes y prototipos básicos o avanzados de forma fácil, dirigido a aplicaciones web y de escritorio.
Balsamiq; Paga; Uso en la Nube o Uso Local
Es una herramienta que permite crear borradores (prototipos) de la interfaz de usuario de nuestra aplicación.

Ejercicio Práctico 
Un cliente desea un programa donde pueda digitalizar las ventas de su kiosco.
Se decide utilizar la metodología de prototipo, se comienza realizando la recolección de requisitos.
Se realiza una entrevista con el cliente en la cual se ponen de acuerdo en cuanto a que funciones integrará el programa.
Se sigue con la etapa de diseño rápido donde el programador empieza a hacer un boceto de cómo será la interfaz de usuario, que productos se ingresarán y ventas totales en un periodo de tiempo determinado.
El programador procede a construir el prototipo según las especificaciones ya mencionadas.
A medida que se van agregando funcionalidades al programa se las va presentando al cliente de modo de que este pueda dar el visto bueno o no de lo que se está desarrollando. Con el correr del tiempo el cliente se da cuenta que tener un control de ingreso y egreso de stock es fundamental para su negocio, por lo que el programador se ve obligado a agregar dicha funcionalidad al programa para satisfacer la necesidad del cliente.
Una ves terminado el desarrollo del producto se procede a la instalación del software en el negocio del cliente para que lo pueda utilizar.


Ejemplo de Empresas que lo utilizan:
Epic Games; Link: https://www.epicgames.com/store/es-ES/

Utilizan la metodología prototipo especialmente en su videojuego "Fortnite" actualizándolo constantemente y realizando cambios en el balance del mismo, por ejemplo, suelen implementar objetos nuevos que terminan sacándolos a los pocos días por ser demasiado “poderosos” es decir, tener una ventaja injusta frente a otros usuarios.



Conclusiones
La elaboración de prototipos es un enfoque de construir un poco y probar un poco, antes de construir el sistema final.
El profesional de sistema se encuentra ante una excelente técnica de relevamiento de información, obteniendo Reacciones del Usuario, Sugerencias, Innovaciones, Prioridades.
Los resultados de un acoplamiento estrecho entre el usuario, el profesional de sistema y los modelos reducen el vacío entre lo que los usuarios piensan de los sistemas y lo que realmente obtiene. Al usuario se lo introduce directamente en el desarrollo de manera que la aplicación se convierta en su proyecto, comunicando mejor sus requerimientos, reduciendo la habilidad del profesional de sistema en traducir los requerimientos.
El usuario prueba algo, ve lo que sucede, luego lo modifica, esta interacción proporciona una retroalimentación instantánea y le permite ver al usuario ver inmediatamente sus resultados y modificar el modelo tantas veces como sea necesario antes de su terminación. Los pasos de análisis, diseño y construcción se combinan en un flujo interactivo que es el paso clave.

Bibliografía:
http://segundomodelo.blogspot.com/2013/05/modelo-de-prototipos-este-modelo-no.html
http://marich.blogspot.es/1459397526/metodologia-de-prototipos/
https://www.ecured.cu/Modelo_de_prototipos
http://pages.cpsc.ucalgary.ca/~saul/pmwiki/uploads/Main/topic-neumann.pdf

Comentarios

  1. En cuanto al blog de que es un prototipo y para que sirve
    tengamos siempre en cuenta que podemos conocer y aprender de muchos temas.

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Implementación de Metodología Híbrida Para el desarrollo de STM