Deoxy.-

Las causas más comunes de falla en la implantación de mejoras en software

04-11-2005 21:06:40

Resumen:

 

La implementación de modelos de mejora en los procesos de desarrollo de software como CMM/CMMI, trae consigo cambios profundos en los procesos organizacionales. Pero además afectan a la cultura organizacional y por tanto existen inconvenientes casi imperceptibles por los gestores de estos proyectos de mejora.

El este trabajo se realiza un estudio de los distintos factores que pueden afectar el proceso de mejora de la calidad, y que tan profundo puede ser el impacto de estos problemas que se generan a partir de cosas que parecen evidentes, pero que no son observadas ni entendidas actualmente por el modelo CMM/CMMI.

Introducción

 

La implementación de procesos de mejora en el desarrollo de software SPI (Software Proccess Improvement) trae cambios muy profundos en las organizaciones que desean implementar estos modelos, pero además existen cambios muy sutiles que los administradores o jefes de proyectos deben ser capaces de identificar y solucionar oportunamente para evitar catástrofes que incluso pueden llevar al fracaso en la implementación de modelos de mejora.

Algunos estudios hablan de índice de fracasos en la implementación de estos modelo de hasta un 70% [1] y esto a motivado este estudio respecto de las causas principales que han generado el fracaso de estas iniciativas.

En este trabajo se intenta establecer, basados en distintos estudios y bibliografía disponible, cuales son los principales motivos, y determinar cuales son las falencias que los modelos de mejora de software que han “permitido” estos fracasos.

Los distintos estudios hablan de que razones sociológicas [1] [2] o antropológicas son las causantes de los distintos fracasos de las iniciativas de implementación de SPI.

Pero, a título personal, creo que también existen falencias técnicas del los modelos de mejora, específicamente  de CMM/CMMI, o más bien de la no estandarización de las técnicas de desarrollo de software [1] (si es que se puede llamar ingeniería [5]) o el establecer el “como” se debe llevar a cabo un proceso de mejora.

 

Desarrollo

 

El estudio de los procesos de implementación de SPI de distintas fuentes, paper, ebook, web, blog etc. han permitido establecer una especie del “estado del arte” en los fracasos de la implementación de modelos de mejora.

Desarrollaremos el problema en distintas fases:

  • Problemas en la comunicación de requisitos, comunicación de objetivos y alcances de los procesos de mejora de software. Así como una comunicación interna ineficaz dentro de las organizaciones que intentan la evaluación de sus procesos de mejora.
  • Problemas inherentes a omisiones técnicas de los modelos específicamente CMM/CMMI, respecto de omitir o no considerar los aspectos intraculturales [1] de cada organización.
  • La creencia de que el software se puede mejorar sólo con estándares, métricas y “buenas prácticas” [3]. Pero si no son bien identificadas y comunicadas (una vez más) pueden derivar irremediablemente en el fracaso de las iniciativas de mejora.

 

Comunicación organizacional y en equipos de desarrollo

 

Una de las dificultades en el proceso de implementación de modelos de mejora de software, radica en la comunicación poco efectiva por parte de los gestores de proyectos o dentro de los mismos equipos de desarrollo de software.

En The Mythical Man-Mounth [4] se establece, entre otras cosas que el éxito de todo proyecto, incluidos los de desarrollo de software o la implementación de procesos de mejora radica en que la comunicación debe fluir en todas direcciones, desde la alta gerencia hasta la última persona en la “jerarquía” de la organización, y no solo una comunicación del tipo “Top Down” sino también una comunicación hacia arriba en la organización, es decir la información debe ser transversal a toda la organización. La identificación de pequeños problemas puede hacer la diferencia en que los modelos de implementación fracasen, cuando estos “pequeños” problemas, se transformen en “grandes” problemas.

El asunto de la comunicación tiene además un problema agravante más, y es la poca comprensión de los equipos de desarrollo de los verdaderos objetivos y alcances de los procesos de mejora, y eso los puede hacer sentir desmotivados, pues existen cambios organizacionales que para el equipo de desarrollo pueden ser bastante incómodos, como el hecho de que con la implementación de estos procesos de mejora, como la implementación de técnicas de ingeniería de software y documentación, les quite “libertad de creación” en sus desarrollos, o que se involucren personas no técnicas en los procesos de desarrollo o incluso en testing de los programas de software.

El problema de la comunicación debe superar además el grabe problema de “entendimiento” entre las partes involucradas, como puede ser una especificación de requerimientos de un equipo no técnico, como puede ser un equipo de marketing. Es importante la cantidad de documentos y estudios que se generan anualmente sobre la importancia de una buena especificación de requerimientos de software, pero no se generan estudios que indiquen “como” se deben comunicar efectivamente esos requerimientos. 

 

Cultura organizacional.

 

