archivo

Archivo de la etiqueta: adaptación

Hay una cosa cierta, de cada proyecto en el que trabajamos, si tenemos la intención, aprendemos más y por tanto, tenemos la posibilidad de adaptar mejor nuestra forma de trabajar a las circunstancias que se presenten y de poder hacer uso de esa experiencia para tratar de acertar más en nuestras decisiones.

Por ese motivo me parece muy interesante la reflexión de Lowell Lindstrom que si bien está centrada en la programación extrema es perfectamente extensible a cualquier otro esquema de trabajo (traducción libre): “XP no es el final del viaje, es sólo el pozo de agua corriente que es especialmente sabroso para muchos. Vamos a aprender más con cada proyecto que hacemos”.

Cada proyecto es diferente e incluso dentro de cada uno hay circunstancias que implican cambios más o menos sensibles en el enfoque, por ese motivo si nos limitamos exclusivamente a aplicar las mismas ideas, prácticas y métodos de trabajo probablemente estamos restringiendo nuestra capacidad de poder aplicar determinadas soluciones que pueden resultar más aconsejables al contexto del proyecto.

Ojalá todo fuera tan fácil en el desarrollo de software como seguir unas guías, de hecho si así fuera la mayoría de los proyectos tendrían éxito y el concepto de crisis del software estaría erradicado.

¿Tienen éxito la mayoría de los proyectos? Lo mismo tu respuesta es que precisamente no tienen éxito por no aplicar en ellos marcos de trabajo o metodologías. No quiero decir que no se hagan uso de ellas, sino de que sea excesivamente rígido con la forma en que se aplican y de que no se tenga en cuenta de que nuestro conocimiento y las técnicas que tenemos a nuestra disposición son herramientas que tenemos la posibilidad de aplicar o no en función de las necesidades del proyecto.

He mantenido muchísimas conversaciones con defensores de enfoques clásicos de desarrollo de software sobre este asunto y siempre es lo mismo, que se basan casi siempre en que no hay motivos por los cuales un sistema de software deba seguir una metodología o unos procesos diferentes que para construir un edificio y que no pensar eso es no creer en la ingeniería del software.

Prácticamente toda mi experiencia laboral se ha centrado en enfoques clásicos por lo que tengo criterio para tener una opinión totalmente contraria a eso. No hablo de teorías, hablo de realidades.

Y la realidad es que el software es flexible, es adaptable, es evolucionable y para que funcione tienes que programar hasta el más mínimo detalle. Un edificio no es flexible por lo que su posible adaptación (estructural) es mucho más compleja y costosa y no requiere tanto nivel de detalle para poder ser utilizado.

Precisamente por eso los procesos para la construcción son más rígidos y los cambios sobre las especificaciones iniciales son más por motivos técnicos que funcionales.

Si el software tiene esas características, ¿por qué ignorarlas?, ¿por qué aplicar un planteamiento predictivo (planos) cuando es posible aplicar un planteamiento evolutivo?, es más, ¿por qué utilizar un enfoque predictivo si la propia realidad del proyecto aconseja el incremento y la iteración?.

Para Ken Auer y Roy Miller: “Cuando se utiliza un proceso destinado a la construcción de cosas inflexibles como puentes para construir cosas flexibles como el software, no debe sorprender que más tarde el coste del cambio sea mayor”.

Decía Albert Einstein que “una persona inteligente resuelve un problema. Una persona sabia lo evita”.

Evitar problemas requiere capacidad de análisis/lectura de la situación, de control sobre nosotros mismos, de anticipación y de adaptación.

Pese a eso los problemas llegarán porque siempre existirán factores que escapan a nosotros y porque no somos infalibles. La diferencia se encuentra en evitar la mayor parte de aquellos (o mitigarlos en lo posible) en los cuales y de alguna manera podamos influir (y prever). Esa diferencia permite enfocar mejor nuestros esfuerzos y tener una mayor capacidad de respuesta ante los problemas que vayan surgiendo.

A veces, como decía antes, se tratará de no haber realizado una buena lectura del presente y de lo que se avecina pero otras muchas, tal vez la mayoría, son provocadas por nuestras propias emociones, que nos hacen tratar de correr más rápido de lo que deberíamos, de verlo todo más fácil (o difícil) de lo que es o de dejarnos llevar más por los sentimientos y las sensaciones que por criterios que pueden resultar más objetivos o apropiados.

Somos seres emocionales por eso tenemos una capacidad innata de generar (y generarnos) problemas. No se trata de renunciar a nuestra esencia sino de entenderla, eso sí, supone un largo camino porque parece que es más fácil entender a los demás que a nosotros mismos.

Una organización superadaptada a un contexto será más productiva (si funciona bien) porque será capaz de aprovechar todo su potencial.

¿Es un riesgo? Depende.

La superadaptación a un entorno limita tu capacidad de adaptación a contextos que varían sensiblemente. Es posible que tu negocio esté muy centrado en una gama de productos concreta dirigida a un mercado muy definido y que no se entienda la existencia del mismo fuera de él, es decir, que reinventarse no sea una solución. En estos casos, la capacidad de adaptación del equipo de trabajo y/o de la propia organización pasa a un segundo plano, se lo juegan a una o dos cartas y ponen todo su esfuerzo en que todo salga bien.

