• No results found

CHAPTER 4: CONCLUSIONS, LIMITATIONS AND RECOMMENDATIONS

4.3 RECOMMENDATIONS

Como se ha indicado en el capítulo 3, las pruebas de usabilidad son una de las técnicas HCI más utilizadas dentro de los desarrollos ágiles. Su naturaleza iterativa y la importancia de involucrar usuarios reales en las pruebas hacen de éstas una técnica ideal para adoptar en metodologías ágiles. Algunos métodos como Discount Usability (Jakob Nielsen, 1993) y Rapid Iterative Test and Evaluation method (RITE) (Medlock et al., n.d.) que consideran en sus prácticas las pruebas de usabilidad sobre cualquier tipo de desarrollo de software han sido adoptados en los contextos ágiles con buenos resultados (Fisher & Bankston, 2009).

En (T. Da Silva et al., 2011) se identifica que los mecanismos más utilizado por los equipos ágiles como complementos para aplicar las pruebas de usuario son “thinking aloud” y prototipos de alto y bajo nivel. Los autores también corroboraron que los laboratorios de usabilidad considerados como primordiales en el concepto inicial de esta técnica no son utilizados generalmente en el desarrollo ágil para aplicar las pruebas. Otro resultado de estos autores fue que las pruebas de aceptación pueden integrarse con las pruebas de usabilidad.

A partir de los resultados de su estudio (Salah et al., 2014) identifican varios desafíos y factores que restringen la integración de las filosofías Agile y UCD a la que hacen referencia como Agile User Centered Design Integration (AUCDI). Salah et al. (2014) exploran las prácticas propuestas para hacer frente a estos desafíos. En particular identifican las pruebas de usabilidad como uno de estos desafíos con los siguientes sub-desafíos: métodos de prueba de usabilidad, programación de pruebas de usabilidad, acceso a los usuarios para pruebas de usabilidad y período de tiempo más corto para iterar el diseño.

Entre las experiencias compartidas en su trabajo Sy (Sy, 2007) indica que aplicó pruebas de usabilidad formativa en cada iteración a través de un proceso paralelo diseñando la interfaz un ciclo por delante a la implementación. Sy señala como principal adaptación a las técnicas HCI implementadas el cambio en la programación y frecuencia de las investigaciones y la forma en la que son reportados los resultados. (Detweiler, 2007) identificó retos e implementó tres fases para el diseño de la interacción (entendiendo usuarios, definiendo la interacción y diseño de interfaz) en el desarrollo ágil. Para la fase del diseño de la interfaz, donde los prototipos son iterativamente creados, Detweiler sugiere mostrar prototipos a los diseñadores y usuarios finales para obtener retroalimentación temprana y frecuente. Otra práctica sugerida es mantener sesiones de revisión obligatoria después de cada sesión de retroalimentación o prueba de usabilidad. En (Dayton et al., 2009) los autores concluyen a partir de su estudio que aplicar los métodos de usabilidad de forma más ágil representa un reto complicado e identifican la planeación anticipada como obstáculo al incorporar las pruebas de usabilidad en el proceso ágil Para minimizar este obstáculo sugieren planear anticipadamente sprints de 2 a 4 semanas para visualizar puntos y definir un plan para aplicar pruebas de usabilidad dentro del ciclo de desarrollo; otra sugerencia es utilizar procesos rápidos de prueba iterativa como RITE y programar las pruebas de usabilidad regular y rutinariamente. En relación a la participación de un experto como parte del equipo ellos discuten que es válido para preparar al equipo de desarrollo sobre cómo incorporar el proceso centrado en el usuario utilizando técnicas como las pruebas de usabilidad de forma iterativa.

