stringtranslate.com

Diseño iterativo

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.

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. [1] La idea tiene sus raíces en el desarrollo en espiral , concebido por Barry Boehm . [2]

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-computadora

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:

  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 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.

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, 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:

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 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.

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. [4]

Otros beneficios del diseño iterativo incluyen:

  1. Los malentendidos graves se hacen evidentes en las primeras etapas del ciclo de vida, cuando es posible reaccionar ante ellos.
  2. Permite y fomenta la retroalimentación de los usuarios, con el fin de conocer los requisitos reales del sistema.
  3. Cuando el trabajo es contratado, el Diseño Iterativo proporciona un método incremental para involucrar más efectivamente al cliente en las complejidades que a menudo rodean el proceso de diseño.
  4. El equipo de desarrollo se ve obligado a centrarse en aquellas cuestiones que son más críticas para el proyecto, y los miembros del equipo están protegidos de aquellas cuestiones que los distraen y los 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 requisitos, diseños e implementaciones se detectan tempranamente.
  7. La carga de trabajo del equipo, especialmente del 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. Las partes interesadas en el proyecto pueden recibir evidencia concreta del estado del proyecto durante todo el ciclo de vida.

Desafío de malvavisco

Trabajo ganador del desafío Marshmallow.

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]

Ver también

Referencias

  1. ^ Gossain, Sanjiv; Anderson, Bruce (1990). "Un modelo de diseño iterativo para software orientado a objetos reutilizable". Actas de la conferencia europea sobre programación orientada a objetos en sistemas, lenguajes y aplicaciones de programación orientada a objetos - OOPSLA/ECOOP '90 . págs. 12-27. doi : 10.1145/97945.97949. ISBN 0-89791-411-2. S2CID  551413.
  2. ^ "Resumen del modelo en espiral" (PDF) .
  3. ^ Nielsen, J. (1993). "Diseño de interfaz de usuario iterativo". Computadora IEEE . 26 (11): 32–41. doi :10.1109/2.241424. S2CID  17748574.
  4. ^ Mantei, Marilyn M.; Teorey, Toby J. (1988). "Análisis Costo/Beneficio para la incorporación de factores humanos en el ciclo de vida del software". Comunicaciones de la ACM . 31 (4): 428–439. doi : 10.1145/42404.42408 . S2CID  2031965.
  5. ^ "El desafío del malvavisco". El desafío del malvavisco . Consultado el 10 de agosto de 2010 .
  6. ^ "El desafío del malvavisco". CA: BPWrap. 22 de abril de 2010 . Consultado el 10 de agosto de 2010 .
  7. ^ Jerz, Dennis G. (10 de mayo de 2010). "El desafío Marshmallow: blog de alfabetización de Jerz". Jerz.setonhill.edu . Consultado el 10 de agosto de 2010 .
  8. ^ Cameron, Chris (23 de abril de 2010). "Malvaviscos y espaguetis: cómo los niños de jardín de infantes piensan como empresas Lean Startup". Readwriteweb.com. Archivado desde el original el 21 de agosto de 2010 . Consultado el 10 de agosto de 2010 .
  9. ^ "El desafío del malvavisco". Engineeringrevision.com. 2010-05-02 . Consultado el 10 de agosto de 2013 .
  10. ^ "El desafío del malvavisco". Programación egoísta . Consultado el 10 de agosto de 2013 .
  11. ^ "Desafío Marshmallow | Facultad de Ciencias | Universidad de Calgary". Ucalgary.ca. 2010-12-13 . Consultado el 10 de agosto de 2013 .
  12. ^ Desafío de diseño original (27 de enero de 2014), Peter Skillman Marshmallow Design Challenge, archivado desde el original el 13 de diciembre de 2021 , consultado el 12 de septiembre de 2017

enlaces externos