Filosofía Lean aplicada a la Ingeniería del Software 1. Introducción, Objetivos y Alcance 1 Introducción, Objetivos y Alcance En la última década, si bien la preocupación por la reducción de costes y la mejora de la productividad ha sido una constante, la explosión de la reciente crisis mundial la ha convertido en la tónica que se hace patente en cualquier medio de comunicación, nacional o extranjero prácticamente a diario. En el difícil contexto económico actual, donde uno de los principales factores de riesgo es la contracción del consumo de productos y demanda de servicios, la filosofía Lean y su visión de la producción toma protagonismo, especialmente si tenemos en cuenta que, en su origen, dio respuesta con éxito a una situación adversa de características similares. Prueba de ello es que la empresa que creó esta filosofía y su principal estandarte en la actualidad continúa con su liderazgo en el sector y demuestra su capacidad de reacción en plena crisis: El grupo automovilístico japonés Toyota registró un beneficio neto de 190.4 mil millones de yenes durante el primer trimestre del año fiscal 2010-2011 (de abril a junio), en comparación con las pérdidas de 77.8 mil millones de yenes contabilizadas en el mismo periodo de 2009 [1]. La filosofía Lean se fundamenta en dar un protagonismo especial al componente humano de la producción y en una declarada vocación de mejora continua. Cuestiones como la visión a largo plazo, el esfuerzo por afrontar nuevos retos, el espíritu de mejora continua, el respeto por las personas y el trabajo en equipo son términos que sientan las bases sobre la que se construye el éxito de esta filosofía. Desde sus orígenes, estas ideas se han ido perfilando en la forma de una serie de principios para llevarlas a cabo y que en 2001 acabarán plasmándose en el llamado “Manual de Estilo Toyota”. Basadas en estos principios, existe un conjunto de técnicas y prácticas, algunas de ellas bastante extendidas y aplicadas en multitud de disciplinas. La aplicación de éstas continúa extendiéndose, así como nuevas prácticas van surgiendo para dar respuesta a nuevos problemas, sin apartarse del camino trazado por los principios de esta filosofía. Miguel Ángel Moreno Martín Página 1 de 125 Filosofía Lean aplicada a la Ingeniería del Software 1. Introducción, Objetivos y Alcance En cuanto al enfoque con que se trata el proceso de producción en particular, gira en torno a tres ideas básicas: Fabricar únicamente lo que se necesita. Eliminar aquello que no añada valor al producto. Detener la producción si algo va mal y corregir la fuente del error. Dada la efectividad que demuestra esta filosofía en aquellas disciplinas donde se encuentra asentado, está emergiendo el interés por la adaptación de esta filosofía para la mejora de servicios y productos “intelectuales”, entre los cuales se encuentra la Ingeniería del Software. Esta disciplina tiene como objetivo fundamental dar soporte a otras áreas de negocio y prácticamente está presente de manera más o menos directa en todo aquello que nos rodea. Su importancia se pone de manifiesto porque dada su naturaleza “de apoyo” a sus resultados, para bien o para mal, inciden directamente en los resultados del ámbito al que se aplique y en la actualidad parece aceptado que el empleo de las TIC (Tecnologías de la Información y Comunicaciones) jugará un papel fundamental en la mejora de la productividad y competitividad de las empresas para salir de la crisis. Por otra parte, emergen nuevos modelos de negocio. Son los modelos “basados en la nube (cloud)”: IaaS, PaaS y SaaS, donde el servicio ofrecido es el uso de una infraestructura hardware, el uso de una plataforma (hardware + software base) o el uso de una aplicación a través de Internet. Estos modelos, mucho más exigentes, han de dar respuesta a un potencialmente elevado número de usuarios, disponibilidad 24x7x365 y una calidad en la velocidad de respuesta adecuada en todo momento, teniendo que afrontar una demanda fluctuante con grandes picos y valles. Estas características los hacen buenos candidatos para aprovechar los beneficios de la aplicación de la filosofía Lean con éxito. El objeto del presente trabajo es pues, la exposición del estado del arte actual de la aplicación de los principios de la filosofía Lean a la Ingeniería del Software y servir de base para futuros trabajos: de ampliación, con un mayor número de referencias o de avance en la búsqueda de una aplicación práctica más allá de la exposición de la situación actual y que pueda servir para la elaboración de una guía de implementación, quizás la carencia más significativa que se ha puesto de manifiesto en la literatura revisada. Miguel Ángel Moreno Martín Página 2 de 125 Filosofía Lean aplicada a la Ingeniería del Software 1. Introducción, Objetivos y Alcance El contenido se ha estructurado en 8 apartados principales: 1 Introducción, Objetivos y Alcance 2 La Ingeniería del Software 3 Filosofía Lean 4 Lean aplicado a la Ingeniería del Software 5 Conclusiones 6 Trabajos Futuros 7 Glosario de términos 8 Bibliografía Tras esta introducción, se dispone un apartado dedicado a la Ingeniería del Software, donde se definirá este y otros conceptos relacionados, se verá la problemática inherente a esta disciplina, un conjunto de modelos de procesos o estrategias de aplicación, para finalizar con una revisión de una serie de metodologías que darán sustancia a estos marcos proceso, distinguiendo entre aquellas que responden a enfoques tradicionales y las de enfoques más actuales, fundamentalmente aquellos conocidos como enfoques ágiles. Posteriormente, se hace una exposición de los principales conceptos, principios y técnicas relacionados con la filosofía Lean y para los que se ha encontrado referencia en el ámbito de la Ingeniería del Software. El ánimo de este apartado es dar una visión más o menos somera de cada uno de los elementos en su concepción original para facilitar la comprensión de su correspondencia en el apartado dedicado al Lean aplicado a la Ingeniería del Software. A continuación se destacan encontradas de Lean aplicado algunas aplicaciones prácticas, creado en el apartado de filosofía las referencias más significativas a la Ingeniería del Software y siguiendo un esquema similar al Lean para facilitar su lectura. Posteriormente se expondrán aquellas conclusiones arrojadas como fruto de la literatura revisada, los trabajos futuros que podrían apoyarse en este estudio, un glosario de términos y la bibliografía revisada para la redacción de este texto. Miguel Ángel Moreno Martín Página 3 de 125