Integrado UX con Agile

Agile y UX no siempre juegan bien juntos.

Después de todo, el desarrollo de Agile nunca fue considerado originalmente como UX. A medida que la popularidad de la profesión de diseño creció en los últimos años, muchas compañías todavía luchan por encajar la clavija cuadrada de UX en el agujero redondo de Agile.

El primer paso es entender que Agile y UX comparten metas similares. Ambos tienen como objetivo ofrecer valor comercial más rápidamente. Ambas se basan en la retroalimentación del amortiguador para conducir circuitos de iteración más apretados.

Se vuelven pacientes sólo cuando nos obsesionamos con la letra y no con el espíritu del desarrollo colaborativo de productos.

El desarrollo de software ágil se ha vuelto bastante popular en los últimos años, dejando a muchos profesionales de UX preguntándose cómo el Diseño Centrado en el Usuario (DCU) puede encajar en un proceso de desarrollo extremadamente rápido que utiliza poca documentación.

Diseño Centrado en el Usuario

El diseño centrado en el usuario puede involucrar una variedad de técnicas que proporcionan información sobre los deseos, necesidades y objetivos de los usuarios, que incluyen:

  • Etnografía
  • Investigación contextual
  • Entrevistas contextuales
  • Pruebas de usabilidad
  • Análisis de tareas.

Pero todo esto lleva tiempo, tiempo que un proceso de desarrollo ágil podría no permitir. Pero hay esperanza. Los métodos ágiles y el DCU no están completamente en desacuerdo entre sí – y en algunos casos, el desarrollo ágil puede incluso permitir un enfoque más centrado en el usuario.

Al tomar el tiempo para entender las diferencias y similitudes entre el desarrollo ágil y el desarrollo DCU, es posible idear un proceso que esté centrado en el usuario y ágil.

Similitudes entre los métodos ágiles y DCU (Diseño Centrado en el Usuario)

Empecemos explorando las similitudes entre los dos enfoques.

El desarrollo de software es un juego cooperativo (limitado en recursos) de invención y comunicación. El objetivo principal del juego es entregar un software útil y funcional.

El objetivo secundario, el resto del juego, es preparar el próximo juego. Por lo tanto, según Cockburn un método de desarrollo ágil, en su esencia, consiste en entregar software útil. Según Rassa Katz Haas, el diseño centrado en el usuario se centra en entender las necesidades de las personas – por lo que podemos proporcionar un software útil.

  El Diseño Centrado en el Usuario coloca a la persona en el centro…

Busca responder preguntas sobre los usuarios y sus tareas y objetivos, luego usar los hallazgos para impulsar el desarrollo y el diseño.

Un enfoque de diseño centrado en el ser humano (DCU) nos permite comprender mejor a las personas que utilizan nuestros productos, mientras que las técnicas de desarrollo ágiles nos permiten construir, probar, entregar y revisar nuestros productos con mayor rapidez.

De esto se trata el diseño y desarrollo de software: entregar productos significativos a la gente.

Entonces, si estos dos métodos parecen complementarse tan bien, ¿por qué hay tanta fricción y frustración cuando llega el momento de integrarlos? Un examen superficial de los problemas no puede responder a esta pregunta. Debemos profundizar en los detalles de estos métodos, donde la integración se vuelve más complicada.

Diferencias entre los métodos ágiles y UCD

Definir un proceso de desarrollo es algo complicado. El aspecto más importante es definir la forma en que las personas van a trabajar juntas. Gente que tiene egos y opiniones. Personas cuyas habilidades pueden no ser desvalorizadas o que no están plenamente comprometidas con el proceso.

Defina un proceso demasiado estricto y se vuelve insoportable e inadaptable; defínalo con demasiada ligereza y existe el riesgo de no incluir a las personas adecuadas en el momento oportuno.

El ciclo de desarrollo iterativo de Agile es uno de los puntos fuertes del método, pero también establece algunos plazos de entrega ajustados.

Como muestra la ahora infame entrevista entre Alan Cooper y Kent Beck, la línea de tiempo es quizás el aspecto más controvertido de los métodos ágiles. En un ciclo de desarrollo de tan alta velocidad, ¿tenemos tiempo para comprender plenamente las necesidades de los usuarios?

La respuesta corta es no. La larga respuesta: Si definimos las necesidades de los usuarios durante el desarrollo -incluso en un proceso de desarrollo ágil- algo ha salido terriblemente mal.

Rediseño de un proceso de desarrollo

¿Qué hacer? Mientras que los métodos ágiles pueden reducir significativamente la cantidad de diseño inicial que se requiere, no reducen en modo alguno el tiempo que requiere la investigación del usuario.

