Guías para el diseño ético de bots

Cada vez más personas utilizan Bots, o Inteligencia Artificial Conversacional, ya sea para resolver dudas rápidas o para interactuar con servicios digitales. Para explotar el potencial que los bots pueden ofrecen a sus usuarios, debemos diseñarlos de manera que sean confiables y útiles.

Microsoft, unos de los pioneros en servicios de AI Conversacional, compiló una lista con guías para diseño responsable de bots . El propósito de esta guía es ayudar a los diseñadores de bots e interfaces conversacionales a crear plataformas que sean confiables y que representen correctamente al servicio y a la empresa para los que fueran diseñados.

Estas guías son más recomendaciones que reglas, y deben usarse con criterio y teniendo en cuenta el contexto en que el bot será utilizado, teniendo siempre en mente cuál es la experiencia que deseamos entregar a nuestros usuarios:

  1. Articula claramente el propósito del bot y ten cuidado si el bot será usado para dar seguimiento a una pregunta o a un proceso importante.
    El propósito del bot es fundamental para el proceso de diseño ético, que es particularmente importante cuando se anticipa que el bot servirá para un uso consecuente. Los casos de uso aquí incluyen el acceso a servicios de atención médica, educación, empleo, finanzas u otros que, si son negados o fallan tendrán un impacto importante en la vida diaria de su usuario.
  2. Se transparente al utilizar bots como parte de un producto o servicio. Es más probable que los usuarios confíen en una empresa que es transparente sobre el su uso de bots, y es más probable que los usuarios confíen en un bot si entienden que su objetivo es ayudarlos a resolver sus problemas y necesidades, y que es abierto sobre sus capacidades y limitaciones.
  3. El bot debe tener el apoyo continuo de un supervisor humano, especialmente cuando en la interacción humano-bot llegue a interacciones que excedan la competencia del bot. Si el bot se involucra en interacciones que pueden necesitar criterio humano, hay que asegurar los medios para que pueda tener acceso rápido a un moderador humano.
  4. Diseña tu bot para que respete las normas culturales y que no sea utilizado de forma indebida. Debido a que que los bots pueden tener una personalidad de tipo humano, es muy importante que interactúen con respeto con sus usuarios y que tenga protecciones y protocolos incorporados para evitar y gestionar su mal uso y abuso.
  5. El bot debe ser tan confiable como sea posible. Realiza pruebas para asegurarte de que el bot puede realizar de manera confiable la función que se pretende que realice. Hay que tener en cuenta todo el tiempo que, debido a que los sistemas de Inteligencia Artificial son probabilísticos, no siempre proporcionarán la respuesta correcta. Es recomendable definir métricas que sirvan para medir la eficiencia del bot y revisarlas con frecuencia.
  6. El bot debe tratar a sus usuarios con respeto.
    La posibilidad de que los sistemas basados en AI perpetúen prejuicios sociales existentes o que introduzcan nuevos sesgos es una de las principales preocupaciones de la comunidad de AI en la proliferación de sistemas inteligentes. Es responsabilidad de los diseñadores y desarrolladores asegurarse que sus bots traten a todas las personas de manera correcta.
  7. El bot debe respetar la privacidad del usuario. Las consideraciones de privacidad son especialmente importantes para los bots. Al diseñar e implementar escenarios que requieran personalización, los bots aprenderán mucho sobre sus usuarios. Las personas también pueden compartir más información personal de lo que lo harían si piensan que están interactuando con una persona, y por supuesto, los bots pueden recordar todo. Todo esto (más los requisitos legales) hace que sea especialmente importante diseñar bots pensando en la privacidad del usuario desde el principio. Esto incluye ser abierto con los usuarios sobre la recopilación y el uso de datos personales que hará el bot y que controles ofrece el bot a los usuarios sobre sus datos personales.
  8. El bot debe manejar la información del usuario de forma segura. Los usuarios tienen todo el derecho de esperar que sus datos se manejen de forma segura. Sigue y aplica buenas prácticas de seguridad (uso de protocolo seguro de comunicación, cifrado de datos, etc.) para la gestión de los datos que manejará el bot.
  9. El bot debe ser accesible para todos los usuarios. Los bots pueden beneficiar a todos, pero solo si están diseñados para ser inclusivos y accesibles para personas con capacidades físicas limitadas. Es muy importante garantizar que las personas con discapacidades puedan utilizar el bot usando la tecnología y sistemas con los que ya cuentan.
  10. Acepta la responsabilidad por las acciones y fallas del bot. Estamos muy lejos de que los bots puedan actuar de forma realmente autónoma, si ese día alguna vez llega, los seres humanos son responsables de la operación de los robots. No es aceptable culpar al bot por sus fallas y la responsabilidad cae en sus creadores y administradores.

