Piensa en el usuario

Esto del desarrollo a veces se nos va de las manos. Estoy haciendo un ejercicio recordando algunos de los proyectos software en los que he trabajado en mi vida, identificando los temas más importantes que discutíamos entre los desarrolladores, con el jefe de proyecto o con el cliente. Me acuerdo de cosas como éstas:

  • ¿Debemos usar XSL para generar un documento o hacerlo a mano?
  • ¿Usamos Biztalk para el procesamiento en servidor o un workflow a medida?
  • ¿Entidades propias o Datasets?
  • ¿Procedimientos almacenados o sentencias ad-hoc?
  • ¿Ficheros en el sistema de archivos o en SQL Server?

Cualquiera de estos temas tienen algo en común: no le importan un pimiento al usuario. ¿Y por qué cuento esto? El otro día tuve una conversación muy interesante con el que podría ser un usuario de tu próxima aplicación. Era un enfermero de un hospital en Cádiz, mi papi está ingresado y gracias a Dios este enfermero me hablaba de lo bien que estaba evolucionando y de que pronto le darían el alta. Sin saber nada de mi trabajo me estuvo contando que con un poco de suerte a mi padre le iba a tocar inaugurar un nuevo sistema informático que no viene al caso y que están implantando por allí. ¿Pensáis que este enfermero sabía algo de las tripas del sistema? ¿Y que le importaba? Me describió perfectamente el sistema desde el punto de vista más importante: el del usuario.

Para empezar me comentaba que gracias a este sistema un ATS iría directamente a casa de mis padres con toda la información del ingreso y con los puntos más importantes que tenía que verificar. Esta información se escribe día a día desde el hospital y contiene todos los detalles que necesita para hacer su trabajo. Anteriormente este trabajo lo tenía que hacer el propio enfermo, con los problemas que eso traía. Primero, porque se perdía mucha información por el camino y segundo porque en ocasiones el enfermo ni siquiera llegaba a llamar al ATS y se quedaba sin asistencia ni seguimiento.

También me contaba su experiencia como usuario de la aplicación. Era el enfermero con más experiencia de la planta y sin embargo se avergonzaba de que le vieran los compañeros usando el sistema. Se intentaba esconder para introducir los datos porque escribía muy lento y le costaba navegar por los menús. No había recibido demasiada formación y tan agobiado estaba que estaba practicando en su casa para cogerle el tranquillo.

¿Pensamos en este enfermero y en los propios enfermos cuando desarrollamos una aplicación? No me digáis que esto es algo que tiene que hacer un analista (todavía existen?) o el arquitecto o el jefe de proyecto o leñes. Cuando desarrollamos tomamos cientos de decisiones que afectan a estas personas y con frecuencia los criterios que utilizamos son de lo más variopintos: queda bonita? es cool? es un reto para mí? aprendo algo haciéndolo? es fácil de hacer? Muy pocas veces nos ponemos en el pellejo de alquien que tiene que usar la aplicación durante todo el día, con prisas y con pocos conocimientos informáticos. Ventanas con 20 botones, comboboxes de cientos de elementos, drag and drops, lentitud de respuesta… ¿Os suena alguna aplicación así?

En estos tiempos que corren con frecuencia nos hacen olvidar la importancia que tiene nuestro trabajo. El impacto que va a tener en personas de carne y hueso, la mejora que supondrá a sus usuarios y a la gente para la que trabajan estos usuarios. Por mucho que tu entorno te haga olvidar esto recuerda que tenemos un trabajo alucinante donde podemos ayudar a mucha gente o a convertir su vida en un infierno. Y si no lo crees, ¿por qué no intentas buscar algo en un combobox de cien elementos?

