archivo

Archivo de la etiqueta: fracaso

Decía el actor americano Bill Cosby que: “No sé cuál es la clave del éxito pero la clave del fracaso es intentar agradar a todo el mundo”.

Podrás empeñarte en tomar decisiones que gusten a todo el mundo o que no molesten a nadie, a veces conseguirás ese objetivo, pero en la mayoría de los casos habrá alguien que no esté de acuerdo con algo.

Y eso pese a que has filtrado tus actuaciones de manera que no has aplicado la estrategia idónea sino una edulcorada que será menos efectiva, por lo que al final es posible que no tengas ni una cosa (la finalidad que perseguías con tu actuación) ni la otra (que todo el mundo esté conforme con las decisiones que has tomado).

Se trata de ser pragmático. A veces la solución edulcorada será más positiva (que no más efectiva) y en otras ocasiones será un gran error. Hay que analizar todas las perspectivas posibles, desde el convencimiento de que no somos infalibles y que entre los extremos del vale todo y no vale nada encontraremos una solución adecuada.

Fracaso y éxito son dos caras de la misma moneda y el borde que los separa es muy fino.

El fracaso te puede llevar al éxito si se adquiere conocimiento a través de él y después lo sabemos aplicar y adaptar a un nuevo contexto y a un nuevo proyecto. A veces la transición entre el fracaso y el éxito es rápida como también lo puede ser la vuelta a atrás si los cimientos no son sólidos.

Con un conocimiento o aprendizaje consolidado (y nuestras heridas de guerra) estaremos cada vez más preparados y con más argumentos para afrontar con éxito un proyecto y tratar de que ese éxito pueda perdurar y extenderse a otros, teniendo en cuenta siempre que, aunque creamos haber encontrado una receta infalible, nada te asegura que en tu siguiente proyecto vayas a volver a fracasar.

Precisamente y conociendo lo anterior, se trata de acortar el tiempo para conocer si una determinada estrategia resulta adecuada o no, ya que de esta forma, si esa estrategia fracasa podemos tratar todavía, dentro del mismo proyecto, de aprovechar ese feedback para realizar los ajustes que sean necesarios.

Cuando más frecuente sea ese feedback, cuanto más se experimente (siempre con intención), más oportunidades tendremos de ir sumando conocimiento y aplicarlo dentro del margen de maniobra que nos permita la disponibilidad presupuestaria. Tendremos, por tanto, sumas de éxitos y fracasos dentro del mismo proyecto y podremos ajustar de mejor manera la cantidad de esfuerzo necesaria para saber si un determinado enfoque, estrategia o práctica realmente ofrece resultados positivos o no.

¿Qué finalmente se nos agotan los recursos económicos y fracasamos? Será necesario afrontarlo, nada es gratis y el conocimiento adquirido no ha sido una excepción, es probable que nos afecte a nuestra propia estima pero también a la confianza que terceros han depositado en nosotros, sin contar con el desgaste personal que habremos sufrido. Ante esa situación solo queda volverse a levantar e intentarlo de nuevo, tal vez en otra nueva organización, tal vez en otro nuevo proyecto y teniendo siempre presente lo que hemos sido capaces de aprender, con el objeto de que, todo el esfuerzo invertido anteriomente no sea en vano.

Comenta Kent Beck que: “Los buenos equipos no sólo hacen su trabajo sino que además piensan cómo y por qué están trabajando. Analizan por qué tuvieron éxito o fracasaron. No tratan de ocultar sus errores en su lugar los exponen y aprenden de ellos. Nadie tropieza en la excelencia”.

Parece que es parte de nuestra condición huir de los errores, sin embargo, tratar de hacerlo es como intentar escaparnos de nuestra propia condición de seres humanos ya que todos cometemos errores, nadie es infalible. Piensa en alguien que crees que nunca se equivoca, pues sí, esa persona en la que estás pensando seguro que se equivoca tanto o más que tú, la diferencia realmente está en qué hacemos con nuestros errores, si lo utilizamos para evolucionar o simplemente los esquivamos.

Kent Beck insiste mucho en la oportunidad que se abre tras un error. Y me parece muy consecuente que lo haga porque tiene bien claro que la naturaleza del desarrollo de software es evolutiva y que en ese proceso de evolución hay aciertos y errores porque todos sabemos que acertar siempre a la primera es muy difícil y porque el mayor atajo para una solución compleja no es la línea recta sino pasar por soluciones más simples en las que se vayan afianzando ideas que tienen un origen abstracto.

Aprender de los errores tiene como precondición asumir que se han cometido. Es cierto que cuesta hacerlo, sobre todo de forma pública.

El desarrollo de software es una sucesión de aciertos y errores. La magnitud y frecuencia de los mismos (muchas veces motivadas por factores externos a ti) determinarán, entre otras muchas variables, la calidad y efectividad con que ejerces tu profesión.

Es importante tener eso en cuenta porque los errores, sin duda, van a venir, de ti depende sacar provecho de ellos o no.

También de ti depende continuar con una decisión errónea, en forma de una huida adelante, con la esperanza de que al final el viento termine soplando a favor, algo que no funcionará si ya te has desviado mucho de tus objetivos o, algo que sí que suele ocurrir con relativa frecuencia, es que el proyecto se termine alargando tanto que al final sea otro el que lo tenga que rematar y que probablemente tiene, aunque parezca lo contrario, mucho que perder y poco que ganar, salvo que haya alertado del estado real del proyecto al poco tiempo de incorporarse a él.

Me quedo con la siguiente cita de Winston Churchill: “A menudo me he tenido que comer mis palabras y he descubierto que eran una dieta equilibrada”.

Los proyectos de desarrollo de software se ejecutan en un contexto de incertidumbre. Hay muchísimas variables que pueden influir en el resultado final, tantas que resulta prácticamente imposible controlarlas todas.

El éxito no depende de tirar una moneda al aire, no quiero decir eso, para conseguirlo se requiere haber colaborado con tu trabajo, tus conocimientos y tu experiencia (así como la de todas las personas que participan en él), saber reponerte cuando las cosas van mal y no dejarte ir si se van consiguiendo los diferentes hitos que se van marcando.

Trabajar en esta profesión requiere tener conciencia en que todos los proyectos no van a salir bien y que no existe un martillo de oro que asegure nada. Un éxito no te asegura otro éxito y un fracaso tampoco te asegura otro. Siempre hay que evaluar los contextos en que se dieron cada uno.

Trabajar en esta profesión supone asumir que, a veces, vas a fracasar. Y muy probablemente adquieras mucho conocimiento porque poca cosas ayudan más a evolucionar que darte cuenta de cuáles han sido tus propios errores. Pero eso no viene solo, requiere que asumas tus errores y eso no es fácil, ya que la primera reacción suele ser mirar a todos lados menos a ti mismo.

Y, a veces, vas a tener éxito y tenerlo puede provocar el efecto contrario al fracaso asumido y aprovechado, porque si crees que has descubierto una receta mágica y que ya lo sabes todo, lo más probable es que termines involucionando porque en este caso te centras en mirar lo guapo que eres y no miras a tu alrededor.

Para esto, Séneca tenía la siguiente reflexión: “Una persona inteligente se repone pronto de un fracaso. Un mediocre jamás se recupera de un éxito”

El desarrollo de software es una sucesión de éxitos y fracasos. El balance para cada uno de nosotros no es cero ya que los éxitos y los fracasos no terminan compensándose.

Cada uno de nosotros tiene un balance y en función de su capacidad de crítica se aproximará más a una situación real o a una imaginaria.

Sin embargo, nada es inmutable, tu balance hoy puede ser positivo y dentro de un tiempo tal vez sea negativo. Hoy puede ser negativo y tras algún tiempo convertirse en positivo.

No es un juego de azar, es tu trabajo, son tu actitud unido a tu aptitud las que terminan poniendo tu saldo de un color u otro.