Además de estas guías, se deben contemplar por separado el impacto de la legislación de cada ciudad y país donde el bot esté disponible, incluyendo los aspectos éticos y legales de privacidad de los usuarios, seguridad, inclusión y transparencia.

Principios para pruebas ágiles

Los procesos ágiles (agile) no deberían limitarse a la construcción de un producto, sino cubrir otras partes de su ciclo de vida. Las pruebas de un producto pueden beneficiarse con una perspectiva ágil.

La pruebas ágiles o agile testing es un proceso de validación para software y productos digitales que sigue los principios del desarrollo de software ágil. Las pruebas ágiles están alineadas con las metodologías de diseño iterativo, en la que los requerimientos se desarrollan gradualmente desde los usuarios y del equipo de investigación (research) para que esté centrado en el usuario desde el principio.

Las diferencias con el modelo de pruebas en cascada (waterfall) son abismales: en lugar de dejar las pruebas hasta el final a un equipo de especialistas sin el tiempo o los recursos para detectar fallas y mejorar el producto, en el modelo de pruebas ágil las pruebas ágiles son un proceso continuo: las pruebas comienzan desde el inicio del proyecto y hay una integración continua entre los equipo de pruebas, diseño y desarrollo con el objetivo de crear un producto con la mejor calidad y experiencia posible.

Los principios de Agile Testing

  • Las pruebas son continuas: las personas encargadas de su diseño y desarrollo realizan pruebas continuamente porque es la única manera de asegurar el progreso continuo del producto.
  • Proveer retroalimentación constante: un enfoque de pruebas ágil proveé retroalimentación de manera continua para que el diseño de producto alcance los objetivos del negocio.
  • El equipo completo realiza pruebas: en el ciclo tradicional de diseño de producto solo el equipo de pruebas (Q&A o QE) es responsable de realizar las pruebas. En un modelo ágil tanto programadores como diseñadores y la gente responsable del negocio realizan pruebas sobre el producto.
  • Responder con rapidez a la retroalimentación: las personas que representan la parte de negocio del producto están involucrados en cada iteración del producto y el flujo de retroalimentación continua acorta el tiempo de respuesta y la toma de decisiones para integrarla en la mejora del producto.
  • Crear código simplificado y limpio: todos los problemas que son encontrados por el equipo de diseño y desarrollo se arreglan dentro de la misma iteración, lo que ayuda a crear código limpio y simplificado.
  • Producir menos documentación: las personas en el equipo ágil pueden utilizar listas reutilizables para enfocarse en probar el producto en lugar de enfocarse en detalles incidentales.
  • Probar para descubrir: en el enfoque ágil, las pruebas se realizan en el momento de la implementación, mientras que en el proceso tradicional, las pruebas se realizan después de la implementación.

Cómo realizar Agile Testing

Para realizar pruebas de producto en un modelo ágil, primero hay que redactar un plan de pruebas y después actualizarlo en cada liberación. Un plan de pruebas ágiles debería incluir: el alcance de las pruebas, una lista de las funcionalidades a probar, los tipos y niveles de las pruebas que se van a realizar, pruebas de desempeño y carga, una lista de la infraestructura a utilizar, un plan de riesgos y de gestión de los recursos para las pruebas y los entregables que se producirán al final.

Existen varias metodologías para realizar pruebas ágiles, como el Desarrollo Basado en Comportamiento (Behavior Driven Development o BDD), el Desarrollo Basado en Pruebas de Aceptación (Acceptance Test Driven Development o ATDD) o las Pruebas Exploratorias (Exploratory Testing), que se integran de manera natural con modelos ágiles como Scrum o Lean.