Hussain et al. (Zahid Hussain et al., 2009) señalan entre otras lecciones aprendidas, que aquellos desarrolladores que asisten en las pruebas de usabilidad obtienen más visión sobre el usuario que otros. Ellos recomiendan desarrollar pequeños test después de algunas iteraciones y pruebas más amplias solamente después de cada liberación (release) cuando no se esperan cambios mayores y el sistema sea bastante estable. Con el objetivo de preparar a los miembros del equipo para entender la importancia de la fase de las pruebas de usabilidad y el proceso que implica sugieren proporcionar un taller al inicio del proyecto o antes de la liberación en la que será aplicada la fase de prueba de usabilidad. Otra sugerencia es tener un pre-plan considerando cuándo desarrollar cierto tipo de prueba de usabilidad. En su estudio Nielsen et al. (L. Nielsen & Madsen, 2012) identificaron mejoras que los expertos en diseño de interfaz implementan para aplicar las pruebas de usabilidad en los proyectos ágiles lo cual representa retos para ellos debido principalmente a las restricciones de tiempo. Señalan que los especialistas en diseño tienen que adaptar sus habilidades en el ambiente ágil con la finalidad de integrar ingeniería de usabilidad para obtener un software usable. Decisiones rápidas, flexibilidad, reportes orales y pruebas realizadas repetidamente durante el proceso de desarrollo son soluciones que permiten la aplicación de pruebas de usabilidad ajustándose al proceso de desarrollo ágil. Nielsen et al. (2012) concluyen que las pruebas de usabilidad tienen que ser desarrolladas como parte de las iteraciones incluso si esto significa reclutar usuarios finales, desarrollar las pruebas, analizar y reportar los resultados de las pruebas en ciclos reducidos.

Con el objetivo de identificar y describir dichos patrones, a partir de la revisión de literatura nos enfocamos en analizar aquellos estudios donde las pruebas de usabilidad fueron utilizadas por los equipos ágiles durante el desarrollo de software. Para efectos de nuestro estudio consideramos los enfoques y etapas de incorporación descritas en secciones previas del estado del arte que nos ayuden a organizar mejor la información sobre cuándo, cómo y quién aplicó la técnica durante el proceso de desarrollo en el entorno ágil. En el caso del momento en el que se aplicaron las pruebas de usabilidad consideramos los enfoques y las etapas descritos en las secciones de este trabajo 2.4 y 4.2.3 respectivamente también presentadas en (Caballero et al., 2014). Los autores identifican cuatro enfoques –Interaction design first, Minimal up-front design, Implicit interaction design, parallel track- en los que se incorpora el diseño centrado en el usuario al proceso de desarrollo ágil; así mismo se manejan dos etapas –exploratoria y de refinamiento- en las que pueden usarse las técnicas durante los enfoques mencionados. En relación con el responsable del diseño de interfaz en el equipo ágil consideramos los roles descritos en la

sección 2.5 - Experto y no experto. Con el fin de considerar una clasificación para el tipo de pruebas de usabilidad aplicadas en el desarrollo ágil nos basamos en la clasificación presentada por (Jeffrey et al., 2008) y descritas en la sección 5.1.1.

La tabla C5-2 proporciona un extracto del análisis de los trabajos donde encontramos información relevante sobre el uso de las pruebas de usabilidad en proyectos ágiles. Esta tabla muestra información sobre el enfoque de integración de las actividades HCI durante las actividades de desarrollo (HCI and Agile); la fase del proceso en el que se aplicaron las pruebas de usabilidad dentro del proceso de desarrollo ágil de software (Testing agile moment); el tipo de prueba de usabilidad aplicada (Type of usability tests); cuál fue el rol responsable de aplicar la técnica dentro del ambiente de desarrollo ágil (HCI rol); y por último los mecanismos utilizados como apoyo para las pruebas de usabilidad (HCI mechanisms).

Tabla C5–2 Extracto del análisis sobre el uso de Pruebas de usabilidad en proyectos ágiles

Author/s Ref. HCI and Agile

Testing Agile Moment

Type of usability Test

HCI Rol HCI Mechanisms Miller Lynn (Miller, 2005) Parallel track Refinement phase Formative

Assessment

Expert Low-fi prototypes

(paper prototypes) High-fi prototypes

McInerney et al. (McInerney &

Maurer, 2005) Not specified Refinement phase Assessment Expert Not specified

Meszaros et. al. (Meszaros & Aston, 2006) Minimal Up-front design Exploratory phase Refinement phase Formative Assessment No expert Low-fi prototypes (paper prototypes) Wizard of Oz Chamberlain et. al. (Chamberlain et al., 2006) Minimal Up-front design Parallel track

Refinement phase Formative

Assessment

Expert Low-fi prototypes

J. Ferreira et. Al (Ferreira et al., 2007a)

Parallel track Exploratory phase Refinement phase Formative Assessment Validation Expert HTML mock-up Low-fi prototypes

Lee et. al. (Jason Chong Lee & McCrickard, 2007)

Implicit Interaction Design

Refinement phase Assessment

Validation No expert Expert walkthroughs Heuristic Evaluation High-fi prototypes

Williams et. al. (H. Williams & Ferguson, 2007)

Parallel track Refinement phase Formative

Assessment

Expert Low-fi prototypes

(paper prototype, wireframe) High-fi prototypes

(Interactive prototypes)

Ungar et. al. (Ungar & White, 2008)

Parallel track Exploratory phase Refinement phase

Formative Validation

Expert Prototypes

Hussain et. al. (Z Hussain et al., 2008)

Parallel track Refinement phase Formative

Assessment Validation

Expert Low-fi Prototypes

(paper mockup) High-fi prototypes

Fox et. al. (Fox et al., 2008) Parallel track Exploratory phase Refinement phase Formative Assessment Validation Expert / No expert Low-fi prototypes High-fi prototypes

Illmensee et. al. (Illmensee & Muff, 2009)

Parallel track Refinement phase Assessment Expert Low-fi prototypes

High-fi prototypes (Semi functional

prototypes)

Belchev et al. (Belchev & Baker, 2009)

Implicit Interaction Design

Refinement phase Assessment Expert Thinking Aloud

High-fi prototypes (functional

software)

Federoff et. al. (Federoff et al., 2009) Parallel track Exploratory phase Refinement phase

Formative Assessment

Expert High-fi prototypes

(Interactive prototypes)

B. Losada et. al. (Losada et al., 2013) Parallel track Exploratory phase Refinement phase

Formative Assessment

Validation

Expert Low-fi prototype

(paper prototype) Thinking Aloud

Como podemos observar los resultados mostrados en la tabla C5-2 indican que los equipos ágiles principalmente desarrollan actividades de implementación y diseño en bloques paralelos con el diseño de la interfaz definida en ciclos por adelantado. (Miller, 2005) describe cómo el equipo ágil incorporó usabilidad en un proyecto interconectando el diseño y la implementación paralelamente. Chamberlain et al. (Chamberlain et al., 2006) trabajaron con tres proyectos e identificaron dentro de las mejores prácticas pruebas de usabilidad sobre prototipos en papel y el trabajo en paralelo de diseñadores y desarrolladores. En (Z Hussain et al., 2008) con relación al proceso iterativo, los autores mencionan que iteraciones cortas permiten que los desarrolladores sean capaces de refactorizar el sistema continuamente en paralelo con la retroalimentación de los diseñadores de interfaz. (Illmensee & Muff, 2009) señalan que trabajar ciclos iterativos por adelantado permite a los diseñadores obtener retroalimentación y ser capaces de resolver rápidamente problemas imprevistos de diseño dentro de las iteraciones.

También observamos que en el entorno ágil principalmente aplican pruebas de usabilidad en la fase de refinamiento. Los especialistas entrevistados en el estudio de McInerney et al. (McInerney & Maurer, 2005) comentaron que las pruebas de usabilidad en sus proyectos ágiles se realizan generalmente en cada iteración o después de algunas iteraciones es decir, por liberación de un producto potencialmente útil (release). Uno de los equipos de estudio en (Chamberlain et al., 2006) programó pruebas de usabilidad iterativas con constante retroalimentación durante el desarrollo. (Jason Chong Lee & McCrickard, 2007) señalan que en los desarrollos estudiados las evaluaciones de usabilidad son aplicadas más en profundidad al final de cada liberación. (Z Hussain et al., 2008) expone su enfoque iterativo y cómo las interfaz de usuario son probadas durante el proceso de desarrollo incrementando y evolucionando de esta manera la fidelidad de los prototipos a ser desarrollados. (Illmensee & Muff, 2009) describen como el equipo sobrelleva los problemas adoptando un proceso de desarrollo ágil e incorporando técnicas HCI en ese contexto para ayudar a los equipos a mejorar la calidad de la funcionalidad. Con el fin de recoger y utilizar la retroalimentación de los usuarios reales se aplicaron pruebas de usabilidad por cada iteración.

A pesar de que el análisis indica que las pruebas se aplican mayormente como una fase de refinamiento, aplicar pruebas de usuario al inicio del desarrollo también ha dado buenos resultados. (Meszaros et al., 2006) señalan que aplicar pruebas de usuario al inicio del proceso de desarrollo ágil puede ayudar a entender la visión del proyecto e identificar características que originalmente podrían ser consideradas fuera del alcance del proyecto. Los autores anteriores describen el proceso que siguieron para implementar pruebas de usabilidad y destacan lo útil que fue utilizar prototipos de baja fidelidad al inicio del proyecto y durante el proceso de desarrollo de manera iterativa para refinar el software. (Ferreira et al., 2007a) reportan que las iteraciones ágiles facilitan aplicar pruebas de usabilidad permitiendo a los desarrolladores de software incorporar resultados de pruebas en iteraciones posteriores. En (Najafi & Toyoshiba, 2008) el equipo UX aplicó pruebas de usabilidad al inicio del proceso de desarrollo durante el sprint 0 y en iteraciones posteriores con el fin de refinar el diseño. (Ungar & White, 2008) describen su experiencia complementando el diseño en un proceso ágil con el método de diseño de estudio con el objetivo de mejorar la colaboración para explorar alternativas de diseño propuestas entre los mismos diseñadores, desarrolladores y los stakeholders. Al inicio trabajaron con el sprint 0 donde las pruebas de usabilidad fueron aplicadas, aunque no especifican el proceso de aplicación. Los autores mencionan que durante las iteraciones las pruebas de usabilidad también fueron aplicadas un ciclo adelantado con los usuarios finales desarrollando tareas y grabando la prueba.

Otro dato importante a recalcar es el hecho de que ya sea en la fase exploratoria o de refinamiento pueden ser aplicadas pruebas de usabilidad formativa, de evaluación o de validación. Barnum (Barnum, 2010) señala la relación de pruebas de usabilidad formativa con pequeños estudios de investigación sobre el usuario los cuales son mucho más apropiados para aplicar en desarrollos ágiles. Pruebas formativas son aplicadas al inicio del proceso de desarrollo, por ejemplo en el ciclo 0, o al inicio de cada iteración. Las pruebas de evaluación son las más utilizadas, los equipos ágiles las aplican principalmente al final de las iteraciones es decir, en la fase de refinamiento. Cuando hay tiempo o el equipo determina la necesidad de aplicar las pruebas de usabilidad de tipo evaluación se aplican después de las liberaciones (o releases). Las pruebas de validación son usadas generalmente al final de cada iteración. (Jason Chong Lee & McCrickard, 2007) describen la aplicación de un marco de trabajo que considera evaluaciones de usabilidad con los usuarios, aplican éstas por medio de

evaluaciones ligeras de usabilidad sobre el software funcionando al final de cada iteración y al final de cada liberación (release). (Najafi & Toyoshiba, 2008) describen cómo implementar mecanismos de usabilidad ayuda a desarrollar software exitoso que cubre las necesidades y metas de los usuarios; comentan que las pruebas de usuario fueron aplicadas de dos formas: desarrollando tareas específicas y procesos que los mismos usuarios elegían realizar en el software al momento de la prueba. Este proceso de prueba fue aplicado en cada sprint aunque no especifican si también aplicaron pruebas de usabilidad en el sprint 0.