Investigación del Usuario

Agile y UX no siempre juegan bien juntos. Después de todo, el desarrollo de Agile nunca fue considerado originalmente como UX. A medida que la popularidad de la profesión de diseño creció en los últimos años, muchas compañías todavía luchan por encajar la clavija cuadrada de UX en el agujero redondo de Agile. No tiene que ser así. Como plataforma de diseño colaborativo, hemos visto a clientes desde pequeñas agencias hasta más de 10.000 empleados desarrollar sus procesos. El primer paso es entender que Agile y UX comparten metas similares. Ambos tienen como objetivo ofrecer valor comercial más rápidamente. Ambas se basan en la retroalimentación del amortiguador para conducir circuitos de iteración más apretados. Se vuelven pacientes sólo cuando nos obsesionamos con la letra y no con el espíritu del desarrollo colaborativo de productos. El desarrollo de software ágil se ha vuelto bastante popular en los últimos años, dejando a muchos profesionales de UX preguntándose cómo el Diseño Centrado en el Usuario (DCU) puede encajar en un proceso de desarrollo extremadamente rápido que utiliza poca documentación. El diseño centrado en el usuario puede involucrar una variedad de técnicas que proporcionan información sobre los deseos, necesidades y objetivos de los usuarios, incluyendo etnografía, investigación contextual, entrevistas contextuales, pruebas de usabilidad, análisis de tareas y otros. Pero todo esto lleva tiempo, tiempo que un proceso de desarrollo ágil podría no permitir. Pero hay esperanza. Los métodos ágiles y el DCU no están completamente en desacuerdo entre sí - y en algunos casos, el desarrollo ágil puede incluso permitir un enfoque más centrado en el usuario. Al tomar el tiempo para entender las diferencias y similitudes entre el desarrollo ágil y el desarrollo DCU, es posible idear un proceso que esté centrado en el usuario y ágil. Similitudes entre los métodos ágiles y DCU (Diseño Centrado en el Usuario) Empecemos explorando las similitudes entre los dos enfoques. El desarrollo de software es un juego cooperativo (limitado en recursos) de invención y comunicación. El objetivo principal del juego es entregar un software útil y funcional. El objetivo secundario, el resto del juego, es preparar el próximo juego ". Por lo tanto, según Cockburn, un método de desarrollo ágil, en su esencia, consiste en entregar software útil. Según Rassa Katz- Haas, el diseño centrado en el usuario se centra en entender las necesidades de las personas - por lo que podemos proporcionar un software útil. Escribe:"[Diseño centrado en el usuario] coloca a la persona (en contraposición a la cosa) en el centro... DCU  busca responder preguntas sobre los usuarios y sus tareas y objetivos, luego usar los hallazgos para impulsar el desarrollo y el diseño. Un enfoque de diseño centrado en el ser humano nos permite comprender mejor a las personas que utilizan nuestros productos, mientras que las técnicas de desarrollo ágiles nos permiten construir, probar, entregar y revisar nuestros productos con mayor rapidez. De esto se trata el diseño y desarrollo de software: entregar productos significativos a la gente. Entonces, si estos dos métodos parecen complementarse tan bien, ¿por qué hay tanta fricción y frustración cuando llega el momento de integrarlos? Un examen superficial de los problemas no puede responder a esta pregunta. Debemos profundizar en los detalles de estos métodos, donde la integración se vuelve más complicada. Diferencias entre los métodos ágiles y UCD Definir un proceso de desarrollo es algo complicado. El aspecto más importante es definir la forma en que las personas van a trabajar juntas. Gente que tiene egos y opiniones. Personas cuyas habilidades pueden no ser desvalorizadas o que no están plenamente comprometidas con el proceso. Defina un proceso demasiado estricto y se vuelve insoportable e inadaptable; defínalo con demasiada ligereza y existe el riesgo de no incluir a las personas adecuadas en el momento oportuno. El ciclo de desarrollo iterativo de Agile es uno de los puntos fuertes del método, pero también establece algunos plazos de entrega ajustados. Como muestra la ahora infame entrevista entre Alan Cooper y Kent Beck, la línea de tiempo es quizás el aspecto más controvertido de los métodos ágiles. En un ciclo de desarrollo de tan alta velocidad, ¿tenemos tiempo para comprender plenamente las necesidades de los usuarios? La respuesta corta es no. La larga respuesta: Si definimos las necesidades de los usuarios durante el desarrollo -incluso en un proceso de desarrollo ágil- algo ha salido terriblemente mal. Rediseño de un proceso de desarrollo ¿Qué hacer? Mientras que los métodos ágiles pueden reducir significativamente la cantidad de diseño inicial que se requiere, no reducen en modo alguno el tiempo que requiere la investigación del usuario. Investigación de Usuario La investigación del usuario y Ágile no juegan bien juntos. El tiempo para la investigación de campo no es durante el desarrollo. La investigación debe realizarse antes de que comience cualquier trabajo de diseño o desarrollo. Esto puede parecer obvio, pero es un punto extremadamente importante - especialmente cuando usted considera que el desarrollo ágil se trata de escribir código lo más pronto posible y entregar software operativo tan a menudo como sea posible. Llevar a cabo una investigación de usuario retrasa las cosas. Se recomienda  involucrar a un representante de ingeniería en la investigación de campo. Al ver a los usuarios salvajes, los ingenieros desarrollarán cierta empatía hacia ellos. Por supuesto, hacer esto es útil independientemente del tipo de método de desarrollo que esté usando su equipo. Además, incluya a este ingeniero en el proceso de desarrollo de personajes e historias de usuarios. Obtener la aceptación de la ingeniería es fundamental para el éxito del uso correcto de las personas y las historias de los usuarios durante el ciclo de desarrollo. Priorización de funciones Una vez que se haya completado la investigación del usuario y haya creado sus perso- nas e historias de usuario de alto nivel, es hora de definir y priorizar las características del producto. La priorización de las funciones es importante en ágil, ya que permite que el engi- neering se centre primero en las funciones que conforman el funcionamiento básico. Hay muchas técnicas de priorización diferentes - algunas pertenecientes a los diferentes métodos ágiles. De todas las técnicas de clasificación lo más importante es que sea es simple, objetivo y que tenga en cuenta tres perspectivas importantes sobre la definición del producto: el negocio, los usuarios y la tecnología. Utilizando su técnica de priorización, los stakeholders pueden clasifiar por la importancia de cada una de las funcionalidades para el negocio, los profesionales de UX clasifican la importancia de cada funcionalidad para los usuarios, y los analistas técnicos clasifican la viabilidad de implementar las funcionalidades. Una vez clasificadas todas las funcionalidades, el equipo de producto es capaz combinarlas y compararlas para identificar las más importantes. Diseño Una vez que haya definido las prioridades de funcionalidades para su producto, es hora de diseñar. La mayoría de los ciclos de desarrollo ágiles comprenden un período de desarrollo con caja de tiempo, o iteración, de 2 a 4 semanas, y la expectativa es que un desarrollador habrá producido software funcional al final de ese ciclo. El diseñador, debería centrar sus esfuerzos en diseñar las características en una o dos iteraciones siguientes. Si se adelanta demasiado a los ingenieros, se corre el riesgo de que los requisitos cambien, lo que requiere mucho trabajo de repaso. Sin embargo, es necesario mantenerse lo suficientemente adelantado para tener tiempo para hacer pruebas de usabilidad y remediar cualquier problema de usabilidad en la iteración anterior, apoyar el desarrollo de la iteración actual y diseñar futuras iteraciones. Si las iteraciones del  equipo de desarrollo son breves, se recomienda diseñar al menos dos iteraciones por adelantado. Pero con cuatro semanas de iteración, probablemente será suficiente diseñar una iteración más adelante. Todo el diseño debe comenzar con la creación de historias de usuario detalladas. Asegurarse de involucrar a los ingenieros que están desarrollando ideas relacionadas en la creación de las historias de los usuarios. Ese necesario tener la aceptación del diseñador para que esta técnica sea efectiva. Una vez que las historias de usuario estén completas, se crea la documentación de diseño que se desee. Hay que tener en cuenta que hay un delicado acto de equilibrio que se debe manejar. En primer lugar, se debe tener en cuenta que no se tiene mucho tiempo para producir mucha documentación de diseño, por lo que la documentación que cree debe ser lo más concisa, eficaz y útil posible. Se ha demostrado que los alambrados y flujos de trabajo son muy útiles para los ingenieros. Desarrollo y prueba Uno de los principios básicos del desarrollo ágil es su enfoque en la entrega frecuente de software operativo. En algunos métodos ágiles, una revisión del producto en funcionamiento por parte de los clientes incluso cubre cada iteración quincenal o mensual. Además o, a veces, en lugar de estas revisiones, puede ejecutar pruebas iterativas de usabilidad. Según Jakob Nielsen, si haces tres rondas de pruebas de usabilidad, probando a cinco personas en cada ronda, puedes descubrir la mayoría de los problemas de usabilidad. Con el desarrollo ágil, usted puede probar y revisar una funcionalidad a lo largo de tres iteraciones, permitiéndole descubrir y corregir la mayoría de los problemas de usabilidad antes de lanzar un producto.

