La mitología es un
conjunto de mitos relativamente cohesionados: relatos que forman parte de una
determinada cultura. Los mitos son relatos basados en la tradición y en la
leyenda, creados para explicar el universo, el origen del mundo, los fenómenos
naturales y cualquier cosa para la que no haya una explicación simple [1]. En el bestiario mitológico de la
humanidad encontramos seres fantásticos que nos hacen soñar o morir de miedo:
el Dragón, el Fénix, el Grifo, el Kraken, el Cancerbero, la Hidra, el
Minotauro, la Escila, el Pegaso y la Sirena, para citar algunos de los más
arraigados en nuestros temores y pesadillas.
Se trata de esa necesidad
inherente al ser humano de aferrarse a lo desconocido y a lo sobrehumano para
entender mejor la realidad que lo rodea, o simplemente para escaparse de esta.
En el caso de los métodos de software, por ejemplo, estas aprehensiones tienen
su origen en la falta de conocimiento teórico-práctico sobre algo específico,
en el miedo o rechazo al cambio o en la fobia a equivocarse de quienes
practicamos el desarrollo de software. Lo que haré a continuación es mencionar
brevemente algunos de estos arquetipos quiméricos que pululan en el universo de
los métodos ágiles en general y de Scrum en particular.
Ágil
no necesita documentación
¡Esta
es la madre de todas las entelequias! Su origen está en ese valor expuesto en
el Manifiesto Ágil que reza: “valoramos software funcionando sobre documentación extensiva” [2]. En ninguna parte del
manifiesto dice que no se hace documentación, esta debe elaborarse justo cuando
se necesita y solamente la suficiente y necesaria y en los formatos más
adecuados, que llegue al público interesado, que entregue valor a la organización.
Y siendo consecuentes con el primer valor del manifiesto, esta documentación no
se requiere producir con herramientas sofisticadas.
Ágil
significa “no hay un plan”
De
hecho, ágil no soporta el desarrollo sin planeación. Los métodos ágiles usan
planeación y estimación continua para maximizar el ROI. En realidad, ágil es
sobre manejo de alcance. La planeación continua permite redireccionar el compás
del proyecto de acuerdo con el entorno cambiante del mismo; también, asegura un
foco consistente en las prioridades del negocio teniendo en cuenta las
restricciones impuestas al proyecto. Además, la planeación constante posibilita
tomar mejores decisiones y comunicarlas más efectivamente. Plan sí hay, solo
que es dinámico y flexible.
Podemos
rastrear el origen de este mito a otro
valor del Manifiesto Ágil que invoca: “valorar la respuesta ante el
cambio sobre seguir un plan” [2]. Otra vez, se trata de un malentendido nocivo
para la industria del software. Este artículo es un intento más por remediar
esa situación.
Ágil es la solución
tipo “bala de plata” a todos los problemas de la ingeniería de software (Existe
una solución tipo bala de plata)
De
todos los monstruos que llenan las pesadillas de nuestro folclor, ninguno más
terrorífico que los llamados licántropos. Para ellos buscamos balas de plata
que mágicamente los hacen desaparecer para siempre.
La
industria del software tiene muchos problemas, aquellos que precisamente se
quisieron arbitrar con el manifiesto ágil. Sin embargo, ningún método actual,
por sí solo o combinado, es capaz de enfrentar la enorme cantidad de variables
que se mezclan en el ambiente de los proyectos de software, dada la magnitud y
complejidad de la mayoría de estos. Los métodos ágiles no son la excepción. Si
bien su modelo iterativo y adaptativo de gestión posibilita en gran medida la
resolución de muchos impedimentos, siempre habrá que poner de manifiesto
nuestro sentido común para afrontar escenarios hostiles.
Es
decir, además de recurrir a balas de plata, estacas de madera, ajos o apelaciones
a la mediación divina (léase procesos y herramientas, documentación detallada,
contratos y acuerdos de servicio, planes, etc.), necesitamos encontrar
mecanismos que nos permitan interactuar mejor entre nosotros, construir
productos de software por incrementos, colaborar íntimamente con los usuarios y
reaccionar hábilmente ante los cambios que se presentan todo el tiempo durante
un proyecto. Esto es lo que dice realmente el manifiesto ágil.
Ágil no necesita
diseño previo
Este
quizás es un derivado del primer mito. En la realidad, la pieza funcional de
software que se entrega en cada iteración requiere de diseño, el suficiente y
necesario para construir un producto con calidad. Se trata de un diseño
funcional, tan robusto pero tan flexible como se requiera para que todos los cortes
del software se puedan integrar en uno solo. Si pensamos en “diseñar a medida
que avanzamos”, seguramente fallaremos en el intento y nuestro producto nunca
verá la luz del día. El ciclo convencional del software no desaparece porque lo
hagamos ágil: análisis, diseño,
implementación, pruebas y despliegue. ¡Algunas cosas no cambian!
Ágil siempre usa “Historias
de Usuario"

