Como algunos sabrán, el desarrollo Ãgil (Agile) es una metodologÃa de procesos que permite a las empresas producir software con más rapidez. Se trata de un método colaborativo incremental que apunta a producir software de alta calidad de manera oportuna y eficaz en función de costos.
En los comienzos del desarrollo ágil, las aplicaciones a las que este método estaba destinado tenÃan un alcance más reducido y usos de negocio relativamente directos. Hoy el panorama es completamente distinto. Puesto que las empresas quieren aplicar el desarrollo Ãgil a un conjunto más amplio de proyectos, esta metodologÃa debe adaptarse para abordar las numerosas complejidades técnicas, organizacionales y de negocios que hoy enfrentan las organizaciones de desarrollo de software.
Para analizar adecuadamente el costo de la transición hacia el desarrollo Ãgil, se deben considerar los costos y los beneficios, teniendo en cuenta las reducciones de los riesgos del desarrollo. Por ejemplo, un compromiso con una metodologÃa Ãgil requiere cambiar la forma en que los ingenieros dedican su tiempo y encaran todas las actividades de desarrollo. Aquà se destacan algunos puntos clave que explican por qué existe ese cambio de foco, que incluye:
– Personas e interacciones (más que procesos y herramientas)
– Software que funcione (más que documentación integral)
– Colaboración con clientes (más que negociación de contratos)
– Respuesta al cambio (más que seguir un plan)
Quien se proponga adoptar esta metodologÃa también deberá considerar el papel que desempeñará como gerente. La mayorÃa de los gerentes de programas de desarrollo Ãgil y ligero suelen adoptar el enfoque de mantenerse al margen. Permiten a los miembros del equipo liderar aspectos especÃficos de proyectos para promover el tipo de entorno que se necesita para permitir una transición más exitosa al desarrollo Ãgil y ligero.
El desarrollo Ãgil aumenta la eficiencia de un equipo en la provisión de software, lo cual se traduce en satisfacción de clientes y aumento de los ingresos. La eficiencia tiene que ver con eliminar el desperdicio en una actividad en particular, que puede o no tener un impacto en el objetivo más amplio. Sin embargo, la eficiencia no siempre implica que uno esté haciendo lo correcto o haciendo las cosas en el orden correcto. La eficiencia es un concepto más grande y más importante, porque supone lograr un objetivo.
Entre otros principios importantes del desarrollo Ãgil se encuentran el involucramiento constante de los clientes y, como se mencionó brevemente, la colaboración permanente de los equipos. El feedback de las partes interesadas acerca del código en funcionamiento y el desarrollo con test-drive son también aspectos esenciales para implementar un proyecto exitoso. Las partes interesadas –que incluyen al personal de negocios, operaciones y soporte, y otros profesionales de TI empresarial-deben participar desde el principio y con frecuencia en los proyectos de desarrollo ágil durante toda la vida del proyecto, con un rol activo en las iniciativas de modelado y testeo, y a veces incluso en la fase de desarrollo. Esta activa participación les permite ver cómo funcionan los esfuerzos de desarrollo de software “desde adentroâ€. Motiva a los desarrolladores a concentrarse en las prioridades de sus interlocutores en lugar de sus propias prioridades que tal vez no mejoren el uso que se da al producto.
Estos principios sirven de base a las empresas para prepararse y responder rápidamente a los requisitos cambiantes. Por ejemplo, utilizando Scrum (in método de desarrollo ágil que toma su nombre prestado de una jugada de rugby), se lleva a cabo una reunión (“scrumâ€) diaria con todos las partes interesadas. Todos los dÃas, los desarrolladores responden tres preguntas:
1.   ¿Qué ha hecho desde ayer?
2.   ¿Qué planea hacer hasta mañana?
3.   ¿Tiene algún problema que le impida cumplir su objetivo?
Esta reunión diaria asegura que todos asuman la rendición de cuentas por lo que están haciendo y que sus compañeros de equipo puedan señalar errores e incompatibilidades antes de que se conviertan en catástrofes. También asegura que alguien pueda responder de inmediato si surge alguna emergencia.
Al Desarrollo Ãgil suele criticársele ser indisciplinado: algo muy alejado de la realidad. La comunicación y la disciplina son los dos componentes fundamentales del Desarrollo Ãgil. Cuanto más corto el ciclo, mayor la disciplina que se requiere para hacerlo funcionar; por ejemplo, la capacidad de dar valor de negocios concreto y medible a modo de software que funcione en cada iteración.
Si bien la disciplina en el desarrollo de software sigue estando abierta a debate, hay algo indudable: el interés en el desarrollo ágil y magro va en aumento. Por ejemplo, en IBM solamente, en los últimos dos años, la cantidad de proyectos de desarrollo ágil aumentó de 5 a 200.
Sue McKinney es vicepresidente de transformación e integración de desarrollo en IBM. Actualmente es responsable de las actividades transformacionales de desarrollo en el Grupo de Software IBM.