La investigación del usuario y Ágile no juegan bien juntos. El tiempo para la investigación de campo no es durante el desarrollo. La investigación debe realizarse antes de que comience cualquier trabajo de diseño o desarrollo.

Esto puede parecer obvio, pero es un punto extremadamente importante – especialmente cuando usted considera que el desarrollo ágil se trata de escribir código lo más pronto posible y entregar software operativo tan a menudo como sea posible. Llevar a cabo una investigación de usuario retrasa las cosas.

Se recomienda  involucrar a un representante de ingeniería en la investigación de campo. Al ver a los usuarios salvajes, los ingenieros desarrollarán cierta empatía hacia ellos. Por supuesto, hacer esto es útil independientemente del tipo de método de desarrollo que esté usando su equipo.

Además, incluya a este ingeniero en el proceso de desarrollo de personajes e historias de usuarios. Obtener la aceptación de la ingeniería es fundamental para el éxito del uso correcto de las personas y las historias de los usuarios durante el ciclo de desarrollo.

Priorización de funciones

priorizacion

Una vez que se haya completado la investigación del usuario y haya creado sus perso- nas e historias de usuario de alto nivel, es hora de definir y priorizar las características del producto.

La priorización de las funciones es importante en ágil, ya que permite que el engi- neering se centre primero en las funciones que conforman el funcionamiento básico.