Ventajas de Agile Testing

Los beneficios del enfoque de prueba ágil incluyen:

  • Ahorro de tiempo y dinero,
  • reducción en la documentación y el tiempo que requiere desarrollarla,
  • es adaptable, escalable y muy flexible a los cambios,
  • proporciona una manera clara de integrar los comentarios y la retroalimentación del usuario final en el proceso de desarrollo, y
  • ayuda a definir y priorizar mejor los problemas a resolver.

Las pruebas ágiles no solo facilitan la detección temprana de defectos, sino que también reducen el costo de los errores al solucionarlos antes. Este enfoque también ayuda a incluir una visión de diseño centrada en el usuario final para entregar un producto de alta calidad lo antes posible.

El Unicornio de UX

Llamamos Unicornio de UX a un mítico y elusivo tipo de diseñador de experiencia de usuario que tiene un rango de habilidades de diseño avanzadas y adaptativas en diseño gráfico, creación rápida de prototipos, desarrollo de código de front-end, pruebas con usuarios, redacción de especificaciones técnicas, marketing y diseño de marca. No tiene opinión, trabaja con metodologías y se lleva bien en cualquier entorno de trabajo.

Dicho de otra manera, el profesionista de UX ideal es como un unicornio: está hecho con partes de diferentes criaturas, es increíblemente difícil de encontrar y por lo general sólo existe en su imaginación.

Anatomía de un Unicornio de UX

El unicornio de UX es una advertencia de que el que quiere hacer mucho terminará haciéndolo todo mal, y no algo a lo que un diseñador profesional deba aspirar. Un profesional de UX en la vida real conoce de muchos temas, pero tiende a especializarse en algunos de ellos y sabe que la forma correcta de crear buenas experiencias de usuario es con trabajo de equipo.

La moraleja es: desconfía de cualquier persona que diga ser un Unicornio de UX, o que esté buscando uno.

Heurísticas de usabilidad

La usabilidad de un producto está basada en la percepción de sus usuarios, y por lo tanto siempre es subjetiva. Las heurísticas de usabilidad nos ayudan a cuantificar algo que de origen es cualitativo.

La definición estándar de usabilidad nos dice que es «el grado en que un producto puede ser utilizado por usuarios específicos para lograr objetivos específicos con efectividad, eficiencia y satisfacción en un contexto de uso específico«. La palabra usabilidad también se refiere a los métodos y técnicas para hacer un producto más fácil de usar para sus usuarios.

Jakob Nielsen, uno de los más renombrados expertos en este campo, define la usabilidad como «un atributo de calidad que mide la facilidad de utilizar una interface digital» en el que la usabilidad es un atributo de cualquier producto que emerge como consecuencia del proceso de diseño.

Componentes de la usabilidad

La usabilidad es parte de la utilidad de un producto, que se define con los siguientes componentes:

  • Capacidad de aprendizaje: ¿Qué tan fácil es para el usuario realizar tareas básicas la primera vez que utiliza el producto?
  • Eficiencia: ¿Con qué rapidez puede el usuario realizar tareas y/o resolver sus necesidades con el producto?
  • Fiabilidad: Cuando el usuario vuelve al producto después de un tiempo de no usarlo, ¿con qué facilidad puede volver a usarlo de manera útil?
  • Errores: ¿Cuántos errores comete el usuario, qué tan graves son estos errores y con qué facilidad puede el usuario superarlos para seguir usando el producto?
  • Satisfacción: ¿Qué tan agradable es para el usuario usar el producto?

Al final, la finalidad de la usabilidad es lograr que los usuarios logren sus objetivos con la menor fricción posible. El problema para el diseñador de UX es que los componentes de la usabilidad dependen de la formación, la experiencia, el contexto y las expectativas de cada usuario, por lo que diferentes usuarios observarán un grado de usabilidad diferente sobre el mismo producto.

