Diseño iterativo
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 las pruebas de la iteración más reciente de un diseño, se realizan cambios y mejoras. Este proceso tiene como objetivo, en última instancia, mejorar la calidad y 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 hacer evolucionar un proyecto, a medida que se implementan versiones sucesivas o iteraciones de un diseño.
Historia
El diseño iterativo 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 circuito de verificación que se utiliza con fines iterativos. DMAIC utiliza el marco Six Sigma y tiene dicha 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 durante todo el 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 imparciales. La información del grupo focal debe sintetizarse e incorporarse en la siguiente iteración del diseño. El proceso debe repetirse hasta que los problemas de los usuarios se hayan reducido a un nivel aceptable.
Aplicación: Interfaces hombre-ordenador
El diseño iterativo se utiliza comúnmente en el desarrollo de interfaces hombre-computadora. Esto permite a los diseñadores identificar cualquier problema de usabilidad que pueda surgir en la interfaz de usuario antes de que se utilice de forma generalizada. Incluso los mejores expertos en usabilidad no pueden diseñar interfaces de usuario perfectas en un solo intento, por lo que el ciclo de vida de la ingeniería de usabilidad debe construirse en torno al concepto de iteración.
Los pasos típicos del diseño iterativo en interfaces de usuario son los siguientes:
- Completar un diseño de interfaz inicial
- Presentar el diseño a varios usuarios de pruebas
- Tenga en cuenta cualquier problema que haya tenido el usuario de la prueba
- Refina la interfaz para contabilizar/fijar los problemas
- Repita los pasos 2-4 hasta que se resuelvan los problemas de interfaz de usuario
El diseño iterativo en interfaces de usuario se puede implementar de muchas maneras. Un método común de usar el diseño iterativo en el software informático es la prueba de software. Si bien esto incluye probar el producto para la funcionalidad fuera de la interfaz de usuario, se puede obtener una retroalimentación importante en la interfaz a partir de las versiones tempranas de un programa. Esto permite a las empresas de software lanzar un producto de mejor calidad al público, y evita la necesidad de modificación del producto después de su liberación.
El diseño iterativo en interfaces en línea (sitio web) es un proceso más continuo, ya que la modificación del sitio web, después de haber sido entregado 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, realizando modificaciones basadas en las recomendaciones de los visitantes de sus sitios.
Uso de diseño iterativo
El diseño iterativo es una forma de afrontar la realidad de las necesidades y comportamientos impredecibles del usuario que pueden conducir a cambios radicales y fundamentales en un diseño. Las pruebas de usuario a menudo mostrarán que incluso las ideas cuidadosamente evaluadas 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 posible al 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 mejor equipadas para satisfacer las necesidades de los usuarios. El diseño iterativo se aplica en muchos campos, desde la fabricación de cuchillos hasta cohetes. Como ejemplo, consideremos 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 de 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 para aumentar o mejorar la funcionalidad con respecto al diseño original. Cuando se finaliza el diseño, se puede empezar 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 se hagan malabarismos con los cables y componentes 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 disponibles en el mercado, pero cuando sea necesario por razones de espacio o rendimiento, se pueden desarrollar componentes hechos a medida.
Varios ejemplos de diseño iterativo son los siguientes:
- Wiki: Un wiki es un repositorio natural para el diseño iterativo. La instalación "Page History" permite rastrear versiones anteriores. Las modificaciones son mayormente incrementales, y dejar partes sustanciales del texto sin cambios.
- Derecho consuetudinario: El principio del precedente jurídico se basa en la experiencia anterior. Esto hace que la ley sea una forma de diseño iterativo donde debe haber un claro rastro de auditoría del desarrollo del pensamiento legal.
- Evolución: Hay 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 próxima generación, mientras que los diseños menos adecuados perecen por el camino. Las versiones posteriores de un producto también deben mejorar progresivamente a medida que sus productores aprenden lo que funciona y lo que no está en un proceso de refinamiento y mejora continua.
Herramientas de prototipado rápido
Un enfoque del 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 rápido desarrollo puede no producir código eficiente, pero obtener comentarios es más importante que la optimización de la tecnología. Ejemplos de este enfoque incluyen el uso de códigos no funcionales, bases de datos de objetos o plataformas de código bajo, que permiten una prueba rápida de diseños antes de abordar cuestiones 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 temprano en la etapa de desarrollo, es posible lograr importantes ahorros de costos.
Otros beneficios del diseño iterativo incluyen:
- Los malentendidos serios se hacen evidentes temprano en el ciclo de vida, cuando es posible reaccionar ante ellos.
- Permite y fomenta la retroalimentación del usuario, para obtener los requisitos reales del sistema.
- Cuando el trabajo se contrae, Iterative Design proporciona un método incremental para involucrar más eficazmente al cliente en las complejidades que a menudo rodean el proceso de diseño.
- El equipo de desarrollo se ve obligado a concentrarse en aquellos temas que son más críticos para el proyecto, y los miembros del equipo están protegidos de aquellos problemas que los distraen y desvíen de los riesgos reales del proyecto.
- La prueba continua permite una evaluación objetiva del estado del proyecto.
- Se detectan tempranamente incoherencias entre requisitos, diseños y implementaciones.
- El volumen de trabajo del equipo, especialmente el equipo de pruebas, se extiende más uniformemente durante todo el ciclo de vida.
- Este enfoque permite al equipo aprovechar las lecciones aprendidas y, por lo tanto, mejorar continuamente el proceso.
- Los interesados en el proyecto pueden recibir evidencia concreta del estado del proyecto durante todo el ciclo de vida.
Desafío del malvavisco

El Marshmallow Challenge es un desafío de diseño instructivo. Se trata de 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 barras de espagueti, un metro de cinta adhesiva y un metro de cuerda.
La observación y los estudios de los participantes muestran que, en comparación con los grupos de graduados de escuelas de negocios, los niños de jardín de infantes regularmente pueden construir estructuras más altas. Esto se explica por la tendencia de los niños a pegar inmediatamente el malvavisco encima de una estructura sencilla, probar el prototipo y seguir mejorándolo. Mientras que los estudiantes de las escuelas de negocios tienden a pasar tiempo compitiendo por el poder, planificando y finalmente produciendo una estructura a la que se le añade el malvavisco. El desafío ayuda a construir y desarrollar habilidades de creación de 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.