Continúo con la segunda parte del artículo que comencé la semana pasada y que tantos y tan buenos comentarios sugirió. Espero que os guste.
Actualización: La tercera (y última) parte ya está disponible.
Qué es el agilismo
El desarrollo de software ágil (más conocido fuera de España por el vocablo inglés “Agile”) se origina en los años 90 con las llamadas metodologías livianas, en contraposición a las metodologías pesadas, basadas principalmente en procesos burocráticos y prescriptivos, es decir, que suponían que era posible conocer desde el principio todos los detalles del sistema a construir y que, por tanto, estos no iban a cambiar durante el desarrollo. Las metodologías ágiles están basadas en un cambio de paradigma en el desarrollo de software que acepta los cambios durante el desarrollo como una realidad ineludible en la mayoría de los proyectos. Se busca la entrega continua y temprana de valor al cliente, y la excelencia técnica de los desarrolladores e integrantes del equipo, lo cuál incluye al propio cliente y a departamentos tradicionalmente separados del desarrollo como Marketing o QA (Quality Assurance). Por un lado, la gestión de los proyectos se centra en la colaboración con el cliente, el trabajo basado en la priorización de sus necesidades y el retorno de la inversión en el proyecto (ROI). Por otro lado, se buscan técnicas ingenieriles para asegurar la calidad y la estabilidad de los productos desarrollados, durante el desarrollo, no al final, haciendo responsables de este aseguramiento al propio equipo, buscando no volver a trabajar sobre una pieza de software, por ejemplo para resolver un defecto, pues esto se considera desperdicio.
Entre las metodologías ágiles más conocidas podemos citar: eXtreme Programming (XP), Scrum, Crystal Clear o Lean Software Development. El punto de inflexión en la adopción de estos métodos es la firma en 2001 del Manifiesto Ágil, donde Kent Beck (creador de XP) y otros miembros relevantes de la comunidad definen los valores y principios fundamentales de una metodología ágil a partir de las buenas prácticas que, en base a su experiencia, han visto que dan mejores resultados. Actualmente se está dando una convergencia entre estas metodologías surgidas de la observación y las surgidas de la adaptación del sistema de producción Toyota (Lean Software Development), y por ello no es extraño leer términos como “Lean-Agile” o adaptaciones de conceptos como el Just-In-Time o Kanban.
¿Qué ventajas nos aporta el agilismo?
El cambio de paradigma que representan las metodologías ágiles persigue tanto un soporte para la innovación en el desarrollo de productos como una mejora de la eficiencia en base a una mejora de los procesos, un cambio de cultura enfocado a la calidad en los resultados y la satisfacción de todos los implicados: desde el usuario final del producto hasta el propio desarrollador. En un estudio de 2008 realizado en EEUU se destaca que la adopción de métodos ágiles había representado una mejora para el 60% de las empresas mientras que para el 22% había sido una gran mejora, es decir, la abrumadora mayoría mejoran.
Otro nuevo cambio de paradigma, el de la Internet del Futuro, es una revolución que está cambiando los modelos de muchas industrias. Los nuevos líderes de Internet, como Google, Facebook, etc. tienen un fuerte componente tecnológico y se distinguen por ser muy ágiles en el desarrollo de las iniciativas. Porque, en Internet, el posicionarse es algo crítico para el futuro del desarrollo de los proyectos empresariales, como han supuesto ejemplos tan conocidos como YouTube. España no sólo necesita un fuerte sector de TI, sino también un cambio de cultura a la hora de gestionar los proyectos. Necesitamos adoptar modelos de gestión que nos permitan adaptarnos a este entorno de incertidumbre. Modelos dirigidos por valor y donde el estado de “beta” (producto no acabado con el que se busca el “feedback” temprano de los usuarios) sea compatible con un trabajo profesional, donde haya un punto de encuentro entre la ingeniería y la necesidad de adaptarse de manera continua a un entorno en constante evolución. Esto permitirá a España posicionarse como una potencia en el desarrollo de software, pero lo más importante, como uno de los países con equipos de TI capaces de aportar el valor añadido necesario para abordar los retos del futuro.
Pero conseguir estas ventajas tiene un coste. No es simplemente cambiar unos procesos por otros, sino un cambio de cultura profundo en individuos y organizaciones. Esto toma tiempo, como cualquier aprendizaje. Por eso debemos tomar acciones YA; porque, como hemos explicado antes, está demostrado que el cambio de paradigma es una ventaja competitiva importante y debemos buscar este impulso para crear innovación en nuestro sector de las TI en España.
El agilismo fuera de España
Hoy día, las metodologías ágiles se han impuesto como una realidad incontestable en los países punteros en el desarrollo de software (EEUU y su área de influencia, países del norte de Europa y potencias emergentes como India o China). Ejemplo de esto son empresas tan conocidas como Google, Yahoo! o Nokia. El agilismo es una realidad incontestable y en muchos casos un requisito para empresas y trabajadores españoles que quieren competir fuera de España.
Es evidente que nunca podremos competir con India o China en precio: tenemos que tratar de ser innovadores y entregar productos de calidad. Éste debe ser nuestro objetivo.
Hay muchísima literatura bien contrastada con realidad de empresas con éxito implantando métodos ágiles por todo el mundo y multitud de consultoras ayudando en la difícil tarea de implantar estos cambios, pero además también hay comunidades internacionales alrededor de estos temas. El agilismo a nivel internacional está representado por la Agile Alliance, con más de 5000 miembros repartidos por todo el mundo y organizadora de conferencias internacionales de gran prestigio. También cabe mencionar a la Scrum Alliance, que expide las certificaciones profesionales en torno a Scrum más reconocidas a nivel internacional. Y por último, nombrar a la comunidad Ágiles, nacida en Argentina pero con vocación latinoamericana. De hecho, Ágiles va ya por la 3ª conferencia internacional que organizan en 2010 en Perú, lo cuál, de alguna manera, indica un grado de madurez más elevado que el que existe en España actualmente, que apenas vamos por la primera.
Hay otras iniciativas menos relevantes a nivel internacional, pero que poco a poco se están haciendo su hueco, como ScrumManager, fundada en España por Juan Palacio, y que persigue la certificación profesional en Scrum en un marco más abierto que el de la Scrum Alliance.
Incluso organizaciones muy alejadas del agilismo, hasta no hace mucho vistas como antagónicas, como son PMI (certificadores del Project Manager Professional) o SEI (evaluadores del estándar CMMI) ya están incorporando mucho del cuerpo de conocimiento ágil al suyo propio. De alguna manera, estas organizaciones están certificando que hay mucho en el agilismo que merece la pena ser absorbido para sus propios cuerpos de conocimiento.
¿Agilismo en España?
En España, desgraciadamente, el agilismo es muy poco conocido por los profesionales, empresas e incluso en las universidades. Hay muy pocos ejemplos de empresas relevantes en el sector y hay muy pocos estudios y proyectos de investigación al respecto, lo cuál nos está llevando a un cierto analfabetismo en el sector. En poco tiempo, nuestros profesionales y empresas no serán competitivos ni podrán siquiera colaborar con profesionales y empresas extranjeras porque no nos habremos adaptado a estas nuevas formas de trabajar. Mientras otros crean equipos capaces de responder al cliente con incrementos de valor frecuentes, en España seguimos dividiendo los equipos según sus funciones, sin una visión global del proyecto.
Como ejemplo de empresa de relevancia que ha apostado por el agilismo en España podemos nombrar a Telefónica I+D. Hay una interesante sesión en la Conferencia Agile-Spain 2010 sobre cómo han ido integrando prácticas ágiles en Telefónica I+D. Sabemos de experiencias muy aisladas dentro de la administración pública (otra interesante sesión sobre esto en la CAS2010) y de grandes corporaciones como Indra, por ejemplo, pero hoy por hoy no es algo generalizado ni mucho menos. Sin embargo, son las pequeñas startups en Internet las que están apostando decididamente por el agilismo porque son conscientes de que es un valor diferencial que les puede distinguir de su competencia al permitirles, entre otras cosas, reducir el “time to market” (el tiempo que pasa desde que conciben una nueva idea o detectan una necesidad hasta que la pueden poner a disposición de sus clientes) y aceleran el retorno de la inversión, lo cuál es vital en este tipo de emprendimientos, especialmente en el contexto financiero actual, donde el acceso a los créditos está muy difícil.
Me queda la última parte donde explico cómo puede el agilismo impulsar un cambio en el modelo productivo. Como siempre, espero vuestros comentarios.