Los ingenieros de software solemos cometer el error de esperar que los usuarios nos den sus requerimientos; ellos nunca lo podrán hacer, porque no están entrenados en desarrollo de software, pero insistimos en hacer preguntas como “¿Qué es lo que quieres?”, “¿Usamos tal herramienta o tal otra?”, “¿Será en plataforma móvil, web o de escritorio?”, “¿Lo quieres responsivo?”. 

Ya que estamos en eso, también debemos dejar de enojarnos cuando nos dicen cosas como “quiero que sea bonito y rápido”.

La brecha que existe entre el vocabulario y entendimiento entre usuarios y desarrolladores debe achicarse, en vez de agrandarse. Los usuarios nos hablarán con su vocabulario habitual, en el contexto que conocen; nuestra labor es entender eso para transformarlo en los requerimientos que guiarán la construcción de un gran software. El primer paso es recolectar la información.

Identificar el problema

Descubrir las necesidades de los involucrados en el software es un reto. Es un proceso analítico y colaborativo con actividades para encontrar y definir las necesidades.

Los usuarios no pueden definir con precisión técnica cuál es el software que necesitan, por lo tanto, es labor de los ingenieros conseguir lo siguiente:

  • Tener un ambiente adecuado para facilitar la exploración y comunicación
  • Entender las actividades de los usuarios. 
    • ¿Qué actividades quiere completar el usuario y cómo podemos ayudar?
    • ¿Cuáles son las aspiraciones del usuario y cómo podemos ayudar a que las alcance?
    • ¿Qué relación esperan que establezcamos con ellos?
    • ¿Cuál es el valor que realmente esperan recibir?
  • Entender cómo toman decisiones
  • Entender lo que consideran innecesario, obsoleto o ineficiente.

Para esto, debemos trabajar primero en recolectar la información y resistir la tentación de diseñar el software hasta que has entendido el problema. En este proceso, seleccionamos de entre un conjunto de técnicas las que mejor se adapten a nuestro proyecto y a nuestros usuarios.

Técnicas para recolectar información

Antes de comenzar con cualquier intento de proponer una solución de software, debemos reunir la información suficiente para conocer, cuando menos, el contexto y las características principales de nuestros usuarios y su entorno. Este proceso puede durar unas pocas semanas, y en ellas recolectamos información.

Existen múltiples técnicas para descubrir las necesidades de usuarios de software

  • Colaborativas: Interacción con los usuarios
  • Independientes: Descubres información por tu cuenta

Algunas de las técnicas son:

  • Entrevistas
  • Talleres
  • Focus groups
  • Observación estructurada del entorno
  • Encuestas
  • Análisis de documentos
  • Evaluación heurística 

No uses solamente una, diferentes usuarios preferirán alternativas distintas

Detallemos cada una

Entrevistas

Las entrevistas son actividades colaborativas. El propósito es reunirte directamente con los usuarios, ya sea individualmente o en grupos pequeños, para preguntarles directamente y conocer su información.

Las entrevistas tienen un objetivo y propósito definidos, que se plasma en un cuestionario o una guía, y una duración, establecida en una agenda.

En el proceso de la entrevista debes presentarte, revisar la agenda con los asistentes, presentar los objetivos y resolver las preguntas iniciales. Tu objetivo es escuchar, así que hazlo activamente. Haz la pregunta y deja que los asistentes sean quienes hablen; solamente debes intervenir para aclarar algo o mantener el enfoque de la entrevista.

Esta técnica es útil cuando has identificado a los usuarios más representativos de un grupo y estos tienen poco tiempo para reunirse. Así que aprovecha todo el tiempo con ellos y prepara una buena lista de preguntas.

Talleres

Son reuniones formales y estructuradas, en las que un grupo de personas y expertos trabajan juntos. En esta colaboración, se usan diferentes herramientas para crear un modelo de la situación actual e identificar las necesidades a cubrir.

Un taller involucra a diferentes tipos de usuarios del sistema que se quiere hacer, para entender sus distintos puntos de vista. Los talleres son conducidos por un facilitador, usualmente el analista de requerimientos, y la información es registrada por una persona. 

Las actividades del taller son diversas, dependiendo del objetivo que tiene. Se debe cuidar el tiempo, para que las tareas y discusiones se mantengan dentro del enfoque y todos se mantengan involucrados. Se deben discutir ideas y no personas. Es importante que se programen descansos, pues los talleres suelen durar varias horas.

