[Libro] Tácticas de guerrilla para desarrolladores

Ahora que nos encontramos en la “era” de las metodologías agiles, me parece interesante recuperar un artículo que escribí hace algún tiempo en otro blog, en referencia a un libro que habla de los principales problemas que encontramos los desarrolladores a nivel de gestión de un proyecto y algunas de las soluciones que podemos tomar “desde dentro” para solventar o, al menos minimizar dichos problemas:

En este artículo para variar, no voy a mostrar ningún tipo de plataforma novedosa, ni ninguna aplicación práctica ni, por supuesto, nada de código. Voy a hablar de un libro que estoy leyendo y cuya lectura debo agradecer a un compañero… ¡¡gracias Carlos!!

Este libro no es otro que “The Career: guerrilla tactics for an imperfect world” y que nada tiene que ver con tácticas de guerrilla para conquistar el mundo…bueno sí, el mundo de la programación. A través de él, el autor, nos plantea la situación típica que se suele dar en los proyectos de desarrollo y las “tácticas” que podemos emplear para solventar los problemas que van surgiendo a lo largo del mismo.

Capítulo a capítulo se exponen, entre otras muchas cosas, las dificultades que encuentran los desarrolladores y “las personas de negocios” para comunicarse, que problemas o imprevistos nos surgen durante el desarrollo de un proyecto, y por último, que es lo que podemos hacer o como podemos evitar esto para garantizar que ambas partes consigan lo que quieren. Mientras los empresarios, obtienen beneficios en el menor periodo de tiempo, los desarrolladores sufren menos estrés, obtienen una mayor calidad del producto y consiguen una carrera más satisfactoria. Realmente compensa ¿no?

De todos los temas que se tratan en el libro voy a tratar de sintetizar la información más interesante y me voy a centrar en lo expuesto en las dos primeras partes. En la primera de ellas, Christopher Duncan cuenta como en el mundo de los negocios, muchas veces se plantea una guerra entre los desarrolladores y las personas de negocios. Nos viene a decir que cuando estamos creando un producto de tipo software, los programadores debemos ser capaces de hablar en un “lenguaje” en el que los empresarios nos entiendan. De nada sirven nuestros conocimientos técnicos si no sabemos “vender” lo que estamos haciendo a aquellas personas que, queramos o no, son las que se encargan de fijar los plazos de desarrollo, decidir el alcance del proyecto… y despedir a quienes no cumplan sus demandas. Para ello, lo primero que tenemos que hacer es ser conscientes de que en el mundo de la empresa existen múltiples factores que pueden influir en el desarrollo de un proyecto software: las políticas internas de la empresa, calendarios poco realistas, una gestión incorrecta, la falta de recursos humanos y materiales… Lo que lleva consigo un desgaste por parte del desarrollador que, generalmente, se traduce en horas extras continuas y niveles altos de estrés.

Para evitar todo esto, lo que el autor sugiere es aprender a comunicarnos con las personas de negocios de nuestra empresa y ser capaces de transmitir en su “lenguaje” que es lo que estamos haciendo, cómo y cuanto tiempo nos va a llevar. De esta manera podemos tener una oportunidad para gestionar nuestros proyectos de forma exitosa y conseguir, por ejemplo, que se establezcan fechas de entrega más reales, que se empleen los recursos adecuados y que no se nos pidan cosas que no se pueden hacer (¡o por lo menos no de la forma en la que nos las piden!).

En la segunda parte se habla de las pautas que debemos seguir para evitar los problemas que suelen aparecer durante el desarrollo de una aplicación software que, en general, están relacionados con una gestión incorrecta del proyecto o con unos tiempos de entrega irreales. Este último es uno de los factores que más estrés genera al desarrollador, ya que en la mayoría de los casos la lista de características de un proyecto va cambiando o aumentando sobre la marcha, mientras que los tiempos de entrega se mantienen. Así que por regla de tres: + Características en Tiempo X = >+ Nº Horas

Para evitar esto, lo que el autor propone, es definir y entender el proceso de nuestra aplicación correctamente, estimar los esfuerzos que vamos a dedicar al diseño y a la implementación de la misma, y por último gestionar nuestra gestión. Es decir, nadie mejor que nosotros mismos, sabe cuáles son nuestras capacidades y nuestras limitaciones, por lo tanto dentro de la gestión global del proyecto debemos ser capaces de gestionar nuestro propio tiempo. De forma que si conseguimos optimizar el tiempo de desarrollo en función de nuestras aptitudes reduciremos, en parte, el estrés generado o las horas extras continuadas, pero esto no depende únicamente de nosotros…

En definitiva, este libro está diseñado para ayudarnos a ser mejores programadores dentro del mundo de los negocios, que al fin y al cabo es en el mundo en el que nos movemos. Así que si alguien quiere ver lo tratado en este artículo en profundidad, y otros aspectos relacionados, ya sabéis…¡A leer!”

¿Y qué es lo que quiero transmitir recuperando este artículo? Que todos los que ya estamos subidos en el carro del agilismo, hemos visto un poco la luz al final de este túnel, hasta ahora, muy habitual dentro del mundo del software. Somos conscientes de cuanto ha ayudado a mejorar la gestión de nuestros proyectos el uso de las metodologías agiles, a todos los niveles: gestión del tiempo, los recursos, los costes y especialmente, las personas, y desde aquí os animo a que lo probéis en vuestras empresas.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *