Diseño iterativo - Iterative design

El diseño iterativo es una metodología de diseño basada en un proceso cíclico de creación de prototipos , pruebas , análisis y refinamiento de un producto o proceso. Con base en los resultados de probar la iteración más reciente de un diseño, se realizan cambios y refinamientos. Este proceso tiene como objetivo, en última instancia, mejorar la calidad y la funcionalidad de un diseño. En el diseño iterativo, la interacción con el sistema diseñado se utiliza como una forma de investigación para informar y desarrollar un proyecto, a medida que se implementan versiones sucesivas o iteraciones de un diseño.

Historia

El diseño interactivo se ha utilizado durante mucho tiempo en los campos de la ingeniería. Un ejemplo es el ciclo planificar-hacer-verificar-actuar implementado en la década de 1960. La mayoría de los programas de desarrollo de nuevos productos o de mejora de productos existentes tienen un ciclo de verificación que se utiliza con fines iterativos. DMAIC utiliza el marco Six Sigma y tiene esa función de verificación.

Programación orientada a objetos

El diseño iterativo está relacionado con la práctica de la programación orientada a objetos , y la frase apareció en la literatura informática ya en 1990. La idea tiene sus raíces en el desarrollo en espiral , concebido por Barry Boehm .

Proceso de diseño iterativo

El proceso de diseño iterativo se puede aplicar a lo largo del proceso de desarrollo de nuevos productos . Sin embargo, los cambios son más fáciles y menos costosos de implementar en las primeras etapas de desarrollo. El primer paso en el proceso de diseño iterativo es desarrollar un prototipo . El prototipo debe ser evaluado por un grupo focal o un grupo no asociado con el producto para poder emitir opiniones no sesgadas. La información del grupo de enfoque debe sintetizarse e incorporarse en la próxima iteración del diseño. El proceso debe repetirse hasta que los problemas del usuario se hayan reducido a un nivel aceptable.

Aplicación: interfaces hombre-computadora

El diseño iterativo se usa comúnmente en el desarrollo de interfaces de computadora humana. Esto permite a los diseñadores identificar cualquier problema de usabilidad que pueda surgir en la interfaz de usuario antes de que se utilice ampliamente. Incluso los mejores expertos en usabilidad no pueden diseñar interfaces de usuario perfectas en un solo intento, por lo que se debe construir un ciclo de vida de ingeniería de usabilidad alrededor del concepto de iteración.

Los pasos típicos del diseño iterativo en las interfaces de usuario son los siguientes:

  1. Completar un diseño de interfaz inicial
  2. Presentar el diseño a varios usuarios de prueba
  3. Tenga en cuenta cualquier problema que haya tenido el usuario de prueba
  4. Refinar la interfaz para tener en cuenta / solucionar los problemas
  5. Repita los pasos 2 a 4 hasta que se resuelvan los problemas de la interfaz de usuario.

El diseño iterativo en las interfaces de usuario se puede implementar de muchas formas. Un método común de utilizar el diseño iterativo en software de computadora es la prueba de software . Si bien esto incluye probar la funcionalidad del producto fuera de la interfaz de usuario, se pueden obtener comentarios importantes sobre la interfaz al probar las primeras versiones de un programa. Esto permite a las empresas de software lanzar un producto de mejor calidad al público y evita la necesidad de modificar el producto después de su lanzamiento.

El diseño iterativo en las interfaces en línea (sitios web) es un proceso más continuo, ya que la modificación del sitio web, una vez que ha sido entregada al usuario, es mucho más viable que en el diseño de software. A menudo, los sitios web utilizan a sus usuarios como sujetos de prueba para el diseño de la interfaz, haciendo modificaciones basadas en las recomendaciones de los visitantes de sus sitios.

Uso de diseño iterativo

El diseño iterativo es una forma de confrontar la realidad de las necesidades y comportamientos impredecibles de los usuarios que pueden conducir a cambios radicales y fundamentales en un diseño. Las pruebas de usuario a menudo mostrarán que incluso las ideas evaluadas cuidadosamente serán inadecuadas cuando se enfrenten a una prueba de usuario. Por lo tanto, es importante que la flexibilidad del enfoque de implementación del diseño iterativo se extienda lo más lejos posible del sistema. Los diseñadores deben reconocer además que los resultados de las pruebas de los usuarios pueden sugerir un cambio radical que requiere que los diseñadores estén preparados para abandonar por completo las viejas ideas en favor de nuevas ideas que estén más equipadas para satisfacer las necesidades del usuario. El diseño iterativo se aplica en muchos campos, desde la fabricación de cuchillos hasta los cohetes. Como ejemplo, considere el diseño de un circuito electrónico que debe realizar una determinada tarea y, en última instancia, debe caber en un pequeño espacio en una placa de circuito . Es útil dividir estas tareas independientes en dos tareas más pequeñas y simples, la tarea de funcionalidad y la tarea de espacio y peso. Una placa de pruebas es una forma útil de implementar el circuito electrónico de forma provisional, sin tener que preocuparse por el espacio y el peso.