Si tenemos empeño, afán por aprender de nuestros errores y deseo por seguir aprendiendo, conseguiremos éxitos, sin olvidar que el fracaso se asoma a la vuelta de la esquina, ya que pueden darse circunstancias sobrevenidas que comprometan los resultados de un proyecto o simplemente podemos equivocarnos, porque quien toma decisiones, quien actúa se expone a tener fallos y cuanto mayor sea tu responsabilidad mayor será el impacto de tus decisiones.

Sobre esto, me parece muy interesante la siguiente reflexión de Winston Churchill: “El exito no es final, el fracaso no es fatal: es el coraje para continuar lo que cuenta”.

Nuestro trabajo no es sencillo, dejando a un lado esos balances, dentro de un mismo proyecto pueden darse multitud de circunstancias positivas y negativas. Si te dejas vencer por las que son adversas o tienes una mala actitud cuando las cosas vienen de cara, lo más probable es que el proyecto no salga bien. Se trata, como dice Churchill, de seguir caminando, ya que quien resiste, gana, tal vez no ahora, pero nuestra oportunidad llegará.

No conozco a ningún desarrollador que cuente todos sus proyectos por éxitos. El desarrollo de software es así, vas aprendiendo, vas adquiriendo experiencia, te crees invulnerable y de pronto el proyecto fracasa. El fracaso está ahí, llegará, forma parte de las reglas del juego, lo más que puedes hacer es seguir aprendiendo, seguir ganando experiencia para que cuando las cosas vengan mal dadas el impacto sea el menor posible y para tratar de solventar de la mejor manera las contingencias y problemáticas de nuestro día a día.

No se trata de bajar los brazos ante la existencia de problemas, se trata de estar preparado ante ellos porque sin duda, vendrán.

En el desarrollo de software nunca se ha aprendido lo suficiente, nunca se tiene suficiente experiencia, nada garantiza el éxito. Lo que sí se pueden tener es buenas condiciones de partida, después la incertidumbre, las decisiones que se tomen y el trabajo del conjunto de personas que intervienen dictarán sentencia.

Un proyecto con éxito o con un fracaso es solo un hito más en el camino. Ambos hay que asumirlos, sus consecuencias también, nada es gratis.

Sobre esto, me parece muy interesante la siguiente reflexión de Winston Churchill: “Ahora no es el final. No es incluso el principio del fin. Pero, quizá, sea el fin del principio”.

Eso es el desarrollo de software: una dirección sin meta.

Las cicatrices son el framework más valioso en nuestra profesión es algo en lo que la mayoría estamos de acuerdo. Hasta que no terminas por llenarte de barro no aprendes la lección por mucho que te hayan intentado aconsejar antes.

Estamos tan convencidos de que vamos por el camino correcto que no prestamos atención a que todos los mapas indiquen que vamos en la dirección equivocada.

A veces incluso tenemos que caer varias veces en el mismo charco para terminar de darnos cuenta de que nos estamos mojando.

Pero el conocimiento se encuentra ahí, en descubrir qué hemos hecho mal y por qué, debiéndose analizar también el contexto en el que hemos actuado. No es posible realizar un buen análisis y obtener unas conclusiones adecuadas sin analizar en qué entorno o contexto hemos realizado nuestro trabajo, tal vez el problema no se encuentra en haber actuado de una determinada forma sino en haberlas puesto en práctica en un contexto que no era el adecuado.

Jim Horning tiene una cita que resume perfectamente el papel de la experiencia y de los fracasos en nuestro desarrollo personal y profesional: “El buen juicio proviene de la experiencia. La experiencia proviene del mal juicio”.

Todos nos encontramos en una fase contínua de aprendizaje, algo absolutamente necesario ya que el contexto en el que desarrollamos nuestro trabajo cambia: la economía no es la misma, los clientes y/o los proveedores cambian (entran unos, salen otros y los que quedan también evolucionan), el mercado cada día requiere una mayor competitividad, etc…

En todo el proceso de desarrollo de una solución, ya sea un producto propio o uno que se realiza para un tercero, se aprende, también se debe aprender del éxito pero mucho más del fracaso.

