El mundo de la comercialización y desarrollo de software ha sido regulado – hasta ahora – principalmente por Ingenieros e Ingenieras de Software y toda la gama de roles técnicos que uno pueda imaginarse. Este escenario ha cambiado de forma sustancial, atendiendo a ciertas oportunidades de mejora. En este artículo esbozaré un breve recorrido de lo atravesado, y un pantallazo del camino que creo cobrará la industria.
Distintas perspectivas de un mismo problema
Quienes hemos trabajado en equipos multidisciplinarios sabemos el valor que se adiciona cuando varios profesionales aportan desde la especialidad que los atraviesan para trabajar un tema común. Personalmente conozco la necesidad de estos ámbitos porque entiendo que se requiere un análisis minucioso del problema para que este sea respondido de forma correcta y completa. El punto es que en el mercado del software no existía – hasta hace poco – esta multifocalidad.
El proceso de desarrollo estaba centralizado en un equipo especializado en Ingeniería en sistemas, que poco conocía del negocio de su cliente y que desarrollaba una solución pesada. Una vez finalizado el tiempo de desarrollo – que en este escenario suele ser extenso – la solución es presentada al cliente para que este la pruebe y evalúe si realmente resuelve su demanda. Este es el punto clave, el foco de dolor; cuando el cliente prueba el software desarrollado para cubrir sus necesidades encuentra una serie de correcciones (que perfectamente podemos denominar postventa) que llevarán más tiempo y que se dieron porque el desarrollador detrás de la pantalla no tiene conocimientos profundos del negocio del cliente.
¿Cómo se resuelve esta situación? Lamentablemente no es lineal, ni existe una fórmula mágica aplicable a todos los casos, pero lo que si deja entrever el escenario planteado anteriormente son varias necesidades;
Necesidad 1: Conocimiento del negocio
Necesidad 2: Agilidad
Necesidad 3: Comunicación
Nuestra primera necesidad se resuelve con un nuevo perfil que hemos visto emerger en el ultimo tiempo: Citizen Developers. Gartner los define cómo usuarios capaces de generar aplicaciones con un fuerte conocimiento del negocio y que serán utilizadas por otros – que también conocen el core – este desarrollo se ejecuta a través de entornos de desarrollo y tiempo de ejecución aprobados por TI corporativa. Entonces los Citizen Developers se presentan como un perfil de valor agregado para el rubro tecnologíco. Entenderán mejor que nadie el dolor del área. Yo soy una Citizen Developer, soy Licenciada en Psicología y Técnica en Recursos Humanos, me especializo en analizar el negocio en torno a las áreas de Gestión de Capital Humano, y por otro lado lidero la implementación de proyectos de Tecnología en esta área, ¿por qué agrego un valor diferente? Porque el cliente comprende que hay un profesional con conocimiento de sus procesos que entiende sus dolores y desafíos y que lo va a acompañar desde ese saber, a atravesar su gestión de cambio y transformación cultural. Esto no quiere decir que dentro de los proyectos no deban existir roles de TI, nada más alejado. Vuelvo a repetir lo que comentaba en párrafos anteriores, el enfoque multidimensional enriquece la solución a entregar, y es por eso que varios profesionales trabajamos para desmenuzar un problema común.
La segunda necesidad responde a la agilidad. En el proceso clásico de desarrollo de software que compartí anteriormente se puede deducir la existencia de una demora considerable en la entrega del producto. En este punto es necesario incorporar alguna de las metodologías ágiles existentes (Scrum, Agile, LEAN) que puedan acompañar una gestión dinámica de los proyectos y que sean capaces de organizar a un equipo en entregables para que el cliente conozca pequeños trozos de su aplicación y las correcciones se hagan de forma casi inmediata. Generalmente estos entregables se realizan cada 2 semanas, donde se presenta al cliente lo trabajado y ahí mismo se conversan los cambios. Trabajar en este marco de agilidad no es fácil, pues requiere de habilidades como la flexibilidad y apertura al intercambio.
Comunicación… valor fundamental de todo proyecto, ni que hablar de la vida en general. De la situación planteada al inicio se infiere que no hubo un correcto intercambio entre el cliente y el equipo de desarrollo. En la estructura de todo proyecto debe existir el rol de Project Manager, que es quien será responsable de la comunicación con el cliente y con su equipo. Vamos a imaginar el siguiente escenario: un área de Administración y Finanzas requiere una solución para rendición de viáticos (dinero otorgado a colaboradores que viajan fuera del país), ¿cómo responderá el líder de esta área si descubre que la persona responsable de gestionar el equipo para el desarrollo de esta aplicación es un Contador especializado en Gestión de Proyectos de Tecnología?
La invitación está abierta a reflexionar sobre la necesidad de cambiar la estructura del rubro de desarrollo de software, virando desde el objetivo de base. Debemos dejar de ser una industria de desarrollo de aplicaciones/herramientas/soluciones compulsivas, y nuestro objetivo debe estar centrado en comprender la necesidad final de un grupo de personas que requieren una determinada solución.
¿Cómo sé si soy Citizen Developer? ¿Cómo empiezo? Toooodas esas preguntas y más están contempladas en la segunda parte del blog que se libera a mitad de semana.
Buen comienzo de semana para todos :)
Comentarios