El facilitador debe leer el lenguaje corporal y otras pistas que hacen que algunos dejen de participar (Otros descalifican mis ideas, no las toman en serio) o no quieren interrumpir el trabajo.

Los talleres son una buena alternativa cuando los usuarios que nos pueden dar información tienen restricciones de calendario y solo los podrás consultar una sola vez.

Focus Group

Es una reunión con un conjunto seleccionado de los usuarios, que llamamos Champions. A diferencia del taller, el grupo de enfoque explora actitudes, preferencias y necesidades de los usuarios escuchándolos de viva voz. La información es subjetiva, más que cuantitativa.

Los focus group son muy efectivos para validar ideas que se parecen a soluciones ya existentes, por lo que se seleccionan usuarios que han usado productos similares y obtenemos de ellos las necesidades o cosas que no han podido ser cubiertas por las otras soluciones.

El facilitador de la reunión debe cuidar que se mantenga el enfoque, pero sin influir en las opiniones. No debe conducir las respuestas hacia una tendencia particular, sino mantenerse neutral.

Una característica importante del Focus Group es que la sesión debe ser grabada, por lo que debes obtener el consentimiento expreso de los asistentes para hacerlo.

Observación estructurada del entorno

Esta es un tipo de actividad independiente, pues no involucramos ni interactuamos con los usuarios. Algunos usuarios pueden tener dificultades para describir su trabajo o las actividades que hace, así que en vez de preguntarle directamente “cuál es el trabajo que hace”, lo observamos mientras lo realiza.

La necesidad de hacer observaciones suele identificarse en las entrevistas, cuando los usuarios no pueden describir detalladamente sus actividades. Estas son tan rutinarias que ya no piensan en ellas y las hacen automáticamente, así que no ponen atención al proceso. En casos así, acompañamos a los usuarios para observarlos mientras trabajan.

Para esto, se seleccionarán las actividades importantes para observar y a los usuarios. Es recomendado seleccionar a varios tipos de usuario. La observación se hace en el ambiente donde el usuario realiza su actividad normalmente; es importante no interrumpirle para obtener la mejor información acerca de qué hace y cómo lo hace; también, registra lo que ves: las herramientas que usa, la disposición del área, los objetos que están en ella y las personas con quienes interactúa. Esto permitirá entender mejor el contexto y el vocabulario del usuario. Limita la observación a un máximo de dos horas.

Encuestas

La encuesta consiste en una lista de preguntas para obtener información de un grupo grande de personas, principalmente cuando es difícil reunir a todos los usuarios o se encuentran dispersos en áreas geográficas específicas. Esta técnica es económica y suele ser usada como entrada para otras técnicas.

Las encuestas utilizan preguntas cerradas con opciones, comúnmente, y las respuestas son mutuamente excluyentes para poder diferenciar la opinión de las personas; en ocasiones, las respuestas incluyen la opción “otro”, para recolectar más información y opiniones. No se recomienda hacerlo con todas las preguntas. Las opciones pueden usar escalas; en este caso, deben ser consistentes en toda la encuesta y no cambiarlas entre ellas (por ejemplo, escalas numéricas todas en el mismo rango, o las opciones de opinión “bueno, malo, excelente” iguales para todas las preguntas que la usen). 

Análisis de documentos

Es la Revisión sistemática de documentos existentes (lecciones aprendidas, manuales, procesos de negocio, bibliotecas de problemas)

La investigación reduce el tiempo de otras reuniones y Puede revelar información que la gente no te dice. Aunque Se corre el riesgo de que los documentos no están actualizados

Evaluación heurística

Esta técnica consiste en examinar un producto existente, similar al sistema que se quiere desarrollar. Este producto puede ser el sistema actual de los usuarios o un producto del mercado, que es parecido. El objetivo es evaluar qué tan bien funciona el producto y sus oportunidades de mejora; ambas cosas se documentan y presentan a los usuarios, con el fin de obtener su opinión y sugerencias. 

Para esta técnica, es necesaria experiencia y comprensión de las buenas prácticas de diseño y desarrollo de sistemas.

Conclusión

Los usuarios del software no podrán definir el producto que quieren. Nuestro trabajo, como ingenieros de software, es darles una solución, pero no podemos hacerlo si entender las necesidades reales de los usuarios:

  • ¿Qué actividades quiere completar el usuario y cómo podemos ayudar?
  • ¿Cuáles son las aspiraciones del usuario y cómo podemos ayudar a que las alcance?
  • ¿Qué relación esperan que establezcamos con ellos?
  • ¿Cuál es el valor que realmente esperan recibir?

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.