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 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.
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.
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. [1] La idea tiene sus raíces en el desarrollo en espiral , concebido por Barry Boehm . [2]
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.
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. [3]
Los pasos típicos del diseño iterativo en interfaces de usuario son los siguientes:
El diseño iterativo en interfaces de usuario se puede implementar de muchas maneras. Un método común para 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 al público un producto de mejor calidad y evita la necesidad de modificar el producto después de su lanzamiento.
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.
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, 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 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:
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 código eficiente, pero obtener retroalimentación es más importante que la optimización de la tecnología. 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 realizar pruebas rápidas de los diseños antes de abordar los problemas de optimización.
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. [4]
Otros beneficios del diseño iterativo incluyen:
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. [5] [6]
Las observaciones 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 suelen ser capaces de 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. [7] 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 . [8] [9] [10] [11] [12]