jueves, 5 de mayo de 2011

User Agile development. Best practices

Fruto de las muchas y recientes adopciones de las metodologías ágiles por parte de la industria, los partidarios de UCD han debido pensar en cómo plantear su integración. A continuación expongo una relación de buenas prácticas iniciadas por Patton en 2008, y que Pirkka Rannikko expone en su Tesis.

  1. UCD debe adoptar la mentalidad ágil. Es imprescindible ese cambio de mentalidad de cascada a ágil para poder garantizar el éxito. Los expertos en UCD deben verse así mismos como miembros del equipo ágil.
  2. UCD debe estar cerca del Product Owner. Deben trabajar cerca, incluso en algunos casos ser el product onwer. Ese camino ayudará a influenciar para que los objetivos del proyecto estén alineados con los usuarios
  3. UCD debe estar físicamente. Es bueno que el especialista en UCD co-habite con el resto del equipo de desarrollo para enfatizar la buena comunicación entre ambos.
  4. Cross-functional Team. El equipo debe participar de manera conjunta en todos los pasos del ciclo de vida, de manera complementaria, pero conjunta, para compartir el conocimiento del por qué en las tomas de decisiones.
  5. Gestión común del proyecto. La gestión del proyecto debe ser común para todos, por lo que las tareas que no sean de desarrollo, deben igualmente romperse, estimar su velocidad. Esto unifica el modo de trabajo de todo, y facilita la gestión
  6. Diseñar un programa de socios. Existen algunos usuarios del proyecto que participaran en las fases iniciales de estudio, o en las finales de validación, pero otros usuarios representativos pueden convertirse en 'socios' y comprometerse durante todo el proyecto, reclutar este tipo de usuarios es muy recomendable y ayuda la logística de los test de usabilidad
  7. UCD trabajos previos de interfaz. Existen trabajos que pueden y deben adelantarse al inicio del desarrollo, en caso contrario pueden convertirse en cuello de botella, y crear riesgos indeseados. Requisitos de alto nivel, diseño conceptual de la solución, diseño UI inicial, incluso la guía de estilos.
  8. Desacoplar investigación de usuario. Fuera del ciclo de vida ordinario del proyecto, se deben paralelizar algunas investigaciones de usuario, para adelantar o cubrir futuras necesidades del proyecto
  9. Diseños pequeños / Just InTime. Los diseños se dividen en tareas menores, a ser realizadas incrementalmente tal y como sucede con historias de requisitos o funcionalidades. Para paralelizar trabajos de desarrollo y diseño en un mismo sprint. (Aunque sea en ciclos cruzados como hemos visto en anteriores artículos)
  10. Desarrollo paralelo. Tal y como adelantamos en el punto anterior, el UCD trabaja en paralelo pero iniciando los diseños 1 o 2 sprints antes de su desarrollo.
  11. Historias de usuario mejoradas. Las historias de usuario deben reflejar los requisitos de diseño y usabilidad, por lo que los criterios de aceptación deben incluirlos. 
  12. Solución enfocada a pruebas de usabilidad. Además de las pruebas automáticas unitarias y de integración, y además de las pruebas de validación, se deben incluir tempranas y periódicas pruebas de usabilidad. Se debe ayudar al equipo a solucionar de manera eficaz los problemas (RITE)

Como sucede con las metodologías ágiles en general, estamos hablando de guidelines, siento insistir mucho en este punto, pero es importante entender que no estamos hablando de reglas a seguir sí o sí, como pasaría con CMMI, por poner un ejemplo. Si no líneas maestras que deberás aplicar o no en función del equipo, el cliente, tu organización, etc.
Saludos,