archivo

Archivo de la etiqueta: Séneca

Las metodologías y prácticas son modelos teóricos que si bien han podido ser probados con éxito en situaciones particulares, difícilmente resultan exportables, tal cual, a todo el conjunto de proyectos. Por ese motivo, la adaptación al contexto y la adaptación al cambio resulta fundamental a la hora de seleccionar el método de trabajo.

Por este motivo, cuando se trata de imponer ciertas dinámicas de trabajo suelen no conseguir resultados porque muchos proyectos o situaciones dentro de los mismos no terminan por encajar y al final no se consigue ni respetar esa dinámica, pero tampoco esquivarlas completamente afectando directamente al proyecto y con ello, muy probablemente, a sus resultados.

¿Quién está libre de no haber caído en ese error? Yo he sido el primero que ha caído en ello, empezando en la aplicación de metodologías de enfoque clásico e incluso con las metodologías aǵiles (algo que va contra natura de lo que el agilismo pretende y en lo que se cae con demasiada frecuencia).

Como decía Séneca: “Largo es el camino de la enseñanza por medio de teorías; breve y eficaz por medio de ejemplos”.

Por este motivo es difícil acertar a la primera porque al principio te basas en fundamentos teóricos: lo que leiste en un libro o lo que escuchaste en aquella conferencia, etc… Al final, la experiencia te pondrá en tu sitio, siempre y cuando decidas aprender algo de la misma.

En un proyecto de desarrollo de software se manejan multitud de variables y una gran cantidad de tareas que son realizadas por personas de los diferentes equipos de trabajo que intervienen en el proyecto, algunos de ellos de departamentos distintos o incluso de organizaciones distintas (cuando se trabaja con un cliente externo, en una unión temporal de empresas o con alguna subcontratación).

Para que todo vaya bien no solo es necesaria la colaboración sino también la sincronización con que se realizan las tareas porque, de no ser así, las desviaciones provocadas por un equipo impactarán directamente en otros, teniendo en cuenta que el que pierde siempre con todo esto es el proyecto y a la larga, si el proyecto sale mal, todos salen perdiendo.

Este espíritu de colaboración, esa intención de conseguir que toda la “maquinaria” funcione de manera adecuada solo es posible si se ha conseguido forjar una relación de confianza (después influirán otros factores, como la capacitación del personal, del impacto de los errores, etc…).

Al principio cuesta un poco (sobre todo en aquellos casos donde los equipos no se conocen) pero sirve como contramedida el hecho de que se parte de cero y todavía no han existido fricciones (otra cosa es que se parta con equipos que se conocen del pasado, que no terminaron de funcionar y que erosionaron su confianza, en estos casos habría que plantearse si la situación es reconducible o no).

Sin embargo, conforme se avanza en el proyecto y algo no va como a los responsables de algunos de los equipos quiere (o a sus jefes) o bien, se decide cambiar de prioridades, la confianza empieza a resquebrajarse, a una velocidad vertiginosa en comparación con lo que costó construirla y mantenerla.

Ya lo decía Séneca: “Una era construye ciudades. Una hora las destruye”.

Partamos de la base que en un juego con tantos intereses es muy complicado, por no decir imposible, mantener un equilibrio. El objetivo no es que siempre sea todo un camino de rosas, sino que cuando haya problemas, que los habrá, se atajen pronto, antes de que la pérdida de confianza sea prácticamente irreversible.

Nos encontramos con este problema cuando el proyecto entra en una situación de bloqueo en la cual solo quedan dos alternativas posibles: parar los desarrollos o esperar el tiempo necesario para volver a generar materia prima de calidad, y sin embargo se opta por una solución que se cree intermedia pero que generalmente suele salir mal, que es intentar seguir adelante con los desarrollos aun cuando se sabe que es necesario trabajar mucho más las historias de usuario.

¿Consecuencias? Pues que construiremos algo, que tal vez tenga sentido, pero que tengamos que tirar más adelante casi por completo porque realmente no es lo que el usuario quería o necesitaba.

¿Es eso desarrollo sin intención? La intención es tirar a dar. Tratar de alcanzar una solución sin haberse estudiado adecuadamente es especulación. ¿Pero no tiene el desarrollo ágil una importante componente de especulación? Sí, pero con una cierta base. No vale la especulación cuando varias iteraciones más adelante te ves obligado a repetir gran parte del trabajo.

El feedback debe servir para afinar, a veces puede suponer volver a empezar, pero si es así que no sea porque no hemos partido de una base que se entendía sólida.

No confundamos tener bien definida una historia con una análisis riguroso. No es así, no nos vayamos a los extremos, tan malo es el exceso como el tratar de dar valor o evolucionar un producto sin saber muy bien por dónde tirar.

Como dijo Séneca: “Si no sabes hacia qué puerto estás navegando, ningún viento es bueno”.

Ya lo dijo Séneca: “Si no sabes hacia qué puerto estás navegando, ningún viento es bueno”.

Como personas o como organización necesitamos objetivos, ya que para llegar a un sitio hay que saber en primer lugar cómo se llama y dónde está.

Si no concretamos dónde queremos ir y nos limitamos a caminar sin rumbo por mucho que lleguemos a diferentes lugares no sabremos si hemos llegado a nuestro destino deseado porque entre otras cosas no lo hemos decidido, ya que se ha elegido caminar y caminar y seguir caminando, sin enfocar el esfuerzo a nada más que a seguir de pie. No es poco continuar erguido, pero las fuerzas flaquearán ya que al no fijar un destino siempre tendremos la sensación de que no vamos a ninguna parte y sin referencias no podremos dosificarnos y sin ver un horizonte terminaremos desmotivados.

Tan importante es saber a dónde se quiere ir en cada momento (tendremos distintas metas y cuando alcancemos unas, nos plantearemos la siguiente) cómo de dónde partimos. Es fundamental saber dónde estamos ya que la dirección y el sentido son distintos en función de dónde nos encontremos.

Tenemos que saber cuáles son nuestros objetivos para eso hay que analizar qué es lo que queremos, para alcanzarlos tenemos que saber desde dónde se sale, cuáles son nuestros medios actuales y en función de eso plantearnos una serie de actuaciones que nos lleven desde donde estamos hasta donde queremos ir, algunas de ellas las trazaremos y se convertirán en una serie de hitos que cumpliendo uno tras otro nos llevará hasta el destino (como si de miguitas de pan se tratase) y otras vendrán porque sí, sin saberlo, pero que llegarán a nosotros o nosotros iremos hacia ellas simplemente porque tenemos objetivos.