Las reglas de oro del lean software development
El lean software development se basa en el ajuste para promover un modelo de gestión que, pese a tener su raíces en entornos industriales y manufactureros (Toyota es un gran exponente de este modo de trabajar), es una de las formas de project management más extendidas hoy día en los proyectos informáticos. Su meta principal es la creación de valor, un fin que se debe preservar de modo prioritario y en condiciones de economía de recursos y esfuerzo. Ésta es la forma de conseguir mejores resultados con menos trabajo. Para ello hace falta:
- Optimizar los flujos de trabajo.
- Aumentar la eficiencia de los procesos.
- Minimizar la generación de residuos.
- Aplicar métodos empíricos, basados en datos objetivos, para la toma de decisiones, en vez de intuiciones, subjetividades o ideas preconcebidas.
Los principios del lean software development
Aplicar los principios del lean software development a un entorno de desarrollo informático requiere ser escrupuloso con todos y cada uno de ellos:
1. Eliminación de residuos: prescindir de todo lo que no aporte valor, lo que sea superfluo o innecesario, cualquier elemento ralentizador, la burocracia y todo lo que no quede absolutamente claro.
2. Amplificación del aprendizaje: la retroalimentación, las iteraciones y la sincronización son algunas de las herramientas que facilitan la implementación de esta regla de oro del lean software development.
3. Retraso de la toma de decisiones lo máximo posible: es la única forma de poder acceder al mayor número de alternativas viables y la mejor manera de asegurarse de que se comprender los requisitos y necesidades del cliente. Sólo hay que tener cuenta un aspecto: este retraso se debe producir de forma responsable, no tiene que confundirse con la procrastinación y conviene que se lleve a cabo de forma organizada y como resultado del acuerdo.
4. Entrega lo más pronto posible: es una de las claves para lograr la satisfacción del cliente, además, favorece el progreso del proyecto porque cuando algo está ya entregado no queda tiempo para pedir nuevos cambios sobre esa parte o cambiar de opinión sobre lo ya establecido. Además, es la forma más efectiva de ahorrar costes, ya que se vitan retrasos que son una de las principales fuentes generadoras de gasto en un proyecto. Para lograr llevar a cabo lo dispuesto por este principio del lean software development hay que intentar reducir al máximo los tiempos de ciclo.
5. Dotación de la autonomía suficiente a los equipos de desarrollo: en base a su madurez se les permite una capacidad de decisión ampliada con respecto a otros enfoques de gestión de proyectos. Esta forma de distribuir la responsabilidad conduce a un aumento de motivación automáticamente, que mejora el rendimiento, con los consiguientes efectos positivos sobre la productividad. El liderazgo y la experiencia juegan un papel crucial en un entorno de trabajo de estas características, cuyo complemento idóneo es la formación y que se apoya, invariablemente, en la puesta en común de la situación y el progreso, que sirve para detectar aspectos susceptibles de mejora y proponer soluciones conjuntas.
6. Búsqueda de la integridad: no sólo la que se percibe por parte del cliente al experimentar el sistema, sino la conceptual, la que realmente existe detrás del producto entregado, que es la que consigue la fluidez y buenos resultados esperados. En este área, aplicar ciclos de pruebas es preciso para, junto con la retroalimentación, lograr soluciones optimizadas para resolver cada obstáculo. Claridad y simplicidad deben ser las características más buscadas.
7. Visión global: la recogida de métricas es la forma más habitual de obtener esta visibilidad, la única capaz de aportar la perspectiva necesaria en el lean software development para minimizar los errores y optimizar resultados.