Introducción
Con filosofía pragmática aprendes a afrontar los problemas y ofrecer soluciones. Una filosofía en la que se debe pensar más allá del problema, siempre tratando de colocarlo en un contexto más amplio y teniendo en cuenta un panorama general.
El gato se comió mi código fuente
Uno de principios más importante de la filosofía pragmática es, sin ludar a dudas, tomar responsabilidad de tus acciones. Al tomar responsabilidad de tus acciones te tienes que comprometer a que las cosas se harán bien, y aunque no siempre tienes el control directo de las cosas, tienes que comprometerte.
Si cometes un error, debes de admitir de manera honesta que lo cometiste y proponer opciones para arreglarlo. Nunca culpes a alguien más o a algo de tus errores, no te lamentes de los mismos, no pongas excusas, el programador pragmático ofrece soluciones, no lamentos ni excusas. Excusas tontas como “el gato se comió mi código fuente” no funcionarán.
Entropía en el Software
El software es uno de esos productos que no está regido por las leyes de la física, pero en cambio, es golpeado fuertemente por la entropía. La entropía se refiere al nivel de desorden en un sistema. Siempre procura tener un software bien ordenado, para evitar la putrefacción del mismo. Existen varias cosas que contribuyen a la putrefacción del software, una de ellas la cultura en el trabajo del proyecto, aunque un proyecto cuente con los mejores planes y la mejor gente, tiene la posibilidad de experimentar la ruina durante su vida si no cuenta con el mantenimiento adecuado. Corrige cada uno de los errores cuando los detectes, ésto evitará que se desate un caos futuro en el software. Toma cada acción para prevenir un mayor daño y para demostrar que estás en la cima de la situación.
Sopa de piedras y ranas hervidas
En la historia de los soldados y los aldeanos, los soldados obtienen comida a base de engaños, pero a final de cuentas, unen a los aldeanos para producir algo que ellos solos no podrían. Eventualmente todos ganan apoyándose entre sí.
Hay situaciones en las cuales sabes lo que necesitas hacer y cómo, pero pedir permisos generará complicaciones, a ésto se le llama la fatiga inicial. En este momento, es tiempo de sacar las “piedras”. Calcula lo que puedes pedir a las personas y una vez que lo tengas, di “ésto sería mejor si tuviéramos...” pretende que no es importante y espéralos a que comiencen a pedirte añadir la funcionalidad que originalmente querías. Pero, ésto tiene un lado negativo, ¡ten cuidado! a menudo la acumulación de cosas pequeñas rompen con la moral y los equipos.
Software lo suficientemente bueno
No importa que tan bueno sea nuestro control de calidad, el mundo real no nos dejará producir software perfecto o software sin bugs. Sin embargo, ésto no debe de ser frustrante. Tienes que disciplinarte para escribir software lo suficientemente bueno (no perfecto), para futuro mantenimiento y para tú propia paz. Con esta practica serás más productivo. Y ésto no se refiere a escribir software mediocre, nuestro producto debe de cumplir las especificaciones del cliente para ser exitoso. No eches a perder el software por sobre refinamiento.
Tu portafolio de conocimiento
Tus conocimientos y experiencia son tus activos más importantes. Desafortunadamente, estos activos tienen fecha de caducidad, ya que con el paso del tiempo tus conocimientos se vuelven obsoletos. La tecnología cambia rápidamente. Por eso, es importante contar con un portafolio de conocimientos, donde tienes que invertir tiempo y conocimientos regularmente. Tiene que tener diversidad, entre más cosas sepas, más valioso eres. Tienes que comprar bajo y vender alto, ésto es, aprender nuevas tecnologías antes de que se vuelvan populares. Y por último, revisar y reequilibrar, esta es una industria muy dinámica, las tecnologías se vuelven obsoletas rápidamente, mantente al tanto.
¡Comunícate!
Como desarrolladores tenemos que comunicarnos en muchos niveles y en muchísimas ocasiones. Por ésto, la comunicación es algo muy importante. Trabajamos con los usuarios finales tratando te entender sus necesidades para poder cumplirlas en el producto que ellos desean. Una gran parte del día la pasamos comunicándonos, así que necesitamos hacerlo de la forma correcta sabiendo bien que es lo que queremos decir, sabiendo a que audiencia nos vamos a dirigir, escogiendo el momento correcto para comunicarnos, escogiendo un estilo, haciendo que nuestras ideas luzcan bien, involucrando al público, siendo un buen oyente y respondiendo a la gente.
Conclusión
Una filosofía pragmática es una actitud, un estilo de abordar los problemas y sus soluciones. Una actitud donde siempre te haces responsable de tus actos, donde evitamos y corregimos errores para que el software no se destruya. Un estilo en el que se hace software suficientemente bueno para el cliente, algunas veces a cercano a la perfección. Una filosofía donde se tiene una base de conocimientos y experiencia y donde el conocimiento es continuo, donde sabemos que la comunicación es muy importante.
Bibliografía
[Hunt and Thomas, 2010] Hunt, Andrew and Thomas, David. (2010). The
Pragmatic Programmer from journeyman to master A pragmatic Philosophy, 1:1–23.
es tu ensayo para ken?
ResponderEliminarAsí es, Sugar
Eliminar