Y
en cuanto a las historias de usuario, rutinarias en los métodos ágiles, hay que
decir que ágil no siempre las usa. Hay que usarlas sí, y solo sí, son
apropiadas. Existen otros instrumentos, unos más efectivos que otros, como los
prototipos, los tableros de historias, los simuladores. ¿Alguien ha intentado “porciones
de caso de uso”? Estas últimas son tan livianas como las historias de usuario y
tienen el poder de los casos de uso. Y otro error muy común es creer que las
historias de usuario siempre son elaboradas por el Dueño de Producto.
Scrum siempre Funciona
Primero
debemos saber cuándo implementar Scrum en la organización. Y luego debemos
saber cuándo usar Scrum en un proyecto. ¿Está preparado nuestro
cliente/usuario? ¿Habrá un dueño de producto? Más importante aún, ¿está dispuesto
nuestro equipo para entregar software probado y funcionando que sea
potencialmente distribuible cada periodo corto de tiempo – 2 semanas –? ¿Están
claros los valores y principios del manifiesto ágil? Este artículo es un
síntoma de que no lo están. ¿El equipo es autogestionado y experto? ¿Nuestro
usuario está dispuesto a involucrarse al 100%?
Entre
otras, estas son algunas de las cuestiones que debemos responder y establecer
antes de intentar Scrum en nuestros proyectos. Se requiere de cierta capacidad
y de cierta madurez para enfrentar el reto.
Scrum Master igual
a Gerente de Proyecto
Scrum
Master es un rol de gestión, sí, pero no es un gerente como lo conocemos en los
proyectos tradicionales, mucho menos un gerente tipo PMI o algo parecido. “El
Scrum Master es un líder servil, al
servicio del Equipo Scrum.” [3] Un SM es un facilitador, es alguien que se sitúa
en algún lugar entre el equipo de desarrollo y el cliente. También puede verse
como un “guardián de Scrum”, un custodio, alguien que vigila que el proceso se
esté llevando a cabo como lo indica la guía de Scrum.
El
SM puede venir de una PMO, es cierto, pero también puede llegar desde el equipo
de Analistas o de cualquier otro miembro de la organización que tenga las
habilidades y la empatía requerida. El SM tampoco es un desarrollador líder o
arquitecto, también hay que decirlo.
Podemos hacer Scrum sin un Dueño de
Producto o con muchos dueños de producto
Cuando
no tenemos un dueño de producto que está fuera del equipo o, mejor, fuera de la
jerarquía del equipo, perdemos algo precioso e inherente a ágil: la noción del
cliente. Perdemos a la persona que nos puede ayudar a entender lo que realmente
quiere el cliente. “El dueño de producto es el responsable de maximizar el
valor del producto y del trabajo del Equipo de Desarrollo.” [4] El dueño de
producto es quien establece los criterios reales de aceptación del producto,
esto no lo puede hacer otro rol en el equipo o en la organización. Es un hecho,
sin este personaje, el equipo no sabrá que hacer.
Ahora
bien, el dueño del producto es uno solo, no un equipo o comité de dueños de
productos. El dueño de producto es una sola voz y representa los intereses del cliente, es decir, de
todos los interesados en el producto. Más de un dueño de producto puede “adicionar
ruido” al proyecto, es decir, sumar variables que pueden llevar el proyecto a
la devastación. Finalmente, este mito tiene sus orígenes en que ninguna persona
por sí sola tiene el conocimiento completo de lo que quiere la organización,
pero ello no es necesario, solo es suficiente con que tenga contacto con las
personas apropiadas.
Scrum no funciona con CMMI u otros
modelos de procesos y viceversa
He
visto anuncios en la Web sobre “la gran pelea” entre Scrum y CMMI, seminarios
virtuales, tertulias presenciales, diplomados para expertos, como si se tratara
del campeonato de combate definitivo, la última de las grandes contiendas entre
dos “gigantes” del deporte. Esta leyenda urbana tiene sus raíces en la creencia
de que CMMI es predictivo mientras que Scrum es adaptativo. Pero lo que hay que
saber realmente es que CMMI es un modelo de mejoramiento de procesos, nos
indica qué buenas prácticas dan ventaja a nuestra organización, en tanto que
Scrum aporta precisamente el cómo implementar esas prácticas.
En
la realidad es posible integrar estos dos mundos y ponerlos a funcionar en
beneficio de nuestros clientes y de nosotros mismos: a la vez que CMMI permite
describir todos los procesos de la organización y su interacción, Scrum regula
el procedimiento a seguir en el mero proceso de desarrollo. Quizás el detalle
más oscuro en este análisis es aquel de las estadísticas inherentes a toda
organización de alta madurez, pero la cultura ágil de alguna manera impuesta
por Scrum sirve de fundamento sistemático a los requisitos de un proceso de
control estadístico impuesto por CMMI. Las cosas así, es totalmente viable convivir
con Scrum y CMMI en un mismo plano.
Scrum
produce equipos de súper héroes, tipo los Vengadores o la Liga de la Justicia
Necesitamos
expertos, es cierto. Pero estos no se hacen solos. Scrum no es una caneca de desechos
biológicos o químicos y donde podamos caer y levantarnos con poderes
extrasensoriales que permitan leer la mente de los usuarios o con una memoria
prodigiosa que nos faculte a escribir solo las líneas de código correctas o
realizar diseños perfectos en cuestión de segundos.
Si
seguimos Scrum, si asistimos a las ceremonias propuestas por el marco de
trabajo, seremos capaces de entender los obstáculos que evitan mejorar nuestro
desempeño. Y sin la habilidad o deseo de remover esos impedimentos, apenas si podremos
tener mayor visibilidad de los problemas. Y esto simplemente redundará en el
aumento de nuestra frustración, lo que a su vez dejará notar nuestro
comportamiento negativo y menos productivo. Ya lo he repetido, Scrum no es la solución
definitiva, pero ayuda a ser mejores cada vez. La transparencia y la predictibilidad
son los beneficios inmediatos.
¡El plan de mejoramiento personal y profesional lo
ejecutamos de nuestra cuenta!
Más Mitos y Leyendas
Otros
mitos, no menos perjudiciales, son:
- Estamos haciendo Scrum, así que no necesitamos otras prácticas ágiles como TDD, Refactoring, Pair Programming, etcétera
- Ágil es menos disciplinado y más fácil
- Podemos lograr agilidad sin cambio organizacional e individual
- Ágil es igual a Scrum
- Con Scrum podemos hacer cambio en cualquier momento
La
lista realmente podría ser interminable.
Conclusiones
Scrum
es una idea sencillamente empaquetada y de esta manera podemos transferirla
rápidamente de una persona a otra y de un equipo a otro. Con todo y ello, es
innegable la gran cantidad de concepciones erróneas que tenemos al respecto.
Para sacar estos monstruos y mitos de nuestras mentes es necesario tener
acompañamiento, no basta con aprender por sí solo, necesitamos entrenamiento de
personas que hayan usado exitosamente el método. Las organizaciones, por su
parte, deben concebir un buen plan de implantación del método: configurar el
proceso, hacer proyectos piloto, medir, analizar los resultados, ajustar,
entrenar a los equipos e institucionalizar.
¡Así lo estamos haciendo!
Referencias Web/Bibliográficas
[1] Colaboradores de
Wikipedia. Mitología [en línea]. Wikipedia, La enciclopedia libre, 2013 [fecha
de consulta: 11 de junio del 2013]. Disponible en http://es.wikipedia.org/w/index.php?title=Mitolog%C3%ADa&oldid=67124850
[2] El Manifiesto Ágil de
Software: http://www.agilemanifesto.org/iso/es/
[3] La Guía de Scrum: http://www.scrum.org/Scrum-Guides
[4] La Guía de Scrum:
http://www.scrum.org/Scrum-Guides
Actualización 20200220
Puedes ver y descargar la presentación asociada a este artículo aquí.
Que buen aporte Lucho, muy interesante el símil con la mitología... al fin y al cabo es normal tener miedo a lo desconocido. Espero que este análisis invite a todas las personas que tienen inseguridad y resistencia al cambio a abrir su mente a estas "nuevas" (10+ años) formas de trabajar.
ResponderBorrarUn mito adicional: "ágil = más rápido". No siempre se logra una mayor velocidad en el desarrollo, sobre todo cuando estamos apenas aprendiendo cómo se trabaja. Pienso que el término "ágil" es más por la aceptación temprana a los cambios, esa flexibilidad que diferencia a los marcos de trabajo y prácticas ágiles de las otras formas de trabajo más rígidas.
Adicionalmente tengo un comentario acerca de una frase que vi en el post: <>. Difiero un poco con la frase. En XP hay una práctica ágil que se fundamenta en el "diseño simple" y que propone sólo diseñar (en términos arquitectónicos) para la parte que estamos desarrollando, es decir, para el Sprint Backlog. No es conveniente sobre arquitecturar (y me perdonan el mal uso del lenguaje) pensando en funcionalidades que no es seguro si se van a desarrollar y mucho menos pensar en arquitecturas con escenarios "por si se fuera a necesitar". Una de las premisas del desarrollo ágil es evitar el desperdicio y cuando diseñamos un sistema bajo el paradigma de "Big design up front" probablemente desperdiciemos mucho tiempo.
Leo, muchas gracias por tus comentarios.
ResponderBorrarMarie Salomea Skłodowska Curie, conocida habitualmente como Marie Curie, decía “Dejamos de temer aquello que se ha aprendido a entender.” Eso es precisamente lo que buscaba con este artículo, proporcionar algo de información a la gente para que, mejor informada, enfrente de manera más eficaz los proyectos con ágil.
Tienes razón en el mito que agregas, me tomaré la libertad de adicionarlo a este “diccionario scrumitológico”. Y en cuanto a lo que hablas del diseño, también de acuerdo. Se requiere el diseño justo para avanzar y para ello también usamos las arquitecturas de referencia, aplica la muy antigua y recordada frase de “no hay que reinventar la rueda”.
Salud@s.
Genial el artículo, sólo quiero comentar que en el mito "Ágil significa no hay un plan" se refiere a que sí hay un plan pero que debe ser dinámico y flexible, y es que en realidad siempre que se habla de planes se habla de estas dos características "dinámico y flexible", en cualquier modelo o método de desarrollo, porque no tiene sentido hacer un plan de proyecto que no pueda ser ajustado o adaptado, así que estas características no son nuevas, es similar a como usted lo mencionaba en el mito del diseño "...algunas cosas no cambian...". Muchas gracias, sus opiniones son muy interesantes, recién descubrí su blog pero prometo estar al día con sus publicaciones. Felicitaciones.
ResponderBorrarMuy interesante tu artículo Lucho. Me parece necesario. Cuando algo se mitifica generalmente es consecuencia de una profunda ignorancia. Scrum siempre me ha parecido muy apropiado para el desarrollo de software, el manifiesto me parece claro y simple (no quiero decir simplista). Sigue siendo muy importante saber, conocer, entender lo que hay que hacer y cómo. Ni Scrum ni ninguna otra "metodología" funcionan si no se tiene ese saber. Todo esfuerzo para desmitificar los frutos del desconocimiento es bienvenido. ¡Muchas gracias Lucho!
ResponderBorrarMauro, muchas gracias por tu comentario.
ResponderBorrarEn efecto, son muchas las percepciones erróneas que surgen a raíz de la llegada de un nuevo paradigma a un conglomerado, a una sociedad, a una cultura. Bien dicen por allí que el miedo es la raíz de todas las aprehensiones, de las interpretaciones equívocas, en este caso, el miedo al cambio, a lo desconocido.
Ágil y Agilidad no se tratan de métodos, ni siquiera de prácticas o técnicas, se refieren a una cultura, a una forma de ver los fenómenos del universo y de hacer las cosas, quizás por eso es tan difícil que las personas lo perciban como algo natural.
Ágil no es la bala de plata, pero hoy por hoy nos está dando magníficos resultados, mejores que con cualquier otro enfoque o metodología. ¡Estamos en contacto!
El diablo es un mito
ResponderBorrar