Follow me:
Search
Follow me:
Search
Follow me:
Search
Aplicar el desarrollo del software a las organizaciones

Aplicar el desarrollo del software a las organizaciones

En los últimos años, el tema de la evolución de los métodos de organización se ha convertido en un punto central de reflexión para el mundo del management. Se prevé un cambio de las organizaciones burocráticas y jerárquicas hacia nuevos estilos basados en la auto-organización y el liderazgo contextual.

Algunos de estos enfoques derivan de experiencias y reflexiones nacidas en el campo de la informática, en particular, de la aplicación de las metodologías Agile, pensadas para mejorar la gestión de proyectos de desarrollo de software o de aplicaciones, hasta abarcar contextos mucho más amplios, tanto que hoy en día llegamos a hablar de Agile Organizations.

Sin embargo, si las tecnologías evolucionan a una velocidad exponencial, la capacidad de las organizaciones para evolucionar y comprender plenamente los beneficios de la revolución digital es, en el mejor de los casos, lineal. Esto crea una brecha cada vez más profunda entre lo que se podría lograr y las capacidades de las organizaciones para avanzar en esta dirección y aprovechar las oportunidades que subyacen a esta transformación.

Para cerrar esa brecha no es suficiente hacer mejor lo que se está haciendo, esforzarse más o correr más rápido: de esta manera, la frustración y la inadecuación solo pueden aumentar. El salto que deben dar las empresas para cosechar los beneficios de la transformación digital y evitar su destrucción es, ante todo, un paso de discontinuidad interna: abandonar los viejos paradigmas y formas de hacer y abrazar la nueva era de la organización digital.

Si consideramos los elementos que están detrás de los estilos organizacionales más modernos, podemos identificar dos temas clave: la centralidad y empowerment de los equipos y la colaboración continua. Dar centralidad a los equipos significa organizar el trabajo a través de estructuras temporales, capaces de reunir todas las habilidades y recursos necesarios para lograr un objetivo específico y dotar a los equipos del empoderamiento necesario para llevarlo a cabo.

Dar poder a los equipos significa restarlo (o compartirlo) de los ejecutivos funcionales, permitir que cada equipo se auto-organice en función de las necesidades reales y no sobre la base de estructuras y reglas predefinidas. Los equipos pueden crearse rápidamente, disolverse o fortalecerse, secundando la evolución de las prioridades de la empresa de manera extremadamente rápida. Estas estructuras pueden funcionar en paralelo con el core business, siguiendo el modelo dual de Kotter, pero sería incluso mejor si toda la organización asumiera esta nueva fisonomía.

Mientras que parte de la atención se centra en las lógicas y las dinámicas del funcionamiento interno de los equipos, otra parte se dirige hacia las relaciones con los actores externos, en primer lugar, los stakeholders. El principal objetivo suele ser romper las barreras existentes que interrumpen el flujo de información y actividades. Interrumpir el funcionamiento “por silos” de una buena parte de organizaciones.

Según estos principios, se han desarrollado y afirmado en el tiempo algunas metodologías, aunque con una madurez y difusión muy diversificada, que tocan todas las fases del proceso: del análisis de necesidades y objetivos, al desarrollo, hasta el lanzamiento de funcionalidades.

Las metodologías más modernas tienen en el análisis sistemático de los objetivos el elemento clave. Este tipo de análisis no tiene lugar sólo al comienzo del proyecto, los requisitos son elementos ‘vivos’, que pueden variar con el tiempo y que se refinan y detallan gradualmente para llegar a las especificaciones necesarias para el desarrollo.

Las metodologías Agile, y en particular SCRUM, son especialmente adecuadas para este enfoque, porque dividen el trabajo en ciclos de análisis y desarrollo de duración limitada, con el objetivo de proporcionar la máxima flexibilidad en la composición del producto y mantener un alto nivel de control sobre las actividades.

El objetivo de crear sistemas que funcionen al final de cada ciclo iterativo pone al equipo en confrontación directa con el usuario/stakeholder, que puede verificar desde el principio lo que se está logrando. A partir de este feedback, es posible modificar el contenido de las entregas posteriores, incorporando los cambios requeridos de inmediato.

La velocidad y el enfoque iterativo de las metodologías Agile se anularían si no fuera posible liberar continuamente lo que se ha producido en los diferentes ambientes. Por esta razón, se ha desarrollado el concepto de DevOps, para eliminar las barreras y los malentendidos entre estos dos mundos: por un lado, quién se ocupa del proyecto, por el otro, quién controla la calidad de lo que se ha producido.

DevOps es una práctica que tiene como objetivo unificar el desarrollo del software (Dev) y la operación del mismo (Ops). Permite la automatización y la monitorización en todos los pasos de la construcción del software, desde la integración, las pruebas, la liberación, hasta la implementación y la administración de la infraestructura. Responde a una verdadera filosofía de colaboración constante entre desarrollo y operaciones, basada en la estandarización y automatización de los lanzamientos de aplicaciones, hasta llegar a la entrega continua.

Está claro que no tiene sentido adoptar estas metodologías del mundo del software e intentar aplicarlas dentro de un contexto organizacional sin cambios, o pensar en confinarlas solo a porciones limitadas de la cartera de operaciones, proyectos experimentales o lejos del core business de la compañía. Es en el núcleo central de las organizaciones que la transformación es más urgente y puede dar mayores beneficios. El objetivo debe ser llevar a la empresa, a toda la empresa, a una nueva era.

Por Andrés Raya

Join the discussion