Suscríbete a DeepL Pro para poder traducir archivos Más información disponible en www.DeepL.com/pro. El razonamiento del diseño mejora la calidad del diseño del software Antony Tang1, Minh H. Tran1, Jun Han1 y Hans van Vliet2 1 Universidad Tecnológica de Swinburne, Melbourne, Australia {atang,mtran,jhan}@ict.swin.edu.au Universidad VU2, Amsterdam, Países Bajos [email protected] Resumen. La toma de decisiones justificables es un aspecto crítico del diseño de la arquitectura del software. Sin embargo, la investigación empírica sobre los efectos del razonamiento de diseño en la calidad del diseño de software ha sido limitada. El objetivo de este trabajo es investigar si existe alguna mejora en la calidad del diseño de software cuando se aplica el razonamiento de diseño. Realizamos un estudio empírico en el que participaron veinte diseñadores, a los que se les pidió que diseñaran una interfaz de usuario y sus diseños fueron puntuados y comparados. Los resultados mostraron que el grupo de prueba al que se le aplicó el razonamiento de diseño produjo un diseño de mayor calidad que el grupo de control, especialmente en el caso de los diseñadores sin experiencia. Palabras clave: Razonamiento de diseño, diseño de arquitectura de software, usabilidad. 1 Introducción Los diseñadores de software tienden a basar sus juicios en creencias previas e intuiciones más que en un proceso de razonamiento lógico. Esta tendencia es común al pensamiento humano y ha influido en el rendimiento del razonamiento y la toma de decisiones de muchas personas [1]. En este artículo, demostramos que el diseño de software está sujeto al mismo sesgo cognitivo y, por tanto, puede afectar a la calidad de sus resultados. A través de un estudio empírico, demostramos que la calidad del diseño puede mejorarse con un simple enfoque de razonamiento de diseño. Investigaciones recientes, especialmente en el área de la arquitectura de software, han demostrado que el razonamiento y la lógica del diseño son importantes [2]. El razonamiento de diseño ayuda a los diseñadores a tomar decisiones justificables modelando explícitamente el razonamiento de diseño como una entidad de primera clase [3]. En estos métodos se tienen en cuenta los requisitos funcionales y de calidad, y se utilizan técnicas de toma de decisiones como el análisis de compensación para seleccionar la solución que mejor se adapte a los criterios de diseño. Se argumenta que los fundamentos del diseño deben capturarse explícitamente, junto con las decisiones tomadas y el diseño resultante. Constituyen el conocimiento arquitectónico del software [4]. Esta investigación explora cómo el razonamiento de diseño afecta a la calidad del resultado del diseño. Para explorar esta cuestión, hemos llevado a cabo un estudio empírico con el atributo de calidad de la usabilidad. La usabilidad es un atributo de calidad importante en la arquitectura del software [5, 6]. Se refiere a si los usuarios son capaces de utilizar un sistema para realizar sus tareas de forma eficaz, eficiente y con una experiencia satisfactoria. Nuestra hipótesis es que, aplicando un proceso de razonamiento de diseño, los diseñadores conseguirían una interfaz de usuario más usable. El estudio se realizó con dos grupos de diseñadores que S. Becker, F. Plasil y R. Reussner (Eds.): QoSA LNCS2008, pp5281,. 28- 42,2008. © Springer-Verlag Berlin Heidelberg 2008 El razonamiento del diseño mejora la calidad del diseño del software 29 tienen una experiencia de diseño similar. El grupo de control llevó a cabo el diseño como lo hace habitualmente, mientras que el grupo de prueba realizó las tareas utilizando un enfoque de razonamiento de diseño. Los resultados han demostrado que el uso de un enfoque de razonamiento ha mejorado, por término medio, la calidad del diseño. Especialmente para los diseñadores relativamente inexpertos, la mejora es notable. Para ellos, el razonamiento del diseño proporciona un marco para la deliberación y ayuda a construir y mantener una imagen mental del diseño en curso. Los diseñadores experimentados tienen menos necesidad de esa ayuda, simplemente "saben" cómo proceder [7]. El resto del artículo se organiza como sigue. En la sección se discuten2 los conceptos de razonamiento de diseño y los trabajos relacionados con el razonamiento de diseño de usabilidad. La sección 3 presenta el estudio empírico y los resultados. La sección 4 analiza las lecciones que hemos aprendido al aplicar el razonamiento de diseño al diseño de software. Concluimos el artículo en la sección 5. 2 Trabajos relacionados 2.1 Razonamiento del diseño Los investigadores en psicología han propuesto que hay dos sistemas cognitivos distintos que subyacen al razonamiento. El sistema 1 (sistema heurístico) comprende un conjunto de subsistemas autónomos que incluyen tanto módulos de entrada innatos como conocimientos específicos del dominio adquiridos por un mecanismo de aprendizaje general del dominio. El sistema 2 (sistema analítico) permite razonar según normas lógicas [1]. Juntos forman la teoría del proceso dual que explica el "fracaso del pensamiento racional" de las personas cuando éstas se basan en gran medida en creencias previas e intuiciones en lugar de en un proceso de razonamiento lógico [8, 9]. Estas conclusiones también se confirman en un estudio más reciente sobre la toma de decisiones en el diseño de software, en el que los diseñadores hacen uso de tácticas de decisión racionales y naturalistas [10]. En el desarrollo de software, el razonamiento de diseño es un proceso importante que los diseñadores utilizan para desarrollar una solución. Los diseñadores de la industria del software suelen confiar en la intuición y la experiencia para tomar decisiones de diseño. El inconveniente de este enfoque es que la calidad de las decisiones depende en gran medida de la experiencia y los conocimientos de las personas. Dado que los fundamentos del diseño desempeñan un papel importante en la toma de decisiones de diseño [2, 11], es importante entender en qué consisten los fundamentos del diseño para producir un buen diseño. Rittel y Webber [12] ven el diseño como un proceso de negociación y deliberación. Sugieren que el diseño es un "problema perverso" en el que no hay un conjunto bien definido de soluciones potenciales, por lo que es importante que un diseñador aprenda a manejar y sopesar alternativas. Existen diferentes enfoques para el razonamiento del diseño. Uno de ellos es la argumentación. La representación básica basada en la argumentación consiste en utilizar nodos y enlaces para representar el conocimiento y las relaciones. Ejemplos de este enfoque son QOC [13], DRL [14] y gIBIS [15]. Un segundo enfoque es mediante el uso de plantillas de argumentación para capturar el razonamiento del diseño. Este enfoque incorpora plantillas estándar en el proceso de diseño para facilitar la captura del razonamiento de diseño. Este enfoque está orientado a la aplicación práctica del razonamiento de diseño en la industria. Algunos ejemplos son 30 A. Tang et al. Architecture Decision Description Template [16] y Views and Beyond [17]. Un tercer enfoque es un híbrido de los dos primeros. Ejemplos de este enfoque son AREL [18] y Archium [4]. El razonamiento del diseño mejora la calidad del diseño del software 31 Fig. AREL1. - Un modelo de razonamiento de diseño Aunque existen diferentes enfoques del razonamiento de diseño, los conceptos presentados en AREL son comunes al pensamiento actual de la investigación [4, 19]. En el resto de esta sección, presentamos el modelo AREL, cuyos conceptos utilizamos en el estudio empírico. En este modelo, hay tres elementos clave a tener en cuenta: preocupaciones de diseño, decisiones de diseño y resultados de diseño (Fig. 1). Las preocupaciones de diseño son las que motivan la creación de una solución de diseño. Las preocupaciones de diseño son las causas por las que se toman las decisiones de diseño. Una preocupación de diseño puede ser un requisito del sistema, un objetivo empresarial, un atributo de calidad como la usabilidad, una circunstancia que influye en un diseño o un componente de diseño existente que ejerce algunas restricciones de diseño. El diseñador toma una decisión de diseño cuando evalúa por qué se crea o se elige un diseño concreto. Capturar este conocimiento es importante porque justifica el diseño y explica las razones a aquellos que no tienen un conocimiento íntimo del diseño: usuarios, probadores y mantenedores. La información clave que contienen las decisiones de diseño son los problemas de diseño, las hipótesis de diseño, las limitaciones de diseño y la justificación del diseño para la selección o el rechazo de una opción de diseño. Los vínculos (Fig. 1) entre los problemas de diseño y las decisiones de diseño indican qué problemas de diseño se tienen en cuenta en una decisión. Los resultados de las decisiones de diseño, es decir, los resultados del diseño, están vinculados a las decisiones de diseño porque los resultados son la consecuencia de una decisión. Los resultados del diseño son los resultados de una decisión de diseño: el diseño elegido es el diseño que se ha seleccionado, y contiene los elementos de diseño como los componentes, las clases y los esquemas de base de datos que se implementarían; el diseño alternativo son las opciones de diseño que se han considerado pero que se han rechazado. Capturar todas las opciones de diseño, incluyendo el diseño alternativo rechazado, es importante por tres razones (a) una consideración exhaustiva de todas las opciones disponibles muestra que el diseñador no ha omitido ninguna opción de diseño viable; (b) documentar las opciones de diseño puede apoyar el retroceso del diseño si una solución de diseño inicial es inviable cuando se consideran más detalles; (c) la identificación de diferentes opciones de diseño permite realizar un análisis de compensación de diseño para justificar la selección de la opción de diseño más adecuada. 2.2 Usabilidad de la interfaz de usuario La calidad de los diseños de interfaz de usuario se ha considerado un aspecto importante de la arquitectura de software. Las investigaciones han demostrado que, en el diseño de la interfaz de usuario, los diseñadores deben tomar decisiones sobre la 32 A. Tang et al. selección de opciones de diseño de una u otra manera [20-24]. Sin embargo, los modelos existentes del ciclo de vida del diseño de la interfaz de usuario proporcionan directrices muy limitadas que ayudan a El razonamiento del diseño mejora la calidad del diseño del software 33 los diseñadores razonan sobre las opciones de diseño y toman decisiones de diseño justificadas. El razonamiento del diseño de la interfaz de usuario es algo que siempre se ha asumido y es intuitivo. Estudios recientes han señalado que el resultado del diseño de la interfaz de usuario incluye tanto la propia interfaz resultante como la justificación de por qué se elige dicha interfaz. El estudio exploratorio de Howard [22] identifica elementos clave, como el entorno, el enfoque y los agentes, que suelen tenerse en cuenta cuando los diseñadores toman decisiones de compensación. El estudio de Howard también modela un proceso de comportamiento en el que los diseñadores argumentan la elección entre dos elementos clave. MacLean et al. [24] examinan una representación de la racionalidad del diseño. Han desarrollado una notación semiformal que permite a los diseñadores representar explícitamente las opciones de diseño y las razones para elegir entre ellas. Sin embargo, hasta donde sabemos, no hay pruebas empíricas sobre cómo el razonamiento de diseño influye en la calidad del diseño de la interfaz de usuario. 3 Un estudio empírico El objetivo de este estudio era explorar los efectos del razonamiento de diseño en la calidad del mismo. Para ello, pedimos a los participantes que diseñaran una interfaz de usuario para un sistema comercial. El caso se eligió cuidadosamente y se simplificó para asegurarse de que tuviera sentido para los participantes y no fuera tan sencillo como para diseñarlo sin consideraciones cuidadosas. Hemos estado trabajando con una empresa de automoción para desarrollar un sistema basado en la web para supervisar los vehículos de prueba de una flota. La función principal del sistema es permitir a los ingenieros de automóviles supervisar las señales electrónicas recogidas de las unidades de control electrónico (ECU) de un vehículo. A través de una interfaz de usuario, un ingeniero puede preparar un programa de supervisión que especifica la información que debe supervisarse. Cada programa de monitorización debe contener un mínimo de 1 solicitud y un máximo de 99 solicitudes (es decir, el requisito R1). Los ingenieros buscan y seleccionan las señales electrónicas de una lista de búsqueda de 1.700 señales al especificar las solicitudes (es decir, el requisito R2). Una solicitud especifica qué señales electrónicas deben ser monitorizadas y las condiciones de inicio y parada de la monitorización (es decir, el requisito R3). Los participantes recibieron otros requisitos, como la inserción y supresión de condiciones y señales de control, pero no los describimos aquí en detalle. 3.1 Participantes El estudio cuenta con veinte participantes. Se utilizó un método de muestreo conveniente para invitar a profesionales de la industria del software y del mundo académico a participar en el estudio. Los participantes se distribuyeron aleatoriamente en dos grupos: grupo de prueba y grupo de control. La experiencia media en diseño del grupo de prueba y del grupo de control es de 8,95 años y años8.40, respectivamente. 3.2 Procedimiento del experimento Tanto al grupo de control como al de prueba se les pidió que diseñaran una interfaz de usuario para el sistema de control. Los grupos recibieron lo siguiente: (a) un conjunto de requisitos para el diseño; (b) requisitos de usabilidad; y (c) controles de la IU que pueden utilizarse en el diseño. Realizamos el experimento con cada participante de 34 A. Tang et al. forma individual. El grupo de control llevó el diseño como lo hace habitualmente. Al grupo de prueba se le informó sobre el proceso de razonamiento del diseño y se le pidió que aplicara los principios de El razonamiento del diseño mejora la calidad del diseño del software 35 razonamiento de diseño. En las sesiones informativas, describimos los principios de razonamiento de diseño de AREL sin hacer referencia a su modelo formal. Durante el experimento, cuando los participantes llegaban a un punto de decisión de diseño, tenían que explicar sus opciones y problemas de diseño, y justificar por qué habían elegido una opción de diseño concreta frente a otras alternativas. Mientras los participantes justificaban sus decisiones de diseño, los entrevistadores no daban ninguna pista sobre cómo diseñar ni se dedicaban a discutir la calidad del diseño de los participantes. Sin embargo, los entrevistadores hacían las siguientes preguntas para asegurarse de que se aplicaba el razonamiento: "¿Cuáles son los problemas de la decisión?" y "¿Cuáles son las opciones para resolver los problemas?". Se pidió a los participantes, tanto del grupo de prueba como del de control, que utilizaran un protocolo de pensamiento en voz alta [25] para describir sus estrategias de diseño. Al final de la sesión de diseño, se entrevistó a los participantes para conocer sus comentarios. En la entrevista, utilizamos la técnica de pensamiento en voz alta retrospectivo (RTA) [26] para recoger los comentarios de los participantes sobre sus propios diseños después de haber completado las tareas. Se cronometró cada sesión de diseño, empezando por el momento en que los participantes comenzaron el proceso de diseño hasta que lo completaron, excluyendo la sesión informativa y la entrevista. En el estudio se recogieron datos cuantitativos y cualitativos. Los datos cuantitativos incluían detalles de la experiencia de los participantes, la duración de las tareas, los niveles de satisfacción y confianza en sus propios diseños y las puntuaciones de calidad de sus diseños. Los datos cualitativos se obtuvieron a partir del proceso de pensamiento en voz alta de los participantes, nuestra evaluación del diseño de los participantes, nuestra observación del proceso de diseño de los participantes y los comentarios de los participantes. 3.3 Hallazgos Analizamos los resultados de las pruebas desde tres perspectivas: la calidad de los resultados del diseño, el proceso de diseño y las opiniones de los participantes. 3.3.1 Resultados del diseño Con cada diseño de interfaz de usuario, evaluamos la calidad del diseño basándonos en tres (de diez) heurísticas de diseño de interfaz de usuario propuestas por Nielsen [27]: (a) consistencia; (b) flexibilidad; (c) accesibilidad. Por ejemplo, evaluamos la coherencia del diseño inspeccionando si los participantes utilizaron los controles de la IU (por ejemplo, barras de desplazamiento, botones) de forma coherente en todo el diseño. Para el propósito de este estudio, hemos seleccionado sólo las tres heurísticas de usabilidad más relevantes. Para el diseño de cada participante, calificamos la usabilidad en función de la heurística seleccionada. Para cada heurística, utilizamos una escala Likert de 5 puntos que iba de 0 a 4, siendo 4 el mejor diseño. Así, la máxima puntuación de un diseño es 12 y la peor 0. El proceso de calificación se realizó comparando la conformidad de cada diseño con la heurística. A la hora de puntuar los diseños, los puntuamos y comparamos independientemente del grupo del que procedieran para garantizar que las puntuaciones fueran coherentes e imparciales. Nuestra hipótesis es que el grupo de prueba que dispone de razonamiento de diseño producirá un diseño de mayor calidad que el grupo de control. Si m1 es la puntuación media del grupo de prueba y m2 es la puntuación media del grupo de control, las hipótesis son 36 A. Tang et al. H0: m1 = m2 H1: m1 > m2 El razonamiento del diseño mejora la calidad del diseño del software 37 Tabla de puntuaciones de calidad del diseño de los grupos de prueba 1.y de control n Puntuación media Grupo de prueba 10 9.10 Desviaci ón estándar 1.52 Grupo de control 10 7.10 1.91 Prueba de Wilcoxon p = 0.02 La hipótesis nula H0 afirma que la calidad del diseño de la interfaz de usuario creada por el grupo de control es la misma que la del grupo de prueba. La puntuación media del grupo de control es de 7,10 y la del grupo de prueba es de 9,10. La prueba de Wilcoxon 1[28] de una cola muestra que existe una diferencia significativa en la calidad del diseño entre los grupos de prueba y de control con p < 0,0252 (véase la Tabla 1). Como la prueba de Wilcoxon de una cola es significativa, rechazamos la hipótesis H 0y aceptamos la hipótesis alternativa H1.. La conclusión es que la aplicación de un proceso de razonamiento de diseño ha mejorado la calidad del diseño de la interfaz de usuario. Para entender qué aspectos cualitativos del diseño son diferentes entre los dos grupos, analizamos el diseño de cada participante. Hay dos aspectos clave del diseño y ambos tienen que ver con la usabilidad: • (R1) la restauración entre y el 1seguimiento de las 99solicitudes; y • (R2) determinar cómo buscar la(s) señal(es) del vehículo 1700 y seleccionarla(s) para el control y la activación del control. Grupo de prueba. Todos los participantes del grupo de prueba utilizaron el enfoque basado en la racionalidad para diseñar para los requisitos dados. Al diseñar para el requisito R1, los participantes seleccionaron una pestaña desplazable o una lista expandible situada en un lateral para mostrar y seleccionar una solicitud. Los participantes habían considerado inicialmente diferentes opciones de diseño, como una lista emergente, una lista-tabla en el centro de la página y una lista desplegable. Estas opciones se descartaron después de que los participantes consideraran los problemas de usabilidad como parte del proceso de razonamiento del diseño. Al diseñar el requisito R2, todos los participantes, excepto uno del grupo de prueba, utilizaron una ventana emergente para especificar las señales de control. Aunque los participantes consideraron otras opciones de diseño, como una lista desplegable y un botón de control, decidieron que sólo era viable una solución de compromiso. Esto se debe a la combinación de restricciones que se presentan: espacio limitado en la pantalla, la necesidad de copiar las señales especificadas en múltiples controles y los programas reutilizables. Algunos participantes exploraron en detalle cada rama de una opción y retrocedieron cuando las opciones se volvieron inviables. En general, todos los participantes han creado un diseño similar. Han articulado cuestiones similares relacionadas con la usabilidad. La mayoría ha identificado un conjunto similar de opciones de diseño con pequeñas variaciones. Estas variaciones menores son la colocación de controles como "botones" y "tablas". Hubo una excepción en el grupo. Este diseño utilizaba un enfoque basado en menús. Aunque la interfaz de usuario seguía siendo utilizable, no se ajustaba a la heurística de diseño de interfaz de usuario de Nielsen y, por tanto, las puntuaciones de este diseño eran más bajas. 1 La prueba de Wilcoxon es una prueba no paramétrica adecuada para comparar datos 38 2 A. Tang et al. clasificados que no hace ninguna suposición sobre su distribución . Hemos utilizado la prueba estándar de significación en Para la prueba de una 0.05.cola de H1 en nuestro caso, la significación es de 0,025. El razonamiento del diseño mejora la calidad del diseño del software 39 Grupo de control. En comparación con el grupo de prueba, el grupo de control produjo diseños mucho más diversos y menos utilizables. En primer lugar, en cuanto al diseño de la interfaz de usuario para gestionar múltiples solicitudes (es decir, el requisito R1), se propusieron cuatro variedades de diseño, a saber: • • • • Una lista textual: Las solicitudes se organizan en forma de lista de hipervínculos en un lado de la pantalla, mientras que en el resto de la pantalla se muestran los detalles de una solicitud. Iconos gráficos: Las solicitudes se representan como iconos gráficos numerados del 1 al 99. En este diseño, se ocupa todo el espacio de la pantalla para mostrar los iconos99. Un cuadro de texto: No hay una lista que muestre un resumen de todas las solicitudes. Los usuarios recuperan los detalles de una solicitud introduciendo una identificación única de la solicitud en el cuadro de texto proporcionado. Este diseño ahorra espacio en la pantalla, pero requiere que los usuarios recuerden las identificaciones de todas las solicitudes. Una lista desplegable: Una lista desplegable muestra todas las solicitudes. Este diseño ahorra espacio en la pantalla, pero desplazarse por una larga lista de solicitudes puede resultar incómodo. Entre estas variaciones de diseño, sólo la lista textual es utilizable, y cuatro de cada diez participantes del grupo de control terminaron con este diseño. En los otros seis diseños en los que la usabilidad era baja, los participantes diseñaron para múltiples solicitudes después de haber terminado de diseñar para una solicitud individual. En estos casos, no reconsideraron si su diseño de solicitud individual se ajustaba a las solicitudes múltiples. En segundo lugar, para buscar y seleccionar señales que especifiquen una solicitud (es decir, un requisito R2), el grupo de control derivó en tres diseños discretos, incluyendo: Ventana emergente: Los botones se incluyen en diferentes secciones de una solicitud (por ejemplo, condición de inicio, lista de control y condición de parada). Cuando los usuarios hacen clic en un botón, se muestra una ventana emergente que permite a los usuarios seleccionar una o más señales para añadirlas a una sección concreta de la solicitud. • Páginas secuenciales: Los usuarios deben primero buscar y seleccionar la(s) señal(es) que quieren vigilar, y pasar a diferentes páginas para pegar la información. • Ventanas con pestañas: Las pestañas se utilizan para proporcionar diferentes funcionalidades. Por ejemplo, la primera pestaña muestra una cuadrícula de todas las señales disponibles entre las que los usuarios pueden elegir, la segunda pestaña muestra una lista de las señales seleccionadas por los usuarios, y la tercera pestaña muestra las condiciones de inicio y parada de la monitorización. Los usuarios hacen clic entre ellas para copiar la información de las señales. De estos tres diseños, el mecanismo de ventana emergente es el más adecuado para el sistema, porque permite a los usuarios seleccionar señales con un mínimo de clics y errores del ratón. Sólo cinco de cada diez participantes del grupo de control utilizaron una ventana emergente como medio de búsqueda y selección de señales. • 3.3.2 Experiencia de los diseñadores y calidad del diseño 40 A. Tang et al. Utilizando las puntuaciones de calidad de los participantes del grupo de prueba y del grupo de control, analizamos las relaciones entre sus puntuaciones de calidad y su experiencia de diseño. Los resultados se muestran en la Fig. 2. Los diamantes sólidos representan a los que utilizaron el razonamiento de diseño, y los cuadrados huecos a los que no utilizaron el razonamiento de diseño. Observamos que por encima de la marca de 5 años de experiencia, las puntuaciones de calidad de los dos grupos son similares. La mayoría de las puntuaciones se sitúan entre 8 y 10, con algunos valores atípicos. Sin embargo, hay una notable diferencia de calidad entre los dos grupos de participantes El razonamiento del diseño mejora la calidad del diseño del software 41 12 10 C ali da d de l di se ño 8 Con DR 6 Sin DR 4 2 0 0 5 10 15 20 25 30 Años de experiencia Fig. Puntuación de la 2.calidad del diseño y años de experiencia con menos de 5 años de experiencia. La mayoría de los participantes del grupo de control en esta categoría puntúa entre y 6y8, la mayoría del grupo de prueba en esta categoría puntúa entre 8 y 10. Estos resultados indican que el razonamiento de diseño ayuda a los diseñadores menos experimentados a diseñar mejor. Es interesante observar que los dos diseñadores más experimentados no produjeron los mejores diseños. Ambos entraron en el campo de la tecnología de la información en la era de los sistemas de procesamiento por lotes, mucho antes de que las interfaces gráficas de usuario (GUI) se convirtieran en un problema. Sus conocimientos de diseño se formaron en esa época anterior a las interfaces gráficas, y parece que no han cambiado mucho desde entonces. Así lo confirman sus acciones y pensamientos en voz alta durante los experimentos. 3.3.3 Proceso de diseño Comparamos el tiempo que los dos grupos tardaron en terminar sus tareas. Por término medio, el grupo de prueba tardó 39,30 minutos y el grupo de control 29,40 minutos. La prueba de Wilcoxon no muestra diferencias significativas entre el tiempo empleado por el grupo de prueba y el grupo de control con p > 0,05 (véase la Tabla 2). Esto significa que ambos grupos tardaron un tiempo similar en terminar sus tareas. Tabla Diseño del grupo de prueba 2.y control Tiempo n Tiempo medio (min) Grupo de prueba 10 39.30 Desviaci ón estándar 10.86 Grupo de control 10 29.40 10.08 Prueba de Wilcoxon p = 0.113 Además, consideramos los procesos de diseño de los dos grupos, como se describe a continuación. Grupo de prueba. Durante el estudio, el grupo de prueba tuvo que exponer explícitamente sus opciones de diseño y los problemas de diseño, y justificar por qué habían tomado una decisión concreta en cada punto del diseño. Por ejemplo, cuando 42 A. Tang et al. explicaron los problemas del El razonamiento del diseño mejora la calidad del diseño del software 43 diseño inicial, dirían algo así como "¿cómo organizo la interfaz de usuario para mostrar 99 solicitudes cuando no se pueden mostrar todas al mismo tiempo?" o "¿cómo copio los datos de la pantalla de búsqueda de señales de forma que sea fácil de usar?" o "¿cuántos clics se necesitan para hacer el trabajo?". Contemplaron su diseño inicial y razonaron sobre lo que podía y no podía hacer. En algunos casos, los participantes creían que el diseño inicial era adecuado. Sin embargo, cuando los participantes intentaron conscientemente encontrar más opciones de diseño, a menudo se les ocurrieron diseños alternativos. Hubo muchos casos en los experimentos en los que dichas alternativas se convirtieron en el diseño final. Sin embargo, hubo casos en los que las alternativas de diseño ayudaron a reforzar que el diseño inicial era más adecuado cuando todos los diseños alternativos parecían ser inferiores. Tras verbalizar las cuestiones, los participantes del grupo de prueba parecían tener una imagen mental de esas cuestiones. A menudo, los participantes consideraron cómo estas cuestiones entran en conflicto o funcionan entre sí en el diseño. La verbalización explícita de las cuestiones y opciones de diseño ayuda al proceso de pensamiento cuando los participantes empezaron a formular opciones de diseño y a dar marcha atrás cuando no se pueden resolver ciertas cuestiones de diseño. Por ejemplo, uno de los participantes exploró primero la cuestión de diseño de la lista de las 99 solicitudes y luego examinó la cuestión de la visualización y edición de una sola solicitud, y finalmente la búsqueda de señales. En cada punto de decisión, retrocedía para evaluar si las opciones de diseño elegidas funcionaban. Los participantes en el grupo de prueba consideraron que este proceso de retroceso y verificación de las opciones de diseño era bastante natural cuando se planteaban explícitamente los problemas y las opciones. Grupo de control. A los participantes del grupo de control no se les pidió que expusieran los problemas de diseño y justificaran sus decisiones. Observamos diferentes patrones de comportamiento de diseño en función de la experiencia de los diseñadores. El primer patrón fue que el diseño inicial de la mayoría de los participantes se convirtió en su diseño final, especialmente en el caso de los diseñadores con menos experiencia. A diferencia del grupo de prueba, el enfoque de diseño del grupo de control se basó en gran medida en su intuición y en su primera impresión. Los participantes parecían ceñirse a sus diseños iniciales, a partir de los cuales seguían diseñando en función de los requisitos adicionales. Después de cada punto de decisión, los participantes inexpertos, especialmente, dedicaron pocos esfuerzos a reevaluar las consecuencias de los cambios adicionales en el diseño inicial. El segundo patrón era que, aunque el grupo de control conocía las directrices de usabilidad, la mayoría no tenía en cuenta los requisitos de usabilidad en cada punto de decisión. Nos dimos cuenta de que los participantes hablaban de los requisitos de usabilidad al principio, pero eran menos conscientes de ellos a medida que avanzaba el diseño. Los diseñadores más experimentados de este grupo fueron la excepción. 3.3.4 Comentarios de los participantes En las entrevistas de seguimiento tras la sesión de diseño, se pidió a todos los participantes que comentaran dos cosas: (a) "¿Cuáles son sus consideraciones clave para el diseño?" (b) "¿Tienes algún comentario sobre el proceso de diseño que has llevado a cabo en este ejercicio?" En respuesta a la pregunta (a), todos los participantes del grupo de prueba 44 A. Tang et al. mencionaron que la usabilidad de la interfaz de usuario era una cuestión clave debido a la complejidad de los requisitos y El razonamiento del diseño mejora la calidad del diseño del software 45 el limitado espacio de la pantalla. La mayoría de los participantes dijeron que la facilidad de uso y comprensión era otra cuestión clave y sostuvieron que había que ofrecer un mínimo de clics al usuario y un mínimo de pantallas de interfaz de usuario. Algunos de los participantes también consideraron que el diseño debía ser reutilizable, sobre todo la función de búsqueda de señales. Al igual que el grupo de prueba, los participantes del grupo de control también comentaron que los requisitos de usabilidad eran fundamentales para su diseño. De hecho, la lista de preocupaciones de usabilidad importantes extraída del grupo de control era muy similar a la del grupo de prueba. La convergencia en los comentarios de los participantes sobre la pregunta (a) indicaba que, aunque ambos grupos de participantes eran conscientes de los requisitos de usabilidad, tenían enfoques muy diferentes para abordarlos. A los participantes del grupo de prueba se les pidió que expusieran explícitamente sus problemas y opciones de diseño, y sus diseños finales fueron más coherentes y más usables. Mientras que en el grupo de control, los participantes llevaron a cabo el diseño de la forma en que lo hacen normalmente, los resultados entre los participantes fueron menos consistentes y mostraron un nivel inadecuado de usabilidad. En respuesta a la pregunta (b), algunos participantes del grupo de prueba comentaron que las cuestiones de diseño bien planteadas les ayudaron a pensar en el diseño. Nueve de los diez participantes de este grupo mencionaron que la exploración de las opciones de diseño les había ayudado a diseñar. Cuando se les preguntó por qué, la sugerencia general fue que las opciones de diseño les permitieron evaluar lo que funcionaría y lo que no. En el grupo de control, los participantes sin experiencia hicieron muy pocos comentarios sobre su proceso de diseño, mientras que los diseñadores experimentados de este grupo pudieron describir su análisis de requisitos y su proceso de diseño. Una vez que los participantes completaron sus tareas, se les pidió que calificaran su satisfacción con sus propios diseños, utilizando una escala Likert de siete puntos en la que 1 es no satisfecho y 7 es totalmente satisfecho. El grupo de prueba obtuvo una media de 5,7 y el grupo de control una media de 4,9. Cuando se preguntó a los participantes por su grado de confianza en la facilidad de uso de su diseño, utilizando una escala Likert de siete puntos en la que 1 es nada de confianza y 7 es plena confianza, el grupo de prueba informó de una media de y5.1 el grupo de control de una media de 5.5. Aunque el grupo de prueba estaba más satisfecho con su diseño, estaba ligeramente menos seguro de sí mismo que el grupo de control. No podemos ofrecer ninguna explicación para este resultado, salvo mostrar que las diferencias entre las valoraciones de los dos grupos son estadísticamente insignificantes. Los resultados de la prueba de Wilcoxon muestran que no hay diferencias significativas entre las valoraciones de los dos grupos en cuanto a la satisfacción o la confianza en su diseño, p = y 0.142,p = respectivamente0.34. Este resultado muestra que los participantes de ambos grupos tenían una confianza y una satisfacción similares con sus propios diseños, a pesar de las diferencias en las cualidades del diseño (como se indica en el apartado 3.3.1). 4 Discusión de los resultados El objetivo principal de este estudio es analizar cómo influye el razonamiento de diseño en la calidad del mismo. A partir de los resultados del experimento, hemos 46 A. Tang et al. realizado una serie de observaciones sobre cómo los participantes abordaron el diseño. El razonamiento del diseño mejora la calidad del diseño del software 47 4.1 Debates Los participantes de ambos grupos estudiaron los requisitos y las directrices de usabilidad antes de crear su diseño. Los análisis han demostrado que el grupo de prueba ha producido diseños de interfaz de usuario de mayor calidad que el grupo de control en general. A continuación se resumen las diferencias entre el grupo de prueba y el grupo de control: Conciencia de razonamiento. Al exponer la justificación del diseño, los participantes del grupo de prueba han hecho explícito el razonamiento subyacente a sus diseños. Este proceso de justificación impuesto hizo que los participantes fueran más conscientes de si sus decisiones eran correctas. Por ejemplo, después de exponer los problemas de usabilidad que les preocupaban, tuvieron que encontrar la manera de asegurarse de que su diseño era razonable a la hora de tratar el problema de usabilidad. Así, el grupo de prueba era más consciente de los requisitos de usabilidad en el diseño en comparación con el grupo de control. Este resultado podría reflejar la importancia del razonamiento de los requisitos de calidad en el diseño de la arquitectura del software. Además, el enfoque de razonamiento indujo a los participantes del grupo de prueba a razonar explícitamente sobre su diseño de forma estructurada. Por lo tanto, probablemente fueron más cuidadosos a la hora de evaluar sus soluciones para proporcionar justificaciones razonables. Esto contrasta con los participantes del grupo de control, que utilizaron sobre todo su intuición y sus conocimientos para diseñar. El objetivo del grupo de control era completar el diseño y satisfacer los requisitos sin tener que justificarlos. Conciencia de usabilidad. Los participantes del grupo de prueba identificaron la usabilidad como una cuestión clave que debía abordarse en el diseño, y volvieron a tratar este tema constantemente en el proceso de razonamiento. Por otro lado, los participantes del grupo de control tuvieron en cuenta la usabilidad en la primera parte del estudio y luego fueron menos conscientes de ella hacia el final de la sesión de diseño. Esto implica que un razonamiento de diseño explícito puede ayudar a que los diseñadores sean conscientes de los requisitos de calidad a lo largo del proceso de diseño. Impresión inicial del diseño. Observamos que los participantes, tanto del grupo de prueba como del de control, se formaron inicialmente impresiones sobre una solución de diseño. Tras explorar los problemas y las opciones de diseño, los participantes del grupo de prueba pueden cambiar las impresiones iniciales del diseño en función de su razonamiento sobre el mismo. Por otro lado, la impresión inicial del diseño desempeñó un papel más dominante en el grupo de control, especialmente en el caso de los diseñadores sin experiencia, el diseño inicial a menudo se convirtió en su diseño final. Este resultado indica que la impresión inicial del diseño puede ser dominante, pero un enfoque de razonamiento ayudaría a los diseñadores a considerar los problemas y las opciones de diseño con más detenimiento, lo que les permitiría alejarse de la creencia dominante para llegar a un diseño más adecuado. Retroceso en el diseño. Los participantes del grupo de prueba retrocedieron en su diseño y reconsideraron sus decisiones previamente tomadas con mucha más frecuencia que los del grupo de control. Sugerimos que esto se debe a que al grupo de prueba se le pidió que expusiera explícitamente sus problemas, opciones y fundamentos de diseño, y tales actos les obligaron a abordar las cuestiones expuestas, logrando así un nivel de razonamiento de diseño sistemático. El grupo de control, en 48 A. Tang et al. general, no reconsideró las decisiones tomadas previamente mientras construía su diseño. Se abordaron los requisitos individuales, pero no se identificaron los problemas que surgieron de los requisitos conflictivos. El razonamiento del diseño mejora la calidad del diseño del software 49 Nivel de satisfacción y calidad del diseño El nivel de satisfacción y el nivel de confianza entre el grupo de prueba y el grupo de control no fueron significativamente diferentes. Esto es así a pesar de que el grupo de prueba había llevado a cabo el proceso de diseño de forma más exhaustiva y había producido diseños de mayor calidad. Tampoco se observaron diferencias entre los diseñadores más y menos experimentados. Los resultados han demostrado que el nivel de satisfacción y el nivel de confianza de un diseñador en su diseño no son buenos indicadores de la calidad del diseño. Tiempo de diseño. No hay diferencias significativas entre el tiempo medio que tarda el grupo de prueba y el grupo de control en completar sus tareas. Esto implica que el esfuerzo (en términos de tiempo) empleado por el grupo de prueba no es significativamente mayor que el del grupo de control. Por tanto, no hemos encontrado pruebas que indiquen que el uso del razonamiento en el diseño añada una sobrecarga significativa al proceso de diseño. Nivel de experiencia y calidad del diseño. Hemos examinado la experiencia de diseño de los dos grupos y hemos comprobado que son similares. Sin embargo, como se muestra en la Tabla 1, el grupo de prueba obtuvo una media mejor que el grupo de control. Esto se debe a las mayores puntuaciones obtenidas por los diseñadores menos experimentados del grupo de prueba (véase la figura 2). En el grupo de prueba, los resultados de diseño de los participantes con experiencia (es decir, más de 5 años) y sin experiencia (es decir, igual o menos de años5) no muestran mucha diferencia. Ambos produjeron diseños de buena calidad. Los participantes sin experiencia tardaron de media más tiempo en completar su diseño. A diferencia del grupo de prueba, en el grupo de control hay una diferencia observable en la calidad del diseño entre los participantes con experiencia y sin ella. Dicho de otro modo, en el grupo de participantes sin experiencia, los que utilizaron la lógica del diseño obtuvieron mejores resultados que los que no lo hicieron (véase la figura 2). Estos resultados sugieren que, al utilizar un enfoque de razonamiento de diseño, los diseñadores menos experimentados podrían beneficiarse de él para lograr diseños de mayor calidad. Todos los diseñadores, con y sin experiencia, recibieron la misma información sobre los primeros principios de usabilidad. El razonamiento de diseño ha ayudado a los diseñadores inexpertos del grupo de prueba a aplicar estos principios con éxito y a conseguir lo que los diseñadores expertos pueden hacer por mera experiencia, pero el razonamiento de diseño ha mostrado poca diferencia entre los diseñadores experimentados de los dos grupos. Esto sugiere que los diseñadores experimentados tienen las intuiciones y la perspicacia necesarias para buscar los problemas y las opciones correctas, tal y como demostró [7]. 4.2 Limitaciones Este estudio experimental se basó en una muestra de veinte diseñadores con experiencia industrial. Para encontrar a los participantes se utilizó un método de muestreo conveniente, es decir, los participantes son las personas a las que tuvimos acceso y no fueron seleccionadas al azar. El tamaño de la muestra en este estudio es pequeño, por lo que existen limitaciones en las interpretaciones de los resultados. A los participantes del grupo de prueba se les pidió explícitamente que expusieran sus problemas de diseño, sus opciones de diseño y su razonamiento. Estos recordatorios podrían haberles inducido a pensar más a fondo, por lo que se podría argumentar que la presencia de los entrevistadores podría sesgar los resultados. Sin embargo, los entrevistadores no dieron ninguna pista de diseño, y las decisiones de 50 A. Tang et al. diseño fueron deliberadas enteramente por los participantes basándose en sus conocimientos El razonamiento del diseño mejora la calidad del diseño del software 51 y de razonamiento. Por lo tanto, sostenemos que los resultados de las pruebas de los experimentos son válidos. En este tipo de estudios empíricos hay diferentes variables experimentales que no pueden controlarse estrictamente, por ejemplo, la familiaridad de los participantes con las tecnologías implicadas. Para superar esta limitación, analizamos cualitativamente lo que los diseñadores han hecho y dicho sobre sus diseños para asegurarnos de que estas variables no afectan a la validez de los resultados. En cuanto a la cuantificación de las puntuaciones, la limitación es el sesgo que pueden introducir los investigadores. Para superarlo, hemos cotejado todos los diseños para asegurarnos de que existe una puntuación coherente en todos ellos. 5 Conclusiones Recientes trabajos de investigación han argumentado que la representación explícita del razonamiento de diseño es útil y puede conducir a mejores resultados de diseño. Sin embargo, la investigación sobre el impacto del razonamiento del diseño en la calidad del mismo ha sido limitada. Utilizando la usabilidad como atributo de calidad de la arquitectura de software, hemos estudiado cómo influye el razonamiento de diseño en la calidad del mismo, diferenciando especialmente entre diseñadores experimentados y no experimentados. Hemos utilizado un estudio empírico para examinar la calidad del diseño de dos grupos de diseñadores, uno equipado con razonamiento de diseño y otro sin él. Los resultados del experimento han demostrado estadísticamente que un enfoque de razonamiento de diseño mejora la calidad del diseño. Los diseñadores que razonan explícitamente sobre sus decisiones de diseño producen, por término medio, mejores diseños. Además, el razonamiento sobre el diseño parece ayudar a los diseñadores inexpertos más que a los experimentados. Los diseñadores que no utilizan el razonamiento de diseño explícito producen resultados diversos, y algunos de los diseños tienen una baja usabilidad, especialmente en el caso de los diseñadores inexpertos. Por lo tanto, concluimos que el razonamiento de diseño ayuda a los diseñadores inexpertos a aplicar mejor los primeros principios de diseño y a ofrecer un mejor diseño, al proporcionarles un marco de deliberación y una imagen mental del diseño en curso. Estos hallazgos han proporcionado resultados empíricos alentadores que apoyan una mayor investigación sobre la incorporación del razonamiento de diseño en el proceso de diseño de la arquitectura de software. Agradecimientos. Este trabajo ha sido financiado en parte por el Australian Collaborative Research Centre for Advanced Automotive Technology y el Swinburne University of Technology Visiting Professor Award Scheme 2008. Referencias 1. De Neys, W.: Detección implícita de conflictos durante la toma de decisiones. En: Proceedings of the Annual Conference of the Cognitive Science Society, vol. 29, pp. 209214 (2007) 2. Tang, A., Barbar, M.A., Gorton, I., Han, J.: Un estudio sobre la justificación del diseño de la arquitectura. Journal of Systems and Software 79(12), 1792-1804 (2006) 52 A. Tang et al. 3. Bosch, J.: Arquitectura de software: El siguiente paso. En: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194-199. Springer, Heidelberg (2004) 4. Jansen, A., Bosch, J.: La arquitectura de software como conjunto de decisiones de diseño arquitectónico. En: Proceedings 5th IEEE/IFIP Working Conference on Software Architecture, pp. 109-120 (2005) 5. Bass, L., John, B.E.: Linking usability to software architecture patterns through general scenarios. The Journal of Systems and Software 66(3), 187-197 (2003) 6. Golden, E., John, B.E., Bass, L.: El valor de un patrón arquitectónico de apoyo a la usabilidad en el diseño de la arquitectura del software: un experimento controlado. En: Proceedings of the 27th International Conference on Software Engineering (ICSE 2005), pp. 460-469 (2005) 7. Cross, N.: Creative Thinking by Expert Designers. The Journal of Design Research 4(3) (2004) 8. Epstein, S.: Integración del inconsciente cognitivo y psicodinámico. American Psychologists 709-72449, (1994) 9. Evans, J.S.: In two minds: dual-process accounts of reasoning. Trends in Cognitive Sciences 7(10), 454-459 (2003) 10. Zannier, C., Chiasson, M., Maurer, F.: Un modelo de toma de decisiones de diseño basado en resultados empíricos de entrevistas con diseñadores de software. Information and Software Technology 49(6), 637-653 (2007) 11. Bratthall, L., Johansson, E., Regnell, B.: ¿Es vital la justificación del diseño para predecir el impacto del cambio? - A Controlled Experiment on Software Architecture Evolution. En: Second International Conference on Product Focused Software Process Improvement, pp. 126-139 (2000) 12. Rittel, H.W.J., Webber, M.M.: Dilemas en una teoría general de la planificación. Policy Sciences 4(2), 155-169 (1973) 13. Maclean, A., Young, R., Bellotti, V., Moran, T.: Preguntas, opciones y criterios: Elementos del análisis del espacio de diseño. En: Moran, T., Carroll, J. (eds.) Design Rationale - Concepts, Techniques, and Use, pp. 53-105. Lawrence Erlbaum, Mahwah (1996) 14. Lee, J., Lai, K.: ¿Qué es la racionalidad del diseño? En: Moran, T., Carroll, J. (eds.) Design Rationale - Concepts, Techniques, and Use, pp. 21-51. Lawrence Erlbaum, Mahwah (1996) 15. Conklin, J., Begeman, M.: gIBIS: a hypertext tool for exploratory policy discussion. En: Proceedings of the 1988 ACM conference on Computer-supported cooperative work, pp. 140-152 (1988) 16. Tyree, J., Akerman, A.: Decisiones de arquitectura: Desmitificando la arquitectura. IEEE SOFTWARE 22(2), 19-27 (2005) 17. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.: Documenting Software Architectures: Views and Beyond. Addison-Wesley, Reading (2002) 18. Tang, A., Jin, Y., Han, J.: Un modelo de arquitectura basado en la racionalidad para la trazabilidad y el razonamiento del diseño. Journal of Systems and Software 80(6), 918-934 (2007) 19. Ali-Babar, M., Gorton, I., Jeffery, D.R.: Captura y uso del conocimiento de la arquitectura de software para el desarrollo de software basado en la arquitectura. En: Proceedings of the Quality Software International Conference (QSIC 2005), pp. 169-176 (2005) 20. Carroll, J.M., Rosson, M.B.: Una biblioteca de casos para la enseñanza de la ingeniería de la usabilidad: Fundamentos del diseño, desarrollo y experiencia en el aula. Journal on Educational Resources in Computing 5(1), 1-22 (2005) El razonamiento del diseño mejora la calidad del diseño del software 53 21. Mayhew, D.J.: The usability engineering lifecycle: a practioner's handbook for user interface design. Morgan Kaufmann Publishers, San Francisco (1999) 22. Howard, S.: Trade-off decision making in user interface design. Behaviour & Information Technology 16(2), 98-109 (1997) 23. Norman, D.A.: Principios de diseño para interfaces persona-ordenador. En: Proceedings of the SIGCHI conference on Human Factors in Computing Systems, pp. 1-10. ACM Press, Nueva York (1983) 24. MacLean, A., Young, R.M., Moran, T.P.: La justificación del diseño: el argumento detrás del artefacto. En: Proceedings of the SIGCHI conference on Human factors in Computing Systems, pp. 247-252. ACM Press, Nueva York (1989) 25. Erikson, T.D., Simon, H.A.: Análisis del protocolo: Verbal Report as Data. The MIT Press, Cambridge (1985) 26. Guan, Z., Lee, S., Cuddihy, E., Ramey, J.: The validity of the stimulated retrospective think-aloud method as measured by eye tracking. En: Proceedings of the SIGCHI conference on Human Factors in Computing Systems, pp. 1253-1262 (2006) 27. Nielsen, J.: Diez heurísticas de usabilidad. (2007), http://www.useit.com/papers/heuristic/heuristic_list.html 28. Walpole, R.E., Myers, R.H.: Probability and Statistics for Engineers and Scientists. Macmillan Publishing Co., Inc, Basingstoke (1978)