10 comentarios en “Piensa en el usuario”

  1. Lo primero…y como siempre te digo cuando hablámos es que me alegro que todo esté saliendo bien AMIGO.
    Ahora lo de ¿Todavía existen? por los analistas… lo que no se es si todavía existimos los picadores o cuanto tiempo vamos a existir con la tendencia actual y continua de ‘HACER CARRERA’ ( a buenos entendedores pocas palabras )
    Por lo de los usuarios… cierto … como siempre que dices algo lo ¡clavas!

    Saludos
    Unai

  2. Sabias palabras, la verdad es que tienes toda la razón, a menudo nos olvidamos de que lo que hay detrás de todo desarrollo son personas.

    Espero que no sea nada lo de tu padre y que se recupere pronto.

    Un abrazo.

  3. Bueno, pues… aparte de que coincido contigo en casi cada coma de lo que has escrito (aparte de que me empeño en “evangelizar” esto en mi trabajo, sin mucho éxito), lo que de verdad deseo es que tu padre se recupere lo antes posible, y sobretodo, que no tengas que volver a saber más de ese enfermero… porque ello querrá decir que tu padre no lo necesita. 🙂

    Saludos

  4. Juer si que habemos peña levantada a estas horas… xD (las mejores para hacer cosas en paz, sin embargo!)

    Saludos

    PS: Unai, no seas malo hombre 😛

  5. 🙂
    Hola David,

    Ante todo me alegro que pronto le den el alta a tu papi.

    Respecto al tema del diseño de la aplicación, estoy de acuerdo contigo en que debemos no solo cuidar el diseño ‘interno’, si no que hay que hacer un muy buen trabajo en el diseño ‘externo’ de una aplicación. Ya que el interface es el mecanismo con el que el usuario va a comunicarse con nuestra aplicación. Y si no hablan el mismo idioma o no se entienden… puede morir prematuramente aunque sea 100% cool o implemente las últimas técnicas ‘fashion’ de desarrollo 😛

    PD – Me comentaste en el TechDay de Barcelona que en Abril teníamos el DevDay… hay fecha? Sólo veo info. del DevDay de Madrid…

  6. Buenas David, lo primero, mis mejores deseos para tu padre y tu familia… ¡TITÁN!.

    Respecto a tu mensaje, lo cierto es que cuando se desarrolla una aplicación, generalmente se hace pensando en que guste primero a tu jefe, y luego al cliente, pero por lo general, el usuario final suele permanecer en el más absoluto olvido hasta casi el final del desarrollo que es cuando es más complicado introducir cambios, y eso si es que participa algo.

    Por suerte, he de decir que he trabajado en proyectos de los dos tipos (en el que el usuario final se implica y en el que el cliente final “pasa” o al que no se le pregunta o consensúa nada), y aunque el proyecto en el que colabora el usuario final suele ser más tedioso, es más enriquecedor y se obtiene un mejor resultado que en el caso en el que el usuario no participa, sin duda.

  7. Que razón tienes David, pero a veces aun poniendo las cosas fáciles, muchos usuarios siempre se están quejando y nunca les convence nada.

    Un saludo y que se mejore tu padre.

  8. Yo lo tengo muy en claro, y por lo general transmito esta frase a mis compañeros:

    “yo trabajo en Avanade, pero mi nomina no me la paga Avanade, me la pagan los clientes en los que trabajo a traves de Avanade”

    basicamente, si quiero seguir cobrando mi nomina, tengo q hacer mi trabajo lo mejor posible y esto no significa (en algunos casos) tener contento a mi jefe, sino q nuestro cliente final este contento y satisfecho con el trabajo q hemos realizado.
    Y por sobre todas las cosas, en casi el 99% de mis proyectos mi cliente, es una persona de carne y hueso (por suerte); asi que lo mas importante es lograr entregar una herramienta para que ellos puedan trabajar menos y mejor ;), y de esta forma yo tambien podré trabajar menos mejor 😀

    me encantó el planteamiento y suerte con la salud de tu flia !!!

    Saludos

  9. Ese David!

    Si, reflexion totalmente acertada. Se animará alguien a arrancar una web/blog para poder subir anécdotas en las aplciaciones 😛 ?
    Estoy más que seguro que todos tenemos alguna anécdota graciosa con respecto a la usabilidad 😉

    Para LLUIS FRANCO -> Me temo que developer day solo hay en Madrid, ademas de las sesiones de rendimiento, este año vemos la peli de 300 tras las charlas…vengaaa escápate y vente 😉

    chao!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *