Por Alejandro Bianchi*
Las organizaciones del futuro, tenderán a estructuras conformadas por equipos que serán responsables de punta a punta del ciclo de vida de una o más aplicaciones.
Las empresas digitales se caracterizan por ser altamente disruptivas, ágiles y adaptables a los cambios que le demandan sus mercados y fundamentalmente sus clientes. Estas empresas incrementan el valor de sus ofertas a partir de crear ecosistemas con otras compañías, generando robustas – y en algunos casos complejas- integraciones entre ellas, y en las que la utilización de datos e información es crítica al momento de tomar decisiones y conocer en profundidad a sus clientes.
A diferencia de las empresas tradicionales, no deben lidiar con plataformas legadas que, en muchos casos, frenan los procesos de transformación. Pero de todas maneras deben encontrar los mecanismos para que, sin perder capacidad de adaptación, no caigan en el caos y la mala calidad de sus productos y servicios en donde la tecnología tiene un protagonismo más que relevante. En este sentido gestionar la demanda del negocio y balancearla con la evolución técnica de su plataforma digital es todo un desafío.
La definición de procesos de priorización, asignación de recursos, (técnicos, humanos y económicos) son un factor crítico de éxito. Esto se debe complementar con la utilización de métodos de trabajo que den verdadera agilidad a los equipos de desarrollo.
Esto se logra a través de la elaboración del proceso de desarrollo por parte del equipo en función a los requerimientos del producto y las restricciones del contexto, aplicando las mejores prácticas que en cada caso sean necesarias.
No es solamente aplicar uno u otro método de moda, sino más bien responder con claridad y objetividad a las preguntas: ¿Cuál es la mejor manera de desarrollar este producto?, ¿cuáles son las prácticas críticas tanto de gestión como de ingeniería que se necesitan?, ¿Qué indicadores son relevantes para este contexto? y ¿cuál es la composición del equipo que asegure cumplir con los requerimientos del producto? Las respuestas a estas preguntas ayudan a definir el proceso adecuado por sobre simplemente aplicar cual o tal método ágil.
El otro aspecto fundamental es la autogestión de los equipos y en este sentido es importante entender que es imposible que hoy alguien sea “full stack”, como muchas veces se ve en pedidos de profesionales. Lo que debe ser “full stack” es el equipo a partir de integrarlo con los especialistas necesarios para cada instancia del proyecto logrando una verdadera cohesión y autogestión porque cada especialista asume el liderazgo en la instancia en donde su expertise es necesaria y tomando las decisiones adecuadas y consensuadas con el resto del equipo.
Las empresas exitosas en el mundo digital gestionan sus proyectos de esta manera haciendo uso de la experimentación y aprendiendo continuamente volcando ese conocimiento en nuevas prácticas que las vuelvan más ágiles y más centradas en sus clientes.
Los diseñadores de interfaces de usuario, (UX, CX), deben asegurar las mejores experiencias para los clientes y usuarios de la plataforma digital. Los científicos e ingenieros de datos tienen y seguirán teniendo una relevancia destacada puesto que las empresas digitales giran alrededor de datos e información y la identificación de patrones y la toma de decisiones para entender mejor a los clientes y al mercado es un factor de supervivencia.
En relación al organigrama, las empresas digitales tienen estructuras mucho más horizontales, de manera de facilitar la comunicación y la conformación de equipos auto gestionados. Las organizaciones del futuro, si lo vemos desde la visión del paradigma de DevOps, tenderán a estructuras conformadas por equipos que serán responsables de punta a punta del ciclo de vida de una o más aplicaciones, esto quiere decir que no solo serán responsables del desarrollo, sino también de la evolución de las mismas y también de su operación. El trabajo de estos equipos estará coordinado por equipos de soporte técnico que los apoyaran en cada caso en donde deben intervenir, tanto sea para resolver problemas como para incorporar una nueva aplicación.
El rol del project leader debe ser facilitador del trabajo de los equipos, haciendo su rol a partir de buenos mecanismos de comunicación no solo con el equipo, sino también con el resto de los stakeholders del proyecto, conocer bien las técnicas de estimación y planificación en contextos de cambios constantes y trabajo bajo grandes exigencias de calidad.
Un buen líder debería, tener al menos algunas de las siguientes características:
• Conocer muy bien el dominio del negocio
• Poseer buena capacidad de comunicación a todos los niveles
• Saber conformar equipos de trabajo
• Poseer experiencia en negociación
• Saber motivar a sus equipos
• Dominar técnicas para resolver conflictos
• Poseer suficiente background técnico como para entender riesgos técnicos y poder dialogar con arquitectos y desarrolladores
• Poseer sólidos conocimientos técnicos de planificación y gestión de proyectos en diferentes contextos.
(*) Presidente de Liveware