¿Es una mala decisión? No, dependerá de si realmente tiene sentido reinventarse. Hay que tener en cuenta que no estamos hablando de una persona que individualmente siempre tiene esa capacidad, sino de organizaciones y en ellas el cambio de enfoque puede ser tan radical que lo mismo es necesario empezar de nuevo (lo que no te devuelve la inversión realizada).

Ahora bien, si se prevé un mercado más amplio, con productos y servicios más generalistas, la superadaptación será una idea que no solo funcionará peor sino que además será mucho más complicada de implementar porque serán varios los frentes que se tendrán abiertos y cada cual necesitará de una solución específica.

¿No cabe capacidad de adaptación en contextos superadaptados? Dentro de ese universo que ha creado la organización y en el que también se encuentra su negocio, productos y posibles clientes, la capacidad de adaptación permanece intacta si se han adoptado prácticas que lo permiten, fuera de esa atmósfera todo es mucho más difícil.

El nivel de adaptación a un contexto es un arma de doble filo. Por un lado cuanto más adaptado estés y más explotes esa adaptación más capacidad tendrás, si haces las cosas bien, de tener un mayor nivel de efectividad, sin embargo, y por otro lado, tu capacidad de adaptación a otros entornos irá mermando conforme pase el tiempo porque empezarás a sacar conclusiones erróneas y pensar que has descubierto la piedra filosofal del desarrollo de software y que ya sabes que hacer para que todo proyecto tenga éxito, de esta forma, te irás cerrando en una forma de concebir el desarrollo de software y las relaciones con las personas e irás descuidando aspectos tales como la mejora continua y la formación.

Por ese motivo, personas que obtienen grandes resultados en un determinado contexto pueden fracasar en el momento en que varían las condiciones que dominan.

Por ejemplo, personas que pueden hacer una extraordinaria labor en contextos donde es fundamental tener grandes habilidades sociales pueden fracasar en contextos donde es necesario tener un mayor nivel técnico, y viceversa.

Se necesitará, por tanto, tiempo de adaptación y mientras eso sucede, tu tasa personal de errores y fracasos crecerá porque será a partir de ahí donde terminarás extrayendo el conocimiento necesario para crecer (si realmente asumes tus errores, los analizas y aprendes).

Pero un cambio de contexto no conlleva a hacer tábula rasa y que nada de lo aprendido te sirva, es más, ese fondo o bagaje profesional te servirá más de lo que piensas, el problema es que se trata de aplicar ese conocimiento de la misma manera independientemente del contexto, en lugar de ponerte a analizar cómo puedo aplicar lo que ya sé a estas nuevas circunstancias.

Comentaba Séneca que: “Un barco que parecería grande en el río, sería muy pequeño en plena mar”.

Si te encuentras muy adaptado a un contexto es probable que tengas éxito en él porque te sabrás manejar mucho mejor que otros o que gran parte de tu competencia.

Pero todos sabemos, que los contextos varían tarde o temprano y que cuando tu mercado se encuentra con otras soluciones o ideas y/o su situación económica ha cambiado, se abre a un nuevo entorno, en el que otros tienen opciones y en el que se encontrarán más adaptados que tu organización o que tú, si no se ha sabido reaccionar a tiempo o simplemente no se ha querido reaccionar por considerar que la posición de partida era tan fuerte que la hacían inmune a cualquier cambio o movimiento que se pudiera producir.

Cuando se resquebraja la estructura y estrategias que tenías para un contexto que dominabas, es cuando descubres que efectivamente eras grande, dominante en él, y que ahora, en realidad, eres mucho más pequeño porque te has dado cuenta que en el horizonte tras tu isla, hay todo un océano.

Hay una reflexión de Jerry Weinberg que es conveniente tener muy en cuenta: “Cuanto más adaptado te encuentres menos adaptable tenderás a ser”.

Esta cita se refiere a la especialización. Puedes ser el rey en un ecosistema concreto, pero como cambie, si no estás preparado, puede ser un desastre para tu organización, porque implicará cambios que deberán ser ejecutados en un tiempo razonable para los cuales no estarán preparadas ni las estructuras ni la mentalidad de la organización y de muchas de las personas, sobre todo los directivos, que forman parte de ella.

La especialización no es mala, no lo entendamos de ese modo, lo que sí es negativo es tener los ojos cerrados a posibles cambios en el contexto, a no tratar de adelantarse a ellos, a pensar que el mercado siempre va a ser el mismo, que la competencia no va a evolucionar lo suficiente y que nosotros siempre vamos a ser los mejores.

Es difícil hacerlo cuando las cosas vienen bien dadas, ¿para qué cambiar si todo va bien?. No se trata de cambiar por cambiar, se trata de hacerlo con cabeza, se trata de mirar alrededor y no solo dentro de uno mismo.

En el mundo actual todo se mueve a un ritmo vertiginoso, de cualquier sitio puede salir un nuevo competidor o una nueva tecnología que puede ser adquirida o desarrollada por tus competidores tradicionales, por ese motivo, no solo debes centrarte en desarrollar tu negocio, sino también estar alerta a riesgos que pueden poner en peligro a tu posición en el mercado.