Otro aspecto muy importante en el éxito de un proceso de implementación de procesos de mejora en el desarrollo de software, es que cada organización tiene una cultura intrínseca y arraigada a través del tiempo, por lo que una implementación de procesos de mejora puede impactar de una forma imprevista la sinergia que ya estaba arraigada en una u otra organización. Esta cultura organizacional es el resultado de prácticas repetibles que han estado presente en la organización desde siempre. Una organización sin cultura es común grupo de personas que no pueden comunicarse entre sí. Existe una analogía de la torre de Babel que se menciona en The Mythical Man-Mounth, donde teniendo todo lo necesario para construir una torre que llegara al cielo, no pudieron lograr su objetivo debido a que Dios les hizo hablar a todos en idiomas distintos (seguro no le gustó la idea de la torre), por lo que la comunicación dentro del grupo de trabajo fue nula, y este fue el principal motivo defracaso del proyecto.

Por otra parte Quinn y MaGrath [1] proponen distinto modelos culturales ideales en una organización, lo que si son transgredidos o son contradictorio superpuestos, entonces la confusión impedirá el éxito del proceso, p. e. El desarrollo de modelos con estructuras basadas en la colaboración grupal y con mecanismos de decisión deliberativo y participativo, en una organización modelada jerárquicamente, como las organizaciones militares donde su estructura se basa en las reglas y rutinas formales y las decisiones son Top Down.

 

Las Contradicciones de los modelos de mejora CMM/CMMI.

 

Las contradicciones técnicas de los modelos CMM/CMMI pueden llevarnos, sino son previstas con anticipación, al fracaso de los proyectos de implementación. Pues en los niveles mas bajos de madurez se pretende generar equipos de trabajo organizados y participativos, además de capacitaciones basados en el desarrollo humano, y por otra parte, en los niveles más altos de madurez, nos indica de debemos reglamentar el funcionamiento, restando libertad o truncando los modelos participativos y de colaboración de los equipos de trabajo desarrollados en las etapas tempranas de madurez.

La cultura en las organizaciones puede ser determinante en el éxito de las mejoras. Patricia Forradillas, Guillermo Pantaleo y el Dr. Juan Rogers. Proponen que las empresas donde el proceso de cambio sea de un impacto significativo, se debe comenzar con un análisis que permita detectar cuales son los valores organizacionales, característicos de la cultura de la empresa que puedan verse afectados por los procesos de cambio, determinar cuales son sus practicas para el proceso de desarrollo que puedan involucrar una intervención considerable, y que de verse afectados pueda afectar el la moral o permisividad de los grupos de desarrollo.

Con esta información debidamente estudiada se genera el camino o el plan de implementación más adecuado a la realidad de cada organización.

Se dice que CMM/CMMI se basa en pensamientos mecanicistas y que ignoran la realidad cultural de cada organización. En otras palabras se podría inferir, a partir de lo que propone Bill Curran que el modelo CMM/CMMI trata de identificar el desarrollo de software como un proceso ingenieril formal y científico, sin considerar (aparentemente) la influencia del software sobre el comportamiento humano.

El estudio previo de las variables culturales de cada organización, antes de la implementación de los modelos de mejora, puede hacer la diferencia entre un proyecto exitoso o uno fracasado.

 

Conclusión

 

El proceso de implementación de mejoras en el proceso de desarrollo de software como CMM/CMMI es complejo, para una organización en sus aspectos técnicos, formalistas y estructurales.

La implementación de CMMI tiene además otros procesos o hitos igualmente complejos que deben de ser considerados antes de la implementación del modelo como tal. El problema de CMM/CMMI es que no consideran los aspectos sociológicos o antropòlógicos de las organizaciones en las que se desea implementar.

Existen problemas derivados de la implementación de estos modelos que tienen directa relación con el desarrollo éxitos de los proyectos. Tales como problemas motivacionales, comunicacionales, capacidades administrativas y de gestión de los recursos humanos que no necesariamente se pueden superar por la mera capacitación del personal que debe trabajar con este modelo.

Los gestores de proyectos tienen por tanto la responsabilidad de prever estos problemas derivados del estrés por el cambio cultural de la empresa y conducir a partir de la propia cultura organizacional los procesos de mejora.

 

Referencias

 

[1] El modelo CMM/CMMI – Cómo garantizar el éxito del proceso de mejoras en las organizaciones, superando los conflictos y tensiones generados por su implementación.

Ing. Patricia Forradillas, Ing. Guillermo Pantaleo. Dr. Juan Rogers.

[2]  Comunicación en equipos de software

       Por Joaquín Gracia 17 de julio de 2004.

[3]  Mitos, creencias y supersticiones sobre la calidad del software y de su enseñanza.

       Adolfo Guzman Arenas – Centro de Investigación en Computación (CIC) – Instituto Politécnico Nacional (IPN) – México.

[4]  Windows Vista y el efecto del segundo sistema

Sergio Montero Ten – El Versionero

[5] What is Software Egineering?

By Bill Curran – Portal ACM http://portal.acm.org

 

 

J.Rodrigo Anabalón (Deoxy)

Comments