Para la mayoría de nosotros, las palabras metodología y procedimiento suenan a algo pesado, a burocracia y a tareas innecesarias que nos distraen de los que entendemos que son nuestros objetivos finales en los proyectos.
De hecho cuando comencé a trabajar en esto del desarrollo de software mi visión era la que acabo de describir y, si cabe, todavía más extrema.
Sin embargo, con el paso de los años (aunque todavía no han pasado demasiados desde que comencé a trabajar) me he dado cuenta de que es necesario que exista un cierto orden en todo el proceso de desarrollo de software: desde la concepción del proyecto, pasando por su desarrollo, mantenimiento y finalización de su ciclo de vida. Además es necesario que también exista un cierto orden en todo lo que rodea a dicho proceso: gestión comercial, gestión económica, gestión de recursos humanos, gestión de compras, gestión de sistemas físicos e infraestructura, etc…
Este orden lo marca el seguimiento de metodologías y procedimientos, que permitan establecer un camino a seguir en los mismos. La selección de malas metodologías y procedimientos, producirán el mismo efecto o incluso un efecto más negativo que la no utilización de las mismas. ¿Cuándo una metodología o un procedimiento no es acertado? Cuando no es acorde con la realidad de la organización, por ejemplo, unas metodologías y unos procedimientos muy rigurososo, para una entidad que no está preparada para ellos, traerá consigo que caigan en desuso o que se apliquen mal. Las metodologías y procedimientos se tienen que implantar poco a poco, empezando por algunas áreas y extendiéndose progresivamente a las demás y a partir de ahí tratar de mejorar poco a poco las mismos.
Las metodologías y procedimientos no tienen por qué ser pesados, de hecho no deberían serlo, cierto es que algunas reglas pueden ser más estrictas que otras, pero en conjunto y como he comentado lo que tienen que hacer es marcar un camino y que la anchura del mismo sea el justo medio de lo que es la realidad de la organización y de lo que necesita.
¿Cuál es la diferencia en mi opinión entre las empresas grandes y pequeñas de desarrollo de software? Pues en algunos aspectos ganan unas y en otros aspectos ganan las otras. En lo que respecta a las empresas grandes, por regla general, determinadas áreas críticas, como la gestión comercial, gestión económica-financiera, gestión de recursos humanos, están perfectamente procedimentadas, porque han tomado consciencia de que si estas tareas están controladas y organizadas, ponen a disposición del resto de la empresa los ingredientes necesarios para poder hacer un buen plato (como es lógico, se necesitan buenos cocineros después para que salgan así). También es cierto que tener esas áreas tan controladas y organizadas, requieren un mayor coste de estructura, ya que se necesitan de personal cuyas funciones y objetivos principales sean esas y esto es más fácil de asumir por empresas grandes que por otras más chicas (no obstante, la clave es tener procedimientos acordes a la realidad de lo que la empresa es). En lo que respecta a las empresas más pequeñas, su fuerte es que los procesos relacionados con el desarrollo de software están mejor procedimentados y es mucho más fácil además controlar esto (el software generado es más consistente, más parecido entre proyectos, es más fácil reutilizar código, etc…). Al final lo que suele suceder con las empresas grandes en lo que al desarrollo de software se refiere es que funcionan, como si estuvieran formadas por un conjunto de empresas chicas, cada una a su aire, en función de a la línea de negocio a que se dediquen o incluso en función del proyecto en el que están participando.
Evidentemente, lo que acabo de contar es una generalización y como todas las generalizaciones, me dejaré muchos casos que no cumplan, ni de cerca, lo que he comentado. Además, cualquier empresa tiene en su mano romper lo que acabo de decir y además de forma sencilla, lo único que se necesitará es tener paciencia porque puede llevar su tiempo y creer realmente en que un cambio en la manera de hacer las cosas, en aquellos aspectos que se consideran que son susceptibles de mejorar, pueden producir importantes cambios que sean beneficiosos para la organización.