La innovación, nuestra razón de ser
Cuando comenzamos el desarrollo de un nuevo sistema software debemos responder a varias preguntas. Probablemente podemos estar tentados de enfocarnos sobre los aspectos arquitectónicos o la selección de la tecnología. Pero, existe un aspecto clave que no debemos olvidar, el usuario.
Por muy obvio que pueda parecer, desarrollamos aplicaciones para las personas que van a emplearlas. Y como sabemos bien, cuando las personas intervienen entran en juego otras variables, tales como las sensaciones o los sentimientos. De tal forma que todo el trabajo realizado puede cuestionarse, alabarse u odiarse en cuestión de minutos u horas, por no mencionar si los bugs empiezan a hacer acto de presencia.
Supongamos que somos un chico de backend, podríamos decir que el color del botón no es nuestro problema, si, por otra parte, lo que somos es de front, furiosamente trasladaríamos que el rendimiento de la base de datos tampoco es nuestro y siempre, siempre, podríamos culpar a la chica responsable del API de los errores de comunicación porque no ha definido interfaces claros. Si te sientes identificado con alguna de estas situaciones, lamento decirte que tú y tu equipo tenéis un problema. Los usuarios ven el sistema como un todo, así que les da un poco igual dónde está el problema, lo que saben es que aquello no funciona como se suponía.Por tanto, si asumimos que nos debemos focalizar en los usuarios, la pregunta debiera ser: ¿por dónde empezamos? La respuesta no puede ser más simple, por las interacciones de los usuarios. Espera un momento, ¿de qué estas hablando? Dejadme que os lo explique de otra forma:
Tu esfuerzo principal debería estar en proporcionar a tu usuario un entorno de trabajo real en el que pueda verificar que el software funciona como espera.
En realidad, tener éxito en el desempeño de esta tarea implica tomar una aproximación doble: tanto primero el front como modular. Antes de entrar en detalle sí que me gustaría indicaros que cuando hablo de front no tengo porque referirme a un interfaz de usuario Web o APP, sino que también puedo hablar de un API si tu producto o proyecto está orientado a desarrolladores y lo que proporcionas es un interfaz REST, OpenGraph o lo que sea.
Una vez definido a que tipo de frontend me refiero, paso a analizar los puntos clave que deberían considerarse, lógicamente no todos aplican a todo tipo de aplicación, pero, espero, me sepáis disculpar.
Recordad que antes os comentaba que nuestro front podría ser, en realidad, un API o librería, en ese caso existen una serie de características que deberían ser tenidas en cuenta.
En cualquier caso, esta aproximación involucre decisiones arquitectónicas en las que la modularidad y el uso de mocks son esenciales. De esta forma y desde un punto de vista puramente técnico, ¿cómo deberíamos crear nuestra pila tecnológica? En mi opinión existen diferentes aproximaciones que podrían tomarse en consideración,
Por mi experiencia, implementar este mecanismo de trabajo en nuestro proceso de desarrollo de software es un escenario ganar-ganar. Por una parte, el usuario estará involucrado desde el comienzo, de tal forma que su satisfacción incrementará. Por otra parte, nosotros como desarrolladores estaremos enfocados en la funcionalidad y en el valor, evitando así futuros problemas.
En resumen, involucrar a los usuarios desde el comienzo, proporcionándoles un entorno de trabajo real y ser ágiles en ofrecer resultados son esenciales y diferenciales. La tecnología es importante, pero está más relacionada con aspectos tales como el mantenimiento y la extensibilidad que con la satisfacción inicial del usuario. Como podéis ver, desarrollar software es una tarea compleja.
Si te interesa lo que hacemos, cómo trabajamos y crees que podemos aportarte no dudes en aplicar a nuestras ofertas de empleo.