TestingAR Meetup 3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el...

41

Transcript of TestingAR Meetup 3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el...

Page 1: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA
Page 2: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

http://uxtalk.surge.sh/

¿Qué es lo que hace esta UI?

… tenes 3 minutos para averiguarlo

MuleSoft Guest mulesoft123

¡Bienvenidos! Vamos a empezar con un pequeño juego.Tienen 3 minutos para averiguar que hace la interfaz disponible en esta URL.(…)¿Lo averiguaron? ¿Qué hace? Develemos el misterio: http://uxtalk.surge.sh/usable.html

Page 3: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

??

Este proceso de descubrimiento -exagerado en el ejercicio- es lo que ocurre cuando uno se enfrenta a una nueva interfaz de usuario.El usuario se enfrenta a una “caja negra”, y debe que guiarse para descubrir que es lo que pasa.

Page 4: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visibilidad

La “visibilidad" es decir que es lo que el sistema nos comunica visualmente nos da un primer indicio.

Page 5: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visibilidad

Feedback

El segundo indicio esta en la reacción a una acción. Es decir que pasa al interactuar con el sistema. En el ejemplo que hicimos el botón de “Start" no es inmediato, tarda un poco más de 1segundo. Normalmente un segundo es el limite máximo para percibir el feedback de nuestra acción. Si presiono un botón y no pasa nada en menos de un segundo, entonces me da la impresión que algo no anda bien.

Page 6: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visibilidad

Feedback

Tolerancia a equivocaciones

Pero con la visibilidad y el feedback no son suficientes. Para aprender a usar el sistema tenemos que poder equivocarnos.Si al tocar un botón puede explotar todo, entonces tenemos que poder arrepentirnos.Estas tres reglas: visibilidad, feedback, y tolerancia a equivocaciones. Son fáciles de recordar y constituyen las bases de la famosas heurísticas de usabilidad.

Page 7: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

http://bit.ly/nielsenheuristics

Seguramente escucharon hablar de las heurísticas de usabilidad de Nielsen. Y si no se las presento.Jakob Nielsen uno de los pioneros en usabilidad web, creo una lista de cosas básicas que uno tiene que validar en la usabilidad de un sistema.

Page 8: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Pero al quedarnos solamente con las heurísticas, y ver la UI en términos de implementación. Nos estamos olvidando de lo más importante…

Page 9: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Y esto es que nosotros no somos los usuarios.Es otra persona la que va a usar el sistema.Si es una obviedad, pero una obviedad que es muy fácil de olvidar.Incluso si uno desarrolla herramientas para desarrolladores.Durante el desarrollo adquirimos mucho contexto que nos ayuda a entender la herramienta. Conocemos el lenguaje restringido que usa nuestro grupo. Tenemos una idea de que hacen otras personas en la empresa. Por lo tanto corremos con una ventaja que el usuario final no tiene.

Page 10: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Reconocer que no somos los usuarios. Trabajar en la visibilidad, feedback, y tolerancia a equivocaciones, son las cosas de base que suelo explicar en las capacitaciones internas en MuleSoft….

Page 11: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Después de estas capacitaciones internas, me queda la sensación que la excitación durante el curso, se contrasta con la realidad…

Page 12: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

En la realidad del día a día, enfrentamos issues mal especificados, tiempos de entrega cortos…

Page 13: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

… tareas lista para QA, con omisiones de usabilidad terribles.

Y uno se pregunta ¿Cómo llego esta funcionalidad hasta este punto? ¿Cómo es que nadie se dio cuenta del problema?

Page 14: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

A mouse’s tale - Benjamin Renner

Cambiar ese día a día no es fácil, es como enfrentar un monstruo.

Page 15: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Cómo es posible que empresas como… Apple

Page 16: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Amazon…

Page 17: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Google…Provean experiencias de usuario tan pulidas?¿Es solo una cuestión de recursos?¿O hay algo más? ¿Es una cuestión cultural y organizativa?¿Cómo podemos hacer para proveer una buena experiencia?

Page 18: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Experiencia

Usabilidad

La usabilidad es solo una parte de la experiencia. Una parte importante por cierto, pero cuando vemos estos productos de Apple, Amazon, o Google hay otros factores que forman parte del diseño de la experiencia de usuario.

