Los errores clásicos de las empresas en la implantación de metodologías de desarrollo de software.
Durante los últimos años se ha desarrollado el debate en relación con las metodologías de desarrollo de software. Las opiniones se encuentran polarizadas entre las metodologías ágiles y las tradicionales. A pesar de la existencia de los desarrollos teóricos suficientes, los resultados en la industria indican que la discusión no se ha abordado desde la perspectiva correcta. En este post se presentan algunos errores que dificultan la implantación de las metodologías en las empresas y áreas de TI. Fuente Enter.
Uno de los errores clásicos consiste en creer que las metodologías de desarrollo son soluciones mágicas a los problemas de cualquier empresa. Las metodologías deben ser tomadas como marcos de referencia. Las prácticas metodológicas que implanta cada empresa dependen de factores que van desde el mercado de clientes que atienden hasta las características de los desarrolladores, arquitectos y analistas que conforman el equipo. Las metodologías son únicas e intransferibles y reflejan de manera estructurada el conocimiento que ha construido una compañía.
El segundo error en el que incurren las empresas que quieren desarrollar software con alguna metodología consiste en no darle el tiempo necesario a las iniciativas para su maduración. Son muchas las organizaciones que saltan de una metodología hacia otra sin ofrecerle a ninguna la posibilidad de mostrar sus ventajas y debilidades. Las metodologías surgen de un esfuerzo de maduración que en el menor de los casos ha sido de 18 meses. No se debe cambiar toda la estructura, se deben cambiar pequeñas porciones de la metodología que no estén operando de la manera adecuada y evaluarlas hasta obtener su optimización.
Un error estructural que inhibe el desarrollo de cualquier iniciativa metodológica en las empresas de desarrollo consiste en desligar el modelo de negocios de la metodología. Cada etapa de la metodología debe generar algún valor para la elaboración del producto final, esa generación de valor debe transferirse en valor de negocio generado para el cliente y en un costo en el desarrollo de la herramienta. Por lo tanto, cada etapa de la metodología debe tenerse en cuenta en la planeación del proyecto y en el establecimiento de compromisos con el cliente. Las metodologías no hacen los proyectos más costosos. El costo que no se asuma en el desarrollo, deberá asumirse incrementado en varios órdenes en el mantenimiento de una aplicación que tendrá un amplio margen de incertidumbre una vez se encuentre en producción.
Las metodologías ágiles son excelentes aproximaciones para el desarrollo de software de calidad. Sin embargo, muchas empresas asimilaron su ausencia de metodología con una de las metodologías ágiles. El no tener metodología es simplemente una forma desordenada y no predecible de trabajo en la cuál los resultados no se podrán garantizar. Para diferenciar, una cosa es tener requerimientos que evolucionan en el tiempo y otra bien diferente tener requerimientos estáticos que nunca se han especificado correctamente.
Para terminar. Se han difundido una serie de “mejores prácticas” para todas las herramientas y plataformas de software. Cada herramienta y proveedor define unas “mejores prácticas” que nunca han sido valoradas ni contrastadas con otras. Las “mejores prácticas” surgen luego de la medición de resultados en la ejecución de diversas prácticas, luego de muchas repeticiones y de muchos intentos es posible concluir que una práctica es una “mejor práctica” y no una peor o regular práctica.
