A la hora de implementar un software, surgen desafíos que tienen que ver con que, a veces, no hablamos el mismo idioma que nuestros clientes. Lleva tiempo entenderse. Hay un largo camino a recorrer para poder transmitir a nuestros equipos de desarrollo, una idea clara. El eje es la comunicación, es un aspecto clave. No solamente en Finnegans, sino en todas las empresas que hacen software.
Hay tres escenarios por los que las implementaciones a usuarios pueden dificultarse:
- La identificación del problema: a veces el desarrollo no funciona, no porque existan errores técnicos, sino porque no soluciona el problema del usuario. Si no era lo que el usuario esperaba o necesitaba, probablemente y con razón, lo descarte.
- Onboarding dificultoso: la idea es que la capacitación para utilizar el sistema no complique las cosas. Si el usuario descubre que no le es práctico, probablemente no continúe haciéndolo.
- Hacer más de lo que el cliente necesita: hablar de necesidades es algo imprescindible y concreto. Por más que la intención detrás sea buena, si hacemos algo más complejo de lo que una organización necesita, lo más probable es que no lo utilice. Además, tal vez ese desarrollo requiere muchísimo tiempo y cuando finalmente se deja disponible, la necesidad pasó o se transformó.
Para minimizar y hacerle frente a estas dificultades, una solución posible es utilizar Design Thinking.
Esta es una metodología que utilizan las grandes y medianas empresas de software y de servicios para diseñar no solamente programas, sino también para productos, servicios, experiencias. Todas las grandes empresas hoy están utilizando este sistema.
La idea principal de Design Thinking es separar el proceso de construcción en varias etapas. Por otra parte, este proceso también implica aceptar que nos vamos a equivocar, que vayamos por rumbos que no son los óptimos. El tema es ir detectando eso a tiempo. Ese es el gran secreto que tiene esta metodología: ir al detalle, buscar, pensar, diseñar, revisar y volver a prototipar.
Hay tres etapas para el desarrollo de esta metodología:
- Empatizar: es imprescindible entender al cliente, entender la necesidad, ponerse en los zapatos del cliente. Parece algo obvio pero es de lo más complejo. Una escucha activa es necesaria y a veces difícil. Escuchar hasta a los que no hablan. Un equipo está conformado por muchas personas, una organización puede tener un equipo dispuesto a implementar pero con diferentes perfiles. Por eso, hay que crear un espacio en el que tod@s y cada un@ se sienta segur@ para aportar, discutir y crear.
- Definir: cuando uno logra empatizar con las necesidades del cliente, se da cuenta de que hay más cosas a solucionar de las que se pensaban. Entonces, la idea es priorizar la resolución con la que se empezará. Nos concentramos en un solo problema a resolver.
- Idear: otra característica que tiene Design Thinking es que no sirve solamente para solucionar problemas, sino para dar soluciones innovadoras. Y eso se logra proponiendo muchas alternativas, darse tiempo para explorarlas abiertamente para, posteriormente, elegir una. De esa que se elige, la idea es hacer prototipos. Los prototipos son acciones que van de menor a mayor. Al principio se hace un prototipo en lo que se llama en “baja resolución”, que puede ser un papel escrito con la interfaz del sistema explicada.
- Testeo: lo que se hace es darle al usuario acceso al sistema y sumarle una consigna a resolver. Se lo pone frente al objeto o servicio diseñado y se analiza qué cosas faltan reforzar. A medida que avanza el testeo, se corrobora si se está haciendo el cambio correcto. En caso de que sí, se complejiza el prototipo.
En conclusión, la implementación de software enfrenta desafíos significativos en la comunicación con los clientes, la identificación precisa de problemas y la adaptación del producto a las necesidades reales.
Al enfocarse en comprender al cliente, priorizar problemas, generar soluciones innovadoras y realizar repetidas pruebas, Design Thinking ofrece un enfoque integral que permite ajustar y mejorar continuamente el desarrollo de software, asegurando una implementación más efectiva y satisfactoria para los usuarios finales.