Hay muchas técnicas de priorización diferentes – algunas pertenecientes a los diferentes métodos ágiles. De todas las técnicas de clasificación lo más importante es que sea es simple, objetivo y que tenga en cuenta tres perspectivas importantes sobre la definición del producto: el negocio, los usuarios y la tecnología.

Utilizando su técnica de priorización, los stakeholders pueden clasificar por la importancia de cada una de las funcionalidades para el negocio, los profesionales de UX clasifican la importancia de cada funcionalidad para los usuarios, y los analistas técnicos clasifican la viabilidad de implementar las funcionalidades. Una vez clasificadas todas las funcionalidades, el equipo de producto es capaz combinarlas y compararlas para identificar las más importantes.

Diseño

diseño

Una vez que haya definido las prioridades de funcionalidades para su producto, es hora de diseñar. La mayoría de los ciclos de desarrollo ágiles comprenden un período de desarrollo con caja de tiempo, o iteración, de 2 a 4 semanas, y la expectativa es que un desarrollador habrá producido software funcional al final de ese ciclo.

El diseñador, debería centrar sus esfuerzos en diseñar las características en una o dos iteraciones siguientes. Si se adelanta demasiado a los ingenieros, se corre el riesgo de que los requisitos cambien, lo que requiere mucho trabajo de repaso.

Sin embargo, es necesario mantenerse lo suficientemente adelantado para tener tiempo para hacer pruebas de usabilidad y remediar cualquier problema en la iteración anterior, apoyar el desarrollo de la iteración actual y diseñar futuras iteraciones.

Si las iteraciones del  equipo de desarrollo son breves, se recomienda diseñar al menos dos iteraciones por adelantado. Pero con cuatro semanas de iteración, probablemente será suficiente diseñar una iteración más adelante.

Todo el diseño debe comenzar con la creación de historias de usuario detalladas. Asegurarse de involucrar a los ingenieros que están desarrollando ideas relacionadas en la creación de las historias de los usuarios. Ese necesario tener la aceptación del diseñador para que esta técnica sea efectiva. Una vez que las historias de usuario estén completas, se crea la documentación de diseño que se desee. Hay que tener en cuenta que hay un delicado acto de equilibrio que se debe manejar. En primer lugar, se debe tener en cuenta que no se tiene mucho tiempo para producir mucha documentación de diseño, por lo que la documentación que cree debe ser lo más concisa, eficaz y útil posible. Se ha demostrado que los alambrados y flujos de trabajo son muy útiles para los ingenieros.

Desarrollo y Prueba

desarrollo y prueba

Uno de los principios básicos del desarrollo ágil es su enfoque en la entrega frecuente de software operativo. En algunos métodos ágiles, una revisión del producto en funcionamiento por parte de los clientes incluso cubre cada iteración quincenal o mensual.

Además o, a veces, en lugar de estas revisiones, puede ejecutar pruebas iterativas de usabilidad. Según Jakob Nielsen, si haces tres rondas de pruebas de usabilidad, probando a cinco personas en cada ronda, puedes descubrir la mayoría de los problemas de usabilidad.

Con el desarrollo ágil, usted puede probar y revisar una funcionalidad a lo largo de tres iteraciones, permitiéndole descubrir y corregir la mayoría de los problemas de usabilidad antes de lanzar un producto.