Page 19: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Para explicar estos factores adicionales, voy a recurrir a Donald Norman.Norman es un psicólogo cognitivo muy conocido por sus estudios sobre el diseño y usabilidad. De hecho si escucharon nombrar las heurísticas de Nielsen, probablemente hayan leído algo sobre Norman (él es socio de la consultora de usabilidad de Nielsen… NormanNielsen)

Page 20: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visceral

Reflexivo

Conductual

Norman identifica la experiencia de las personas con respecto a un objeto en tres aspectos distintos:

Visceral: es el nivel más primitivo. Es lo que percibimos cuando vemos el producto, nuestra reacción “intuitiva”.Conductual: es como percibimos el producto a través de como interactuamos con él.Reflexivo: es lo que el producto dice sobre nosotros mismos.

Veamos estos aspectos con ejemplos…

Page 21: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Supongamos que un amigo les envía un link a un articulo sobre desarrollo de software.Cuando abren el link ven esta pagina. Horrible! Luce como un sitio de los 90s, es difícil de leer.Ahora otro amigo nos envía otro link…

Page 22: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

¿Cuál de estas dos paginas les inspira más calidad de contenido?La primer impresión del sitio nos predispone a la experiencia.La primer pagina que mostré es la Wiki creada por Ward Cunningham, que es el “inventor" de las wikis, y el padre de Extreme Programming, y Test Driven Development. En esa wiki de aspecto horrible solían responder a preguntas un montón de personalidades del desarrollo de software, en especial de quienes terminaron creando muchas de las practicas de diseño que usamos hoy.Esta segunda pagina… bueno no sé quien la escribió realmente, solo tome un ejemplo de Medium, un sitio que se caracteriza por tener un muy buen uso de la tipografía e imágenes para mostrar artículos.La cuestión es… que lo visual importa. Lo primero que vemos genera una reacción visceral que condiciona nuestra respuesta. Si un sistema luce des prolijo, nuestra experiencia se ve afectada.(cuando explique la historia de la primer pagina, recurrí a un aspecto reflexivo: la pagina “fea" tiene un valor histórico extra -ser la primer wiki)

Page 23: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visibilidad

Feedback

Tolerancia a equivocaciones

En el aspecto conductual, además de las cuestiones que mencione al principio de la charla…

Page 24: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

es importante tener en cuenta que la forma en que comunicamos las cosas afecta a como estas se relacionan con el usuario.No hace falta poner una cartel de “tire/empuje" para indicar como abrir una puerta. Mediante la forma, podemos dar información sobre como interactuar con el sistema. Recurriendo nuevamente a Donald Norman, esta relación entre la persona y el objeto es llamada affordance.En los sistemas digitales ocurre lo mismo: el lenguaje visual nos da un indicio de como podemos interactuar con el sistema, sin que tengamos que decir una palabra.La diferencia principal, es que en los sistemas digitales esta información es principalmente visual y cultural. Por ejemplo sabemos que podemos interactuar con un botón por su formato gráfico y la asociación cultural que le damos.

Page 25: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Este lenguaje visual que nos da información, varía con el tiempo.Por ejemplo si somos usuarios de iOS, sabemos al ver esta pantalla que cosas son interactivas y cuales no lo son.Esto no es “natural”, si no que lo aprendimos. Nos acostumbramos a asociar “señales" (signifiers), como estilo y posición con “esto es un componente con el que puedo interactuar”.

Page 26: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visibilidad

Feedback

Tolerancia a equivocaciones

Consistencia y estándares

Por lo tanto a las cuestiones de comportamiento que ya sabíamos debemos agregar una más:"Consistencia y estándares” Ser consistentes con la plataforma en la que estamos trabajando, ayuda a que el usuario descubra como interactuar con el sistema. Incluso en aplicaciones Web, si uno desea salirse de la norma, hay que hacerlo con cuidado.

Page 27: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Visceral

Conductual

Reflexivo

¿Y el aspecto “Reflexivo”?El aspecto reflexivo es que es lo que el sistema refleja de nuestra imagen, y nuestros valores.Veámoslo con un ejemplo concreto…

Page 28: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

A la izquierda tenemos GitHub, a la derecha BitBucket.Ambos sistemas hacen lo mismo: proveen acceso a repositorios de Git, permiten crear pull requests, manejar comentarios, etc.Pero hay una diferencia de personalidad importante entre ambos.Mientras que BitBucket se orienta a un mercado más empresarial, con integración a las herramientas de Attlassian, GitHub se orienta a resaltar las “personalidades" del open source.

Page 29: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Las paginas de perfil, funcionalidad como “Followers”, y “Starts" crean una suerte de reputación en la comunidad. Eso actúa directamente en el aspecto reflexivo de como los usuarios perciben el sistema.Las decisiones sobre el publico al cual apunta un producto están dentro de la esfera de los Product Managers ¿Hay algo que podamos hacer desde el rol de QA al respecto?Si, veamos un ejemplo…

Page 30: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Antes de su lavado de cara, MailChimp se caracterizo por su lenguaje informal y humorístico.Este lenguaje no fue creado adrede, fue planificado.(el diseñador encargado de crear este lenguaje se llama Aaron Walter, y escribió un libro al respecto llamado Design For Emotion)

Page 31: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Internamente en la compañía crearon una guía de como tenia que ser esta personalidad. Por ejemplo es una muy mala idea mantener un tono humorístico cuando hay un error…

Page 32: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Ooops! Perdimos el trabajo que hiciste en los últimos 30min

Sin embargo eso no quita que el sistema no pueda tener un tono humorístico en otras situaciones.Todo depende de la personalidad que le queríamos dar.Si la personalidad del sistema se refleja en nuestros usuarios, entonces tiene un impacto positivo en la experiencia.Desde el rol de QA, podemos usar esta estrategia de definir la personalidad del sistema para motivar una discusión interna sobre la personalidad del producto.

Page 33: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

cosas que puedo hacer para:

Generar conciencia sobre alguno de los aspectos de la experiencia: visceral, conductual, reflexivo.

3

(break)Describir 3 cosas que puedo hacer para:Generar conciencia sobre alguno de los 3 aspectos de la experiencia: visceral, comportamiento, reflexivo.

Page 34: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Evaluaciones Expertas

- Evaluaciones Heurísticas

- Recorrido Cognitivo

Evaluaciones Expertas- Evaluación Heurística- Recorrido Cognitiva

Page 35: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

File --> New --> API Policy Project

The user enters the project name

(XML/YAML name will be fill by default)

The new project dialog shows a list of examples to

get started

Studio shows a graphical editor for the XML, and a "properties" editor for the

YAML

Phase 1: MVP

Backlog

Right click on project -> Run As --> API Policy

Maybe in Phase 1

Run policy dialog: the user fills additional policy properties & selects an API project to run

Studio start Mule and shows the console log

Idea: We can give the option to

debug the flow from the API

console

Studio shows an improved API Console that makes testing the API easier

The user logs into the API Platform, navigates to the CP screen and uploads the XML/YAML

The user logs into the API Platform, navigates to the CP screen and uploads the XML/YAML

Studio shows a dialog to upload/replace a Custom Policy

Studio shows the XML/YAML text editors

Studio also shows the API Console to test the API with the custom policy

MiroslavMule Solution Provider

VeeraMule Developer

ChristianJava Developer, New to

Mule

Happy

Sad

Happy

Sad

Happy

Sad

Expects from Studio the "extra" tools to deal with

specifics of policies

Expects to have more control over what is deployed to Mule

Expects debugger support. He is able to

deploy and test to a local Gateway, this makes it

easier but doesn't solves the debug issues

He prefers to use Postman. The API

Console is too limited

He was expecting a solution for automated

deployments

First time with Custom Policies, doesn't know if

all the Mule XML tags are available here. Also what

is this YAML file?

Needs to have an API to try the policy. There is an easy/faster way to have

it?What are the configuration

properties?

Possible discoverability issue: There are many

options in the New sub-menu

File --> New --> Mule Project

The New Project dialog shows options to create

from example, or to create an API Policy

This will address the "discoverability" issue.

But I'm not sure how the benefit balances against

other issues (ie differences within the Mule Project types)

What about Maven support?

What is the project structure?

I need to configure this every time? Studio will remember my

configuration? Can I save this configuration into a

file, and use it on an automated process?

Is this cionfiguration file Studio/Eclipse specific?

The run dialog shows the option to save the

configuration properties into a .properties file

The user sets some breakpoints using the

graphical UI

Debug As --> API Policy

I need to configure this every time? Studio will remember my

configuration?I need an example Policy

project to get started

Possible discoverability issue: The Run As right menu is not well known from someone comming

from IntelliJ or .Net

First time running a Mule app. There are many log lines to look at. Doesn't

knows if the API/Policy is running or not

Studio displays feedback indicated if the policy has been

moved to the "failedPolicies" folder

Not too much experience with API Console. Can I use it to test the API and

