¿Que es Agile?

admin

September 21, 2019

agile

No Comment

Ágil.- Que se mueve con ligereza y facilidad.

Eso es Agile. Es la capacidad de adaptación y respuesta al cambio.

Si pensamos en agilidad, probablemente pensemos en el chita, el depredador más rápido del mundo, y asociemos agilidad con velocidad, después de todo, el chita puede ir de 0  a 120 km / hora en 3 segundos. Luego, creemos que Agile nos permitirá desarrollar rápido, ir de un boceto a un sistema funcionando en 3 semanas.

Pero esto no es así. Estamos en que el chita es ágil por que es ligero, pero realmente es de los menos se adaptan a los cambios del entorno. Agile es sobre velocidad, si, pero velocidad de adaptación.

Agile es conocer tu ambiente, identificar la incertidumbre y descubrir cómo adaptarse y avanzar. Luego, te enfocas en lo que te dé capacidad de adaptación. Aquí entra el manifiesto Agile, en donde se valora más lo que da más agilidad:

agile-meme-drake
agile-meme-drake

Individuos e interacciones sobre procesos y herramientas, esto es menos burocracia y más colaboración. Seguir un proceso por seguirlo, por que es el proceso, es un fin en sí y no un medio como debería de serlo. Si algo puede resolverse con una plática informal, con un acuerdo de pasillo, no hay necesidad de tanto trámite.

Software funcional sobre documentación exhaustiva, esto es resultados tangibles sobre papeleo, es enfocarse en el entregable, en la solución, no perderse en los documentación o retrasar la entrega de algo funcional, provechoso, de gran valor por algo que no tiene tanto impacto. Es el Pareto, el 80 – 20 aplicado.

Colaboración con el cliente sobre negociación contractual, esto es enfoque en requerimientos actuales y no en los pasados o iniciales. Los requerimientos cambian, los negocios cambian, el mundo cambia, y es mejor tener una verdadera asociación, ser un colaborador, un compañero, que un proveedor. Los contratos toman tiempo, son rígidos, se escriben sobre piedra, son inamovibles, no se pueden romper. La colaboración son acuerdos sobre la marcha, brinda una capacidad de mejora continua, una retroalimentación de primera mano, de quién usará nuestras soluciones.

Responder al cambio sobre seguir un plan, esto es flexibilidad sobre rigidez, sensatez sobre arbitrariedad. Seguir el plan al pie de la letra nos llevará al resultado que esperamos, sí, pero ese resultado probablemente no sea el más beneficioso ahora, como cuando se realizó el plan. Por ello, responder al cambio es esencial, es vital y la razón de ser de ágil.

 

Si nos fijamos bien, se le da más valor a lo que tarda menos y da más beneficios, y se le da menos valor a lo que tarda más y no garantiza beneficios. Así es como tomamos agilidad.

Esto lleva a otros mitos: En Agile no se documenta, en Agile no se planea, en Agile no se administra, no se diseña. Esto es totalmente falso. Si, se valoran más las interacciones, las colaboraciones, el cambio, pero no quiere decir que los otros factores no existan, no se realicen, todo lo contrario, se realizan ágilmente, sin paja, con lo esencial, con lo importante.

El manifiesto Ágil nos da una clara idea de la intención y el propósito de la iniciativa, y sus principios sientan las bases del pensamiento ágil.

agile-principles-meme
agile-principles-meme

Principio número uno: Nuestra máxima prioridad es satisfacer al cliente a través de la entrega temprana y continua de software valioso.

Entrega temprana, continua y valiosa.

Los clientes, por que todos somos clientes de alguién, somos los número uno, siempre somos primero y queremos soluciones, resolver nuestros problemas, y los queremos resolver ya. Así somos todos nosotros. Por ello, el enfoque ha de ser el valor, las necesidades primordiales del cliente, ¿que resuelve la mayor cantidad de sus problemas?, la prontitud: ¿Que podría resolverlas lo más rápidamente?

