domingo, 2 de octubre de 2011

Cuando el medio se convirte en el fin, es el fin del medio

Foto de dcJohn
Cuando empecé a estudiar las metodologías ágiles, uno de los temas más recurrentes con los que me encontraba era la documentación: es necesario, no es necesario, cuánto y cómo... Fue en el libro User Stories Applied donde encontré la respuesta más coherente:

Extensive upfront requirements gathering and documentation can kill a project in many ways. One of the most common is when the requirements document itself becomes a goal.

El problema, es que creo que con las metodologías ágiles está ocurriendo lo mismo: se han convertido en el objetivo, no en un medio para lograrlo. Por ejemplo, en varios cursos de Scrum he visto como al comentar ciertos problemas que otros colegas tienen al aplicarlo, con frecuencia se llega a una de estas conclusiones:
  1. Realmente no estás siguiendo Scrum.
  2. Se ha intentado aplicar Scrum donde no era aconsejable.
Incluso, en ciertos entornos o circunstancias, los que no programan haciendo TDD, junto a otro compañero, en intervalos de 25 minutos, pueden parecer "raritos", cuanto menos.

Si tuviera que destacar algo del equipo en el que estoy actualmente, no sería la arquitectura que usamos, ni la metodologías, ni las herramientas, ... De esto simplemente diría que los usuarios están contentos con los resultados, los jefes también y, por supuesto, nosotros mismos. Así que podría decirse que el resultado es "good enough". Sabemos que no hemos elegido las opciones perfectas, simplemente, atendiendo al conocimiento que teníamos, elegimos las opciones más adecuadas, intentando mejorar constantemente. Lo que yo destacaría es que no paramos de reírnos. El equipo no se disuelve tras la jornada laboral y el ambiente durante esta es el mismo que puede haber cuando algunos salimos a correr, pescar, cenar, tomar algo, ... En definitiva, nos sentimos a gusto con lo que hacemos, nos lo pasamos bien y el usuario está contento con el resultado. Creo que ese es el objetivo, y no el usar unas determinadas herramientas.

Las metodologías ágiles han demostrado que son una buena apuesta para conseguir buenos resultados; pero no debemos dejar de pensar que son otras herramientas: debemos cargar nuestra caja con el mayor número de ellas para poder elegir en cada momento las más adecuadas. Incluso, cuando las conozcamos lo suficiente, adaptarlas a nuestras necesidades.

Podemos ver un ejemplo de lo que quiero decir en el deporte, concretamente en la natación. Parece que todo está estudiado, existen técnicas para conseguir la mayor eficiencia posible en los movimientos, pero de pronto aparece alguien como Magnussen y bate records con un estilo propio. Se trata de un deportista de élite, que sin duda conocerá perfectamente todas las técnicas posibles, pero al final ha hecho lo más sensato: nadar de la forma que mejores resultados le proporciona, sin fijarse si cumple con lo establecido o no.

También quiero aclarar que mi intención no es sacar el dedo acusador, esta entrada me señala a mí el primero. Reconozco que he probado ciertas cosas simplemente porque es lo que parece que todos hacen. Mi intención es madurar en este sentido e intentar no perder de vista que el objetivo es hacer software de calidad.

En resumen, yo diría que en cualquier actividad (deporte, natación, fotografía, ...) no debes demostrar que sabes hacerlo, céntrate en hacerlo lo mejor posible.

4 comentarios:

  1. Totalmente de acuerdo, el problema es que mucha gente no comparte esa visión. La verdad es que contradice casi todo lo que me contaron en el curso de ayer de Gestión de Proyectos

    Y como parte del equipo me alegro mucho de lo que hemos conseguido entre todos, estoy muy orgullosa de mis chicos!

    Un beso

    ResponderEliminar
  2. Pues no hagas caso al curso, que mira lo bien que nos va así ;)

    ResponderEliminar
  3. Completamente de acuerdo Gregorio.
    Tenemos que desaprender lo que nos han "rayado" los modelos tradicionales en los que alcanzar la metodología es el fin.
    Porque en agilidad la metodología es el principio.
    Es el manual de gramática para poder llegar a ser escritores.
    En agilidad el fin es, poder flexibilizarla y pasar el "know how" de lo que dice la metodología a la gestión con el criterio de la persona...
    Aquello de "las personas por encima de las metodologías" ;-)

    Un abrazo.

    ResponderEliminar
  4. Gracias por pasarte Juan.

    También debemos pensar, como alguien una vez puso en Twitter, 'No hay "best practices" dependen del contexto.' Como ves, me la apunté ;)

    Un abrazo!

    ResponderEliminar