the policy?

Can I upload the policy to API Platform?

Can I update an existing policy?

Runtime is missing!!

Idea: show a list of selected sample

projects

Checkbox to create a dummy

API!

Add the host port address to the API

Console

Auto-completion & validation

Ejemplo de un recorrido cognitivo, plasmado en documento de “user journey”.

Page 36: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

File --> New --> API Policy Project

The user enters the project name

(XML/YAML name will be fill by default)

The new project dialog shows a list of examples to

get started

Studio shows a graphical editor for the XML, and a "properties" editor for the

YAML

Phase 1: MVP

Backlog

Right click on project -> Run As --> API Policy

Maybe in Phase 1

Run policy dialog: the user fills additional policy properties & selects an API project to run

Studio start Mule and shows the console log

Idea: We can give the option to

debug the flow from the API

console

Studio shows an improved API Console that makes testing the API easier

The user logs into the API Platform, navigates to the CP screen and uploads the XML/YAML

The user logs into the API Platform, navigates to the CP screen and uploads the XML/YAML

Studio shows a dialog to upload/replace a Custom Policy

Studio shows the XML/YAML text editors

Studio also shows the API Console to test the API with the custom policy

MiroslavMule Solution Provider

VeeraMule Developer

ChristianJava Developer, New to

Mule

Happy

Sad

Happy

Sad

Happy

Sad

Expects from Studio the "extra" tools to deal with

specifics of policies

Expects to have more control over what is deployed to Mule

Expects debugger support. He is able to

deploy and test to a local Gateway, this makes it

easier but doesn't solves the debug issues

He prefers to use Postman. The API

Console is too limited

He was expecting a solution for automated

deployments

First time with Custom Policies, doesn't know if

all the Mule XML tags are available here. Also what

is this YAML file?

Needs to have an API to try the policy. There is an easy/faster way to have

it?What are the configuration

properties?

Possible discoverability issue: There are many

options in the New sub-menu

File --> New --> Mule Project

The New Project dialog shows options to create

from example, or to create an API Policy

This will address the "discoverability" issue.

But I'm not sure how the benefit balances against

other issues (ie differences within the Mule Project types)

What about Maven support?

What is the project structure?

I need to configure this every time? Studio will remember my

configuration? Can I save this configuration into a

file, and use it on an automated process?

Is this cionfiguration file Studio/Eclipse specific?

The run dialog shows the option to save the

configuration properties into a .properties file

The user sets some breakpoints using the

graphical UI

Debug As --> API Policy

I need to configure this every time? Studio will remember my

configuration?I need an example Policy

project to get started

Possible discoverability issue: The Run As right menu is not well known from someone comming

from IntelliJ or .Net

First time running a Mule app. There are many log lines to look at. Doesn't

knows if the API/Policy is running or not

Studio displays feedback indicated if the policy has been

moved to the "failedPolicies" folder

Not too much experience with API Console. Can I use it to test the API and

the policy?

Can I upload the policy to API Platform?

Can I update an existing policy?

Runtime is missing!!

Idea: show a list of selected sample

projects

Checkbox to create a dummy

API!

Add the host port address to the API

Console

Auto-completion & validation

El uso de “caricaturas" para las personas es intencional.Representan “ad-hoc” personas. La información utilizada para empatizar con la gente, esta basada en entrevistas. Sin embargo la investigación no fue lo suficientemente exhaustiva, y lo por lo tanto esta basada en muchas hipótesis. Y por eso las llamo “ad-hoc personas”.

Page 37: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Crear un "user journey" lleva tiempo. Una forma ágil de hacerlo es utilizar “user story maps”.Esto puede hacerse en conjunto con los miembros del equipo.

Page 38: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Test de usabilidad

Evaluativo Causal

Cualitativo Cuantitativo Task Script

Algo con que interactuar

Moderador

Observador

Contar con un “user journey” es de gran ayuda al momento de diseñar tests de usabilidad.

Page 39: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

A mouse’s tale - Benjamin Renner

Page 40: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Resumen:- Reconocer que no somos los usuarios- Generar conciencia:

- Evaluaciones “expertas” (sesiones de critica)- Utilizar escenarios: user story map

- Métricas mediante encuestas, NPS- Tests de usabilidad- Iterar

Page 41: TestingAR Meetup   3er Encuentro - Diego Fernandéz - Mejorando la Experiencia de Usuario desde el Rol de QA

Gracias!!

@diegofer79

[email protected]