Principio número dos: Bienvenidos los cambios a los requerimientos, incluso tarde en el desarrollo. Los procesos ágiles aprovechan el cambio para la ventaja competitiva del cliente.

Bienvenidos los cambios.

De un día para otro, nuestras condiciones cambian, podemos darnos cuenta de que necesitamos una solución diferente a nuestros problemas o que teniendo algo más o de diferente manera, nos beneficiamos más. Podríamos haber ordenado pintar un cuarto para nuestro bebé próximo a nacer de azul, pero ¡oh sorpresa! Será una niña, ahora hay que pintarlo de rosa.

Principio número tres: Entregar software funcionando con frecuencia, desde un par de semanas hasta un par de meses, con preferencia al menor tiempo posible.

Valor, se trata de generar valor, es ver resultados pronto. Uno de los mayores problemas con los proyectos de software es que necesitan de mucho tiempo para crear grandes programas y ver resultados, el enfoque de Agile es diferente, es entregar en corto tiempo algo funcionando que sirva para los propósitos de los usuarios. No significa que podemos hacer un proyecto de seis meses en tres semanas, significa que tendremos cosas funcionando en tres semanas, no todo el proyecto, el valor generado es acumulativo, probablemente nos tome los mismos seis meses terminar el proyecto, pero no tenemos que esperar seis meses para tener el software funcionando.

Principio número cuatro: La gente de negocios y los desarrolladores deben trabajar juntos a diario durante todo el proyecto.

Históricamente, la gente de negocios y los ingenieros no se entienden, aunque se habla el mismo idioma, no es la misma jerga, es como si fuera un dialecto diferente. Los desarrolladores hablamos en términos no solo técnicos, sino abstractos, con formas mentales. La gente de negocio habla en términos reales, tangibles en la operación actual. Es importante reducir esta brecha, y la forma más ágil, es pasar más tiempo juntos. Es uno de los puntos que es difícil llevar a cabo, pero uno de los que más valen la pena. 

Principio número 5: Desarrollar proyectos en torno a personas motivadas. Brindarles el entorno y el apoyo que necesitan, y confiar en ellos para hacer el trabajo.

Esto es reducir las verticales, la burocracia, los trámites, la cadena interminable de Vistos Buenos. El empoderamiento de los trabajadores en la forma de hacer su trabajo, dejar de lado la micro administración, es en pocas palabras: No estorbar. Otro de los puntos de inflexión con alta resistencia al cambio, tanto para la administración como para los desarrolladores, la costumbre nos mueve a pedir aprobaciones, o en los administradores, a solicitarlas. Agile nos impulsa a tomar responsabilidades y ser proactivos.

Principio número 6: El método más eficiente y efectivo para transmitir información a un equipo de desarrollo y dentro de él es la conversación cara a cara.

Todo lo que podamos arreglar con una plática y acordar en ese momento acciones a seguir, ahorrará mucho tiempo y esfuerzo. Existen muchas formas de comunicación que son mas tardadas y pueden generar malos entendidos más fácilmente, principalmente el correo electrónico. Llamadas telefónicas y videoconferencias también pueden tener problemas de comunicación con el audio muy frecuentemente, y honestamente, se le pone más atención a las personas que tienes enfrente, por ese motivo, se exhorta al trabajo colaborativo presencial.

Principio número 7: El software funcionando es la medida principal del progreso.

Lo que importan son los resultados, ninguna otra cosa. En el desarrollo de software, ni la documentación, ni los Gantts, ni las presentaciones importan tanto como tener una aplicación funcionando, y produciendo, generando valor para el usuario final. Por tanto, nuestro progreso realmente se mide con las funcionalidades que programamos y operan en el mundo real.

Principio número 8: Los procesos ágiles promueven el desarrollo sostenible. Los patrocinadores, desarrolladores y usuarios deberían poder mantener un ritmo constante indefinidamente.

El mundo permanentemente esta moviendose, girando, cambiando, así los negocios, las empresas, las personas. ¿Cuántas veces los proyectos resultan en el tiempo estimado? Muchos se alargan, otros terminan al poco tiempo de haber empezado, las condiciones cambian. Por ello, hemos de mantener una entrega constante, sin necesariamente tener una culminación en mente, sino una mejora e incremento continuos.