El éxito embriaga de tal manera que los errores que hayan existido en el proyecto (que seguro que los hay) se minimizan o se olvidan por eso resulta complicado aprovechar el éxito para seguir evolucionando, salvo que seas capaz de mantener una actitud crítica y eso solo se consigue admitiendo que el éxito y el fracaso se van a ir sucediendo en nuestra trayectoria profesional y que nuestro objetivo será maximizar los resultados en los proyectos que han ido bien y minimizar los efectos negativos en aquellos que vayan mal, de manera que el balance sea positivo.

El usuario final del producto es el que más sufre las consecuencias de un mal trabajo (nuestra organización podrá verse resentida económicamente como consecuencia de la pérdida de confianza del cliente o por el coste final que va a tener el proyecto) y es precisamente a partir de ellos donde debe comenzar el proceso de reconstrucción del producto (¿qué muchas veces el fracaso es consecuencia de la falta de colaboración del área usuaria? Buscar culpables es otra historia, una vez superada esa fase toca buscar soluciones).

Cuando analicemos con el cliente o con el usuario las deficiencias el producto, nos daremos cuenta de todo lo que se ha hecho mal (y no solo por nuestra parte). Cuanto mayor sea el fiasco del proyecto más a la luz saldrán las vergüenzas del mismo. En la mayoría de los casos será bastante doloroso verte dentro de un trabajo que ha resultado tan nefasto que incluso sentirás vergüenza.

Tendrás que soportar que buena parte del área usuaria desconfíe de ti y tendrás que aguantar a usuarios que se pasen del límite incluso cuando intentes dialogar con ellos de buena forma (el enfrentamiento directo no es la solución, si se llega a la falta de respeto, dependiendo de la circunstancia será recomendable ignorar a quien llega a ese límite o escalar ese comportamiento a quien corresponda).

Mantener una actitud crítica con lo que has hecho es la única forma de aprender. No aprenderás nada si consideras que la culpa nunca es tuya o que tus errores son más pequeños que los de los demás.

Bill Gates no ha sido ajeno al fracaso, precisamente por ello sabe muy bien lo que dice cuando comenta que: “Tus clientes más descontentos son tu mayor fuente de aprendizaje”.

La experiencia es el puente que une la teoría con la práctica. Entre la Universidad y el mundo real me encontré un abismo, puede que solo fuera una experiencia personal pero realmente eso fue lo que descubrí, también influyó muy probablemente el salto tan prematuro que di a la dirección de proyectos.

Me encontré con que el desarrollo de software era (es) una jungla, un juego de intereses entre todas las partes involucradas donde en medio de todo hay dinero y no el del Monopoly. Afortunadamente dentro de todo eso hay personas, lo mejor, sin duda, del desarrollo de software.

Fui incrementando poco a poco mis conocimientos, también la experiencia, esta se puede adquirir de muy diversas formas pero generalmente las que más duelen son las más te permiten crecer, si entiendes esa situación como una oportunidad.

Frederick Phillips Brooks es un ingeniero de software americano, premio Turing en el año 1999 y que durante más cincuenta años estuvo trabajando en el negocio, primero dentro de IBM donde dirigió el equipo de desarrollo del sistema operativo OS/360 y posteriormente en el mundo universitario.

OS/360 fue un fracaso (que costó muchísimo dinero), para algunos es considerado incluso como el peor sistema operativo de la historia. Sin embargo, también es visto, desde otras perspectivas, como por ejemplo la que tiene Andy Tanenbaum que lo consideraba la mayor revolución en la historia de la informática.

Para Brooks, la experiencia con OS/360 le sirvió para crecer, él era consciente de lo que fue mal y fue capaz de asumirlo, llevándole entre otras cosas a publicar en 1975 su libro “The Mythical Man-Month : Essays on Software Engineering”.

Sobre la experiencia Fred Brooks realiza la siguiente reflexión: “El buen juicio viene de la experiencia … y la experiencia viene del mal juicio.”