Continuando con los datos presentados en la tabla C5-2 podemos observar que el rol de Experto tiene fuerte presencia en los proyectos ágiles analizados en nuestro estudio. Sin embargo, si no hay un elemento con experiencia en el diseño, el equipo ágil puede ser entrenado y aprender como incorporar técnicas HCI como las pruebas de usabilidad iterativas obteniendo resultados válidos (Dayton et al., 2009). (Meszaros et al., 2006) señalan que no pudieron contar con un diseñador de interfaz pero el Project manager y el agile coacher hicieron el trabajo de construir un prototipo inicial que representó un factor clave para el proyecto completo.

En relación a los mecanismos HCI utilizados para soportar las pruebas de usabilidad, la tabla C5-2 muestra que los prototipos (de baja fidelidad como prototipos en papel y de alta fidelidad como prototipos interactivos) y el método thinking aloud son utilizados principalmente como apoyo en dichas pruebas de usabilidad. (Miller, 2005) trabajó en versiones liberadas previamente mejorando las características utilizando prototipos de baja fidelidad en las pruebas de usabilidad. (Z Hussain et al., 2008) mencionan los prototipos en papel como mecanismos para obtener conceptos básicos correctos. (H. Williams & Ferguson, 2007) reportan su experiencia trabajando con un equipo ágil distribuido, ellos utilizan prototipos interactivos (prototipos de alta fidelidad) para aplicar las pruebas de usabilidad y obtener retroalimentación que aplica en el refinamiento del diseño en la siguiente iteración. Otro dato que destacan es el haber trabajado con un grupo de usuarios representativos y algunos expertos. En (Ferreira et al., 2007a) se analizan cuatro diferentes proyectos pero tres de ellos aplican en una manera formal las pruebas de usabilidad utilizando como mecanismos las maquetas, prototipos de baja fidelidad y pruebas de aceptación. (Jason Chong Lee & McCrickard, 2007) combinaron las evaluaciones con pruebas de aceptación, de esta forma los clientes verificaron la funcionalidad y proporcionaron retroalimentación sobre usabilidad.

(Fox et al., 2008) observan resultados de las pruebas de usabilidad al aplicarlas con investigación contextual y prototipos de baja fidelidad (prototipos en papel) para identificar y corregir problemas de usabilidad antes de que el diseño inicial de la interfaz se proporcione a los desarrolladores para su implementación. Posteriormente durante las iteraciones las pruebas de usabilidad se aplican sobre prototipos de alta fidelidad incluyendo software funcional.

(Federoff & Courage, 2009) comparten su experiencia trabajando pruebas de usabilidad con prototipos interactivos en un desarrollo de transición a una metodología ágil, obtuvieron resultados satisfactorios implementando este enfoque para pruebas de usuario teniendo disponible un grupo de usuarios y trabajando el desarrollo en bloques paralelos. (Illmensee & Muff, 2009) reportan la adaptación del espacio implementado para aplicar las pruebas de usabilidad en el proceso de desarrollo ágil como cuartos de conferencia en lugar de laboratorios de usabilidad. (Belchev & Baker, 2009) describen su experiencia implementando técnicas de usabilidad en un software ya liberado. En su proyecto registraron las sesiones de las pruebas de usabilidad en audio y video. Las pantallas de los usuarios y movimientos del ratón fueron capturados por un software y la técnica “thinking aloud” fue usada con la finalidad de grabar los comentarios de los usuarios. Además comentan que un video clip corto de usuarios desarrollando una tarea puede ayudar a tomar decisiones y obtener apoyo de los stakeholders. Losada et al. (2013) describen el desarrollo de una aplicación móvil utilizando InterMod, una metodología ágil que implementa técnicas de usabilidad a través del proceso iterativo. Las pruebas de usabilidad son aplicadas con potenciales usuarios finales a quienes se les pidió desarrollar tareas específicas utilizando prototipos en papel y thinking aloud; las mejoras fueron desarrolladas en bloques paralelos de diseño e implementación (Losada et al., 2013).

Related documents