Principio número 9: La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.

Para poder construir algo bueno, tenemos que tener una buena definición, un diseño que realmente satisfaga las necesidades del usuario final y que de a los desarrolladores todas las indicaciones correctas para construir excelentes piezas de software. Por otro lado, con una filosofía de artesano, que domina su técnica, los desarrolladores van incrementando su capacidad para producir excelente software.

Principio número 10: La simplicidad, el arte de maximizar la cantidad de trabajo no realizado, es esencial.

¿Cuántos retrabajos hemos tenido que realizar? ¿Cuántas funcionalidades no esenciales que caen en desuso hemos desarrollado? Esto es perder tiempo, dinero, esfuerzo y además baja la moral del equipo de desarrollo. Por ello, concentrarse en las funcionalidades prioritarias es tan importante, si estamos enfocados a desarrollos ágiles, a entregar software funcionando en períodos cortos de tiempo, no tenemos tiempo que perder, maximizar la capacidad es vital.

Principio número 11: Las mejores arquitecturas, requisitos y diseños surgen de equipos autoorganizados.

“Contrata a los mejores y déjalos hacer su trabajo”. Un equipo realmente comprometido e independiente, proactivo y motivado, terminará por generar trabajo de calidad, irremediablemente, ya que saben que tienen que hacer, cómo hacerlo, les gusta hacerlo, tienen buena voluntad, su moral es alta debido a que constantemente se les despejan contratiempos, se pueden concentrar en obtener los mejores resultados, y natural, orgánicamente, se cohesionan y estructuran solos.

Principio número 12: A intervalos regulares, el equipo reflexiona sobre cómo ser más eficaz, luego ajusta su comportamiento en consecuencia.

El monitoreo, la re planeación, la re organización y los cambios acordes en la ejecución, son principios de la administración, es fundamental que en todo proyecto correctamente administrado haya un sistema de control, lecciones aprendidas y mejora de las prácticas, los procesos y el desarrollo del equipo. Es lógico que pongamos atención en cómo podemos mejorar nuestro ambiente, nuestra forma de trabajar, para evitar errores, evitar re trabajos, disminuir la merma, el desperdicio, lo que irremediablemente incrementará la eficiencia.

agile-mentality-meme
agile-mentality-meme

Agile es a final de cuentas una mentalidad: Enfocarte en los resultados, en maximizar el valor, en no trabajar por trabajar sino enfocar el esfuerzo colaborativo hacia una meta clara y alcanzable. A final de cuentas es sentido común, lógicamente pragmático, es método, es ciencia, es pensar, diseñar la mejor opción que se nos ocurra, inmediatamente tener retroalimentación, realizar ajustes y experimentar de nuevo. 

Esto está reflejado en los principios y en los valores especificados en el manifiesto, una mentalidad orientada a resultados y a la mejora continua, dejando de lado las viejas malas prácticas de micro administración, burocracia y explotación, en un entorno en que el desarrollador tiene la facultad de explotar sus capacidades, de tomar la mejor decisión de lo que puede desarrollar y donde se siente motivado a mejorar, donde no hay trabas, donde se puede concentrar en producir excelente software, de forma adaptativa, aun y por que el entorno es permanentemente cambiante. 

Es responsabilidad y autoridad de cada equipo formar su metodología Agile, teniendo en cuenta los valores, los principios y la mentalidad Agile. Existen frameworks, marcos de trabajo, un conjunto de criterios, de prácticas, de conceptos, son una referencia, pero la metodología es inherente al equipo. De hecho, a partir de solo los valores y los principios, podríamos desarrollar nuestra propio marco de trabajo.

 

Agile suena maravilloso, ¿no lo creen? Debe serlo, fué hecho por desarrolladores de software, para los desarrolladores de software. Aunque no deja de tener retos importantes, esta mentalidad ágil resulta bastante provechosa.

Leave a Reply

Your email address will not be published. Required fields are marked *