Los principios que rigen el lean software development
El lean software development, o desarrollo software ajustado, se inspira en el enfoque del mismo nombre aplicado a los sistemas de producción. A este modelo productivo también se le denominó "producción justo a tiempo" y surgió por primera vez en las plantas de manufactura de Toyota. Esta filosofía de gestión de procesos transformó totalmente el enfoque de la fabricación de automóviles, que evolucionó hacia un modelo más responsable, mucho más sostenible y a la vez más eficiente. El lean software development se originó a partir de unpopular libro deTom y Mary Poppenieck que interpretabalos principios de manufactura esbelta para el desarrollo de software. Sus beneficios han contribuido a la rápida propagación de esta metodología, que hoy día se encuentra ya muy extendida entre la comunidad global de desarrolladores.
Los principios rectores del lean software development
Existen una serie de claves que configuran este modelo de desarrollo. Su aplicación es condición necesaria para la existencia del ajuste y por ello se conocen como los 7 principios fundamentales del lean software development.
Son los siguientes:
1. Eliminación de desperdicios: en un entorno productivo industrial es sencillo localizar los desperdicios, que llegan en forma de sobreproducción, transportes innecesarios, inventarios o tiempos de espera. En el ámbito del desarrollo software habría que intentar evitar:
- Codificaciones innecesarias.
- Inicio de más tareas de las que pueden ser completadas.
- Retrasos en el propio proceso de desarrollo de software.
- Requisitos poco claros o sujetos a constantes cambios.
- Comunicación lenta o ineficaz.
- Defectos y problemas de calidad.
- Cambios de tarea injustificados.
2. Aseguramiento de la calidad de la estructura: cuando se parte de una base sólida y fiable se pueden evitar problemas de calidad. Una buena planificación y la aplicación de las mejores prácticas son la clave de este principio del lean software development que requiere de:
- Una retroalimentación constante.
- La minimización de plazos entre cada etapa y la siguiente.
- El aumento de la frecuencia de integración.
- La automatización.
3. Creación de conocimiento: es la clave para dotar de mayor flexibilidad a los equipos al tiempo que se sientan las bases de la productividad a largo plazo. Algunas de las acciones que permiten generar este valor son:
- Las revisiones y notas sobre los códigos.
- La creación de documentación.
- La elaboración de una base de datos informativa sujeta a actualizaciones.
- Las puestas en común de conocimiento.
- Las iniciativas formativas.
4. Aplazamiento del compromiso: lo que no tiene nada que ver con la indolencia, sino más bien con todo lo contrario, ya que busca comprometerse responsablemente para lo cual, en muchas ocasiones, es necesario retrasar la toma de decisiones por dos motivos:
- Mantener todas las opciones disponibles el mayor tiempo posible.
- No garantizar un resultado hasta que no se tiene la absoluta certeza de que se va a poder cumplir con el acuerdo.
5. Entregar rápido: tras un inicio tan temprano como sea posible el objetivo debe ser evitar la complejidad y simplificar al máximo. El lean software development va en contra de los excesos, que tan habitualmente se cometen en términos de arquitectura y requerimientos de negocio. Para lograrlo, además de eliminar desperdicios, como recomienda el primero de los principios, hay que:
- Contar con personal cualificado, debidamente formado y, a ser posible con experiencia en el desarrollo software.
- Buscar la manera más simple de cumplir con los objetivos.
- Trabajar en equipo.
- Asegurar que se cumplen los estándares de calidad.
6. Respetar a las personas: de esta forma se consigue una mayor motivación que tiene una traducción directa en los niveles de productividad alcanzados. Este mayor rendimiento individual responde al reconocimiento y la autonomía, dos elementos que el responsable de la gestión de proyectos de lean software development debe procurar.
7. Optimizar el todo: hay que tratar de evitar que el foco de atención recaiga sobre un elemento en particular ya sean los plazos, los costes o los procesos. Cuando esto sucede la tendencia a compensar aumenta la carga en otras áreas que comienzan a perder ajuste. Conseguir aplicar este principio de forma correcta requiere de un modelo de liderazgo comprometido con la gestión ajustada y consciente de la necesidad de buscar un equilibrio.