Debido a su naturaleza cualitativa, los conceptos relacionados a la usabilidad no se pueden medir fácilmente, lo que complica su análisis y el diseño de un plan de corrección. Para convertir la percepción cualitativa de usabilidad utilizamos heurísticas -una palabra de origen griego que significa más o menos «encontrar la verdad por medio del conocimiento propio» y que está emparentada con el concepto de «Eureka«. Se les llama heurísticas porque son recomendaciones generales y no reglas inflexibles de usabilidad.

Heurísticas de usabilidad

Jakob Nielsen definió 10 puntos de heurística de usabilidad para poder hacer una evaluación más completa con conceptos más estandarizados:

  1. Visibilidad del estatus del sistema. El sistema siempre debe mantener al usuario informado sobre lo que está sucediendo, a través de retroalimentación adecuada dentro de un tiempo razonable.
  2. Alineación entre el sistema y el mundo real. El sistema debe hablar el idioma del usuario, con palabras, frases y conceptos que sean familiares para él, en lugar de términos técnicos. El diseño debe estar basado en cómo el usuario realiza tareas similares en la contraparte offline del producto digital.
  3. Control y libertad para el usuario. El usuario siempre debe sentirse en control y debe tener a la mano opciones para detener, cancelar o regresar todo el tiempo.
  4. Consistencia y estándares. El usuario no debería tener que preguntarse si una palabra, situación o acción tienen significado o funcionamientos diferentes en contextos diferentes.
  5. Prevención de errores. El producto solo debería mostrarle al usuario las opciones correctas para evitar que se equivoque. Evitar errores es mucho mejor que mostrar mensajes de error.
  6. Reconocimiento antes que reacción. Hay que reducir la carga cognitiva del usuario haciendo visibles los objetos, acciones y opciones. El usuario no debería tener que recordar información de una sección a otra y las instrucciones de uso deben ser visibles y accesibles cuando el usuario las necesite.
  7. Flexibilidad y eficiencia de uso. El producto debería ser útil tanto para usuarios primerizos como para usuarios experimentados, ofreciendo a cada uno formas adecuadas de lograr sus objetivos.
  8. Estética y diseño minimalista. El diseño debe usarse para ayudar al usuario a lograr sus objetivos, y el diseño que no sirva a este propósito es un adorno, y por lo tanto es desechable. Aquí aplica aquello de «menos es más».
  9. Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de sus errores. Inevitablemente, el usuario se encontrará con un error. Cuando esto suceda, los mensajes de error deben expresarse en un lenguaje sencillo (humano), que indique con precisión el problema, su posible origen y ofrecer una solución de manera constructiva.
  10. Ayuda y documentación. Aunque es mejor si el producto pueda usarse sin recurrir a su documentación, siempre es bueno proporcionar ayuda y documentación. Esta información debe ser fácil de encontrar y consultar, y debe estar enfocada en la tarea que el usuario quiere realizar. Idealmente debe enumerar los pasos concretos que se deben realizarse y no ser demasiado grande.

Vale la pena mencionar que aunque las 10 heurísticas de usabilidad de Nielsen son muy populares, no son por mucho las únicas que existen. Hay otras propuestas similares como los Principios de Ingeniería Cognitiva de Jill Gerhardt-Powals, las 20 guías de usabilidad de Susan Weinschenk y Dean Barker o los principios de diseño de interfaces de Bruce Tognazzini, entre otros, que pueden usarse para complementar el análisis de usabilidad.

La evaluación heurística

Una evaluación heurística es una herramienta para identificar los problemas de usabilidad de un producto digital. Implica que un diseñador de UX con experiencia examine el producto y juzgue su cumplimiento con los principios de usabilidad definidos en las heurísticas y les asigne una calificación dentro de un rango predefinido. Este análisis da como resultado una lista de posibles problemas de usabilidad cuantificados, que son la base para definir métricas de usabilidad.

Las evaluaciones de heurística de usabilidad normalmente se pueden realizar en poco tiempo con un presupuesto pequeño, pero una evaluación heurística no es un sustituto de pruebas de usabilidad con usuarios reales. Aunque las heurísticas se relacionan con los criterios que afectan la usabilidad de un producto digital, los problemas identificados en una evaluación heurística son diferentes a los encontrados en una prueba de usabilidad.