Una vez que el circuito funciona, se pueden aplicar mejoras o cambios incrementales a la placa de pruebas para aumentar o mejorar la funcionalidad sobre el diseño original. Cuando se finaliza el diseño, uno puede comenzar a diseñar una placa de circuito adecuada que cumpla con los criterios de espacio y peso. Compactar el circuito en la placa de circuito requiere que los cables y componentes se muevan sin cambiar sus características eléctricas. Este malabarismo sigue reglas más simples que el diseño del circuito en sí y, a menudo, está automatizado . En la medida de lo posible , se utilizan componentes estándar , pero cuando sea necesario por motivos de espacio o rendimiento, se pueden desarrollar componentes hechos a medida.

Varias instancias de diseño iterativo son las siguientes:

  • Wiki : una wiki es un repositorio natural para el diseño iterativo. La función 'Historial de páginas' permite rastrear versiones anteriores. Las modificaciones son en su mayoría incrementales y no modifican partes sustanciales del texto.
  • Derecho consuetudinario : el principio de precedente jurídico se basa en la experiencia pasada. Esto hace que la ley sea una forma de diseño iterativo donde debe haber una pista de auditoría clara del desarrollo del pensamiento legal.
  • Evolución : existe un paralelo entre iterativo y la teoría de la selección natural . Ambos implican un proceso de prueba y error en el que el diseño más adecuado avanza a la siguiente generación, mientras que los diseños menos adecuados perecen en el camino. Las versiones posteriores de un producto también deberían mejorar progresivamente a medida que sus productores aprenden qué funciona y qué no en un proceso de refinamiento y mejora continua .

Herramientas de creación rápida de prototipos

Un enfoque para el diseño iterativo es utilizar el nivel más alto de abstracción para desarrollar un producto de primera generación. El principio aquí es que el desarrollo rápido puede no producir un código eficiente, pero obtener retroalimentación es más importante que la optimización de la tecnología. Los ejemplos de este enfoque incluyen el uso de código no funcional, bases de datos de objetos o plataformas de código bajo, que permiten probar rápidamente los diseños antes de abordar los problemas de optimización.

Beneficios

Cuando se aplica correctamente, el diseño iterativo garantizará que un producto o proceso sea la mejor solución posible. Cuando se aplica al principio de la etapa de desarrollo, es posible un ahorro de costes significativo.

Otros beneficios del diseño iterativo incluyen:

  1. Los malentendidos graves se hacen evidentes al principio del ciclo de vida, cuando es posible reaccionar ante ellos.
  2. Permite y fomenta la retroalimentación de los usuarios, a fin de obtener los requisitos reales del sistema.
  3. Cuando se contrata el trabajo, el diseño iterativo proporciona un método incremental para involucrar más eficazmente al cliente en las complejidades que a menudo rodean el proceso de diseño.
  4. El equipo de desarrollo se ve obligado a concentrarse en los problemas que son más críticos para el proyecto, y los miembros del equipo están protegidos de los problemas que los distraen y desvían de los riesgos reales del proyecto.
  5. Las pruebas continuas permiten una evaluación objetiva del estado del proyecto.
  6. Las inconsistencias entre los requisitos, los diseños y las implementaciones se detectan temprano.
  7. La carga de trabajo del equipo, especialmente el equipo de pruebas, se distribuye de manera más uniforme a lo largo del ciclo de vida.
  8. Este enfoque permite al equipo aprovechar las lecciones aprendidas y, por lo tanto, mejorar continuamente el proceso.
  9. A los interesados ​​en el proyecto se les puede dar evidencia concreta del estado del proyecto a lo largo de su ciclo de vida.

Desafío de malvavisco

Trabajo ganador del desafío Marshmallow.

El Desafío Marshmallow es un desafío de diseño instructivo. Implica la tarea de construir la estructura independiente más alta posible con un malvavisco encima. La estructura debe completarse en 18 minutos usando solo 20 palos de espagueti, una yarda de cinta y una yarda de cuerda.

La observación y los estudios de los participantes muestran que los niños de kindergarten pueden construir estructuras más altas, en comparación con los grupos de graduados de escuelas de negocios. Esto se explica por la tendencia de los niños a pegar el malvavisco en la parte superior de una estructura simple, probar el prototipo y seguir mejorando. Mientras que, los estudiantes de la escuela de negocios tienden a pasar tiempo compitiendo por el poder, planificando y finalmente produciendo una estructura a la que se agrega el malvavisco. El desafío ayuda a construir y desarrollar prototipos, trabajo en equipo, liderazgo e innovación y es una actividad STEM popular . El desafío fue inventado por Peter Skillman de Palm, Inc. y popularizado por Tom Wujec de Autodesk .

Ver también

Referencias

  • Boehm, Barry W. (mayo de 1988) "Un modelo en espiral de desarrollo y mejora de software", Computadora, IEEE, págs. 61–72.
  • Gould, JD y Lewis, C. (1985). Diseño para la usabilidad: principios clave y lo que piensan los diseñadores, Comunicaciones del ACM, 28 de marzo (3), 300–311.
  • Kruchten, Philippe. El proceso unificado racional: una introducción,
  • Kruchten, P. (2000). "De la cascada al desarrollo iterativo: una transición desafiante para los directores de proyectos" (PDF) (informe técnico). Corporación de software racional . Consultado el 17 de agosto de 2019 . Cite journal requiere |journal=( ayuda )

enlaces externos