7ª Jornada de Informática Cómputo Móvil
Universidad de la Sierra Sur 22 de mayo · 2014
Diseño Centrado en el Usuario y metodologías ágiles
Integración de
en el desarrollo móvil
Hola :)Víctor Manuel García Luna
@idvicman
Diseño Centrado en el Usuario y metodologías ágiles
Integración de
en el desarrollo móvil
Diseño Centrado en el Usuario
Ella es
metodologías ágiles
Él es
Diseño Centrado en el UsuarioConceptos mínimos
¿Qué es UCD?“Un enfoque para el diseño y desarrollo de sistemas que tiene como objetivo hacer sistemas interactivos más usables, centrándose en el uso del sistema y aplicando factores humanos/ergonomía y los conocimientos y técnicas de usabilidad”.
ISO 92441-210, Human Centered Design for Interactive Systems
Principios1. El diseño está basado en una comprensión
explícita de usuarios, tareas y entornos. 2. Los usuarios están involucrados durante el diseño y
el desarrollo. 3. El diseño está dirigido y refinado por evaluaciones
centradas en usuarios. 4. El proceso es iterativo. 5. El diseño está dirigido a toda la experiencia del
usuario. 6. El equipo de diseño incluye habilidades y
perspectivas multidisciplinares.
ISO 92441-210, Human Centered Design for Interactive Systems
Proceso iterativo• Entender y especificar el contexto de uso. • Especificar las necesidades de los usuarios. • Producir soluciones de diseño para satisfacer
las necesidades de los usuarios. • Evaluar los diseños en cuanto a
requerimientos.
ISO 92441-210, Human Centered Design for Interactive Systems
Diseño Centrado en el Usuario.
Metodologías ágilesConceptos mínimos
¿Qué son las metodologías ágiles?
• Individuos e interacciones sobre procesos y herramientas
• Software funcionando sobre documentación extensiva
• Colaboración con el cliente sobre negociación contractual
• Respuesta ante el cambio sobre seguir un plan
Manifesto for Agile Software Development
Principios
• Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
• Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
• Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
Principios
• Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
• Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.
• El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.
Principios
• El software funcionando es la medida principal de progreso.
• Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
• La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
• La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
Principios
• Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
• A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.
Manifesto for Agile Software Development
Ejemplos de metodologías ágiles
• eXtreme Programming (XP) • Lean Software Development • Adaptive Software Development • Crystal • Dynamic System Development Methodology
(DSDM) • Scrum
Scrum
• Es un marco de trabajo por el cual las personas pueden acometer problemas complejos adaptativos, a la vez que entrega productos del máximo valor posible productiva y creativamente.
Proceso iterativo en Scrum
• El marco de trabajo Scrum consiste en: equipos Scrum, roles, eventos, artefactos y reglas; además, es posible incorporar diversas técnicas y procesos.
• El equipo Scrum consiste en un Dueño del Producto (Product Owner), el Equipo de Desarrollo (Development Team) y un Scrum Master.
• El bloque de tiempo base es el Sprint. Durante un Sprint se crea un incremento de producto “terminado”.
Scrum.
Diseño Centrado en el Usuario y metodologías ágiles
¿En qué se parecen?
¿en qué son diferentes?
La principal diferencia estriba en que los métodos ágiles se esfuerzan por ofrecer pequeños conjuntos de funciones de software a los clientes lo más rápido posible en iteraciones cortas.
Diseño Centrado en el Usuario invierte considerable tiempo y esfuerzo en la investigación y análisis de los usuarios y su contexto antes de comenzar el desarrollo.
VS
Diseño Centrado en el Usuario y metodologías ágiles
Entonces…
¿no son compatibles?
¿y la Experiencia de Usuario? Pero…
¿Qué es Experiencia de Usuario?“Inventé el término porque pensé que interfaz y usabilidad eran demasiado limitados. Quise cubrir todos los aspectos de la experiencia de una persona con un sistema, incluyendo el diseño industrial, gráficos, la interfaz, la interacción física…”.
Don Norman
Diseño Centrado en el Usuario y metodologías ágiles
Entonces…
¿son el uno para el otro?
En los últimos años, se han realizado esfuerzos considerables por integrar UCD a métodos ágiles. Esta integración es deseable debido a que, a pesar de su naturaleza aparentemente opuesta, ambos enfoques comparten el objetivo intrínseco de buscar una mejor experiencia de uso. Para lograr esta integración, es necesario identificar las similitudes y diferencias entre ambos enfoques, para así, lograr mayores beneficios para el desarrollo del producto.
Similitudes
• Se basan en un proceso de desarrollo iterativo, construyendo información empírica a partir de ciclos anteriores.
• Las técnicas ágiles también ponen énfasis en el usuario, fomentando su participación en todo el proceso de desarrollo.
• Ambos enfoques hacen hincapié en la importancia de la conjunción del equipo.
• Los métodos ágiles buscan mínima documentación, mientras que UCD lo considera importante.
• UCD alienta al equipo a entender a sus usuarios, tanto como sea posible, antes de que comience la construcción de productos, mientras que los métodos ágiles se oponen, en cierta forma, a considerar largos periodos de tiempo al frente de la investigación, a expensas de aprovechar al máximo la escritura de código.
Diferencias
Diseño Centrado en el Usuario y metodologías ágiles
Cómo integrar
y no morir en el intento
En este esquema, la vida útil del proyecto se divide en tres fases de alto nivel que capturan la transición entre estrategia
(UCD) y táctica (métodos ágiles).
Esquema de integración de UCD en ciclos de desarrollo ágil propuesto por Nielsen.
Esquema del desarrollo en vías en paralelo, una de diseño de interacción y otra de desarrollo.
Implementación de una iteración (otras iteraciones no son presentadas) + correspondientes tareas de UCD, acorde al
esquema Doble Paralelo de Miller-Sy.
Integración esquema Miller-Sy en Scrum.
Diseño Centrado en el Usuario y metodologías ágiles lecciones aprendidas
Lo importante no es si Diseño Centrado en el Usuario necesita de metodologías ágiles
o si metodologías ágiles necesitan de Diseño Centrado en el Usuario
Lo importante es lograr experiencias de usuario memorables
Gracias :)Víctor Manuel García Luna
@idvicman