lunes, 9 de abril de 2018

Una cura de humildad para desarrolladores software


Ya comentamos al analizar por qué fallan los requisitos software que uno de los problemas era la desconexión entre aquellos que especifican el software y aquellos que lo desarrollan... agravado por la distancia entre los que especifican el software y aquellos que realmente lo utilizan y necesitan.

Habría que añadir, creo yo, especialmente cuando hablamos de experiencia de usuario, que nos desarrolladores tienden a no ponerse en el lugar de los usuarios. En ocasiones por falta de imaginación o empatía, en otras por desidia, en otras, en fin, por falta de tiempo, lo cierto es que resulta muy común el que un software que formalmente cumple los requisitos funcionales que se le han solicitado sea sin embargo, incómodo, lento, complejo de usar haciendo que, si bien el requisito en teoría se cumple, en la práctica no resuelve, o resuelve mal, las verdaderas necesidades de los usuarios.

Una de las mejores formas de resolverlo, de concienciar a los desarrolladores (y especificadores) es que vean a los usuarios reales, en su entorno de trabajo real, intentando hacer un trabajo real con ese software que hemos construido (o con el software legado o procedimiento al que vamos a sustituir con nuestro nuevo software).

En esa línea apuntan Jeff Gothelf y Josh Seiden en su libro 'Lean UX: designing great products with agile teams' cuando nos dicen:  

Nothing is more humbling (and motivating) than seeing a user struggle with the software you just built.

Así es. A poco que un desarrollador tenga amor propio y tenga una sincera intención de hacer un buen trabajo, la visualización de un software, su software, que resulta inadecuado o incómodo para el trabajo real del usuario real, la observación directa le proporcionará una más que saludable, útil y pedagógica cura de humildad, una cura de humildad que debe enfocarse positivamente porque es una forma excelente de aprender.

El desarrollador ya conoce la tecnología, ahora sólo necesita ponerse un poco en el papel del usuario final que, en el fondo, no es nada más, y nada menos, que su cliente.