MoProSoft en la práctica. Recomendaciones para su implantación.

Este artículo presenta la experiencia de la implantación de MoProSoft® en una empresa de desarrollo de software y resume un ciclo de mejora considerando desde la planeación estratégica hasta su valoración. Se explica cómo se usó el modelo como marco de referencia para las partes de gestión y operación y cómo se utilizó el qué y el cómo para la parte de Gestión de Negocio.

MoProSoft® es un modelo de procesos de reciente creación, para la industria de software en México que fomenta la estandarización de su operación a través de la incorporación de las mejores prácticas en gestión e ingeniería de software. El objetivo de este modelo es mejorar la capacidad de los procesos de las empresas.

La estructura de MoProSoft® considera tres categorías: Alta Dirección, Gestión y Operación. Establece un mecanismo para alinear las estrategias de las tres categorías. La categoría de Alta Dirección contiene el proceso de Gestión de Negocio. La categoría de Gestión está integrada por los procesos de Gestión de Procesos, Gestión de Proyectos y Gestión de Recursos. Éste último está constituido por los subprocesos de Recursos Humanos y Ambiente de Trabajo, Bienes, Servicios e Infraestructura y Conocimiento de la Organización. La categoría de Operación está integrada por los procesos de Administración de Proyectos Específicos y de Desarrollo y Mantenimiento de Software.

MoProSoft® está disponible en la página www.software.net.mx

Antecedentes
Desde hace varios años, ULTRASIST ha realizado un esfuerzo de mejora incremental al adoptar las mejores prácticas de diferentes modelos internacionales. Como resultado, la Organización alcanzó el nivel de madurez 4 de SW-CMM®, utilizando a MoProSoft® como marco de referencia.

En la planeación estratégica del 2003, la Organización decidió buscar una evaluación en algún modelo reconocido en la industria. Entre los modelos candidatos se encontraban ISO 9000:2000, MoProSoft y SW-CMM®. En ese momento MoProSoft® tenía la característica de ser el documento base de la norma mexicana para la industria de software, pero por ser de reciente creación, no contaba con su método de evaluación, ni con un organismo que respaldara la aplicación del mismo. La decisión que se tomó para adoptar el modelo orientado en la industria mexicana y lograr una evaluación reconocida, fue obtener al menos un nivel 3 de SW-CMM® a través de MoProSoft®.

Problemática
La Organización contaba con una serie de procesos para el desarrollo y mantenimiento de software, administración de proyectos y para establecer la mejora continua de los mismos. El desempeño de los procesos de desarrollo y mantenimiento se medía a través de indicadores, lo que permitió robustecer estos procesos pero no proporcionaban el tipo de información que necesitaba saber la alta dirección para medir el cumplimiento de los objetivos estratégicos. Durante varios años la Organización establecía un Plan Estratégico para definir las metas, pero no con base en un proceso documentado. Existía una brecha entre las metas de negocio y las de los procesos de desarrollo de software por no contar con una retroalimentación bidireccional. Es decir, la dirección consideraba los resultados de la valoración de los procesos para realizar esta actividad de planeación, mientras que el Grupo de Procesos se preocupaba por mejorar los procesos con base en los resultados de la evaluación anterior (defectos fugados, defectos por caso de uso, plataforma de trabajo, retrabajo, entre otros) pero no se consideraban las expectativas de la alta dirección (utilidad esperada, retorno de inversión, valor presente neto, tasa interna de retorno, entre otros).

Experiencia en la Implantación
MoProSoft® se utilizó para alinear las estrategias de la parte operativa con las expectativas de la alta dirección. El proceso de Gestión de Negocio se estableció formalmente en la Organización. Una vez revisada la misión, visión y valores de la Organización, se revisaron los objetivos estratégicos y se definieron indicadores que permitieran evaluar el cumplimiento.

Los objetivos estratégicos se agruparon en cuatro perspectivas como sugiere el Cuadro de Mando Integral (Balanced ScoreCard). En la Perspectiva Financiera se agruparon aquellos objetivos que tienen que ver con el cumplimiento de las expectativas de los accionistas. En la Perspectiva del Cliente los objetivos que nos llevan a satisfacer las necesidades de nuestros clientes. En la Perspectiva Interna los relacionados con la mejora de aquellos procesos en los cuales debemos ser excelentes, y finalmente, la Perspectiva de Aprendizaje y Crecimiento que considera los aspectos críticos para mantener la excelencia.

Se definieron los procesos de negocio requeridos en la Organización para dar cumplimiento a los elementos del Plan Estratégico, la estructura organizacional se revisó y actualizó principalmente en lo que respecta al Grupo de Procesos definiendo responsables de procesos y especialistas. El Plan de Comunicación se instituyó como un mecanismo de difusión de los Planes a los miembros de la Organización. Se consideró un Proyecto de Inversión y se identificaron los proyectos internos y externos para dar cumplimiento a los objetivos. Como proyectos internos se establecieron el Proyecto de Mejora y el de Infraestructura y Fortalecimiento. Se establecieron las estrategias para dar cumplimiento a los objetivos estratégicos y se definieron metas e indicadores para poder valorar el avance.

La alta dirección dio la responsabilidad al Grupo de Procesos para detallar los Procesos de Negocio y definir los procesos de apoyo para cumplir con los objetivos estratégicos planteados.

La implantación del proceso de Gestión de Negocio dio orden y disciplina a las actividades de la alta dirección, lo que permitió establecer la alineación de las metas de negocio con las de Gestión y Operación.

Categoría de Gestión y Operación
El Grupo de Procesos realizó un análisis de brecha de las prácticas establecidas en la Organización con respecto a las establecidas en las otras categorías de MoProSoft®. Como resultado se obtuvo que la Organización contaba con procesos que cubrían gran parte de la categoría de Gestión y toda la categoría de Operación.

Con base en el análisis realizado, se priorizaron los objetivos con la Dirección y se elaboró el Plan de Procesos que contiene la estrategia para definir, implantar, medir y evaluar los procesos. Las métricas que se establecieron fueron aquellas que permitieran retroalimentar a la Organización en cuanto al cumplimiento de los objetivos estratégicos. El aspecto más importante que se tomó en cuenta para definir una métrica fue que el costo de producirla estuviera balanceado con el beneficio potencial que será ganado en la organización. El registrar, recolectar y evaluar métricas lleva implícito un costo, que para la mayoría de las empresas mexicanas de desarrollo de software puede resultar prohibitivo si no se garantiza un retorno de inversión a corto plazo. Si bien es sabido que no se puede mejorar lo que no se puede medir, también es cierto que hay que empezar por mejorar aquellos procesos que impacten a las metas prioritarias de la Organización.

Categoría de Gestión

La estrategia que estableció el Grupo de Procesos para implementar los cambios en la Organización, consistió en realizar las actividades en forma iterativa e incremental de acuerdo a las prioridades establecidas.

Al finalizar cada incremento se evalúo el cumplimiento de los objetivos establecidos en el Plan Estratégico. Estas evaluaciones fueron más frecuentes que las establecidas en los años anteriores por ser un modelo de procesos nuevo, que impactaba a toda la Organización. Para este proyecto, se acordó contar con el apoyo de consultores internos y externos con conocimientos en CMM® y MoProSoft® para asegurar el apego a los modelos. Durante la definición y el ajuste del proceso se establecieron las diferencias significativas entre los modelos MoProSoft® y SW-CMM®. Con respecto al proceso de Gestión de Proyectos, se dividió en dos procesos, Ventas y Oficina de Proyectos, tomando como base las prácticas ya establecidas en la Organización.

Para los procesos de Gestión de Recursos y sus subprocesos asociados, se estableció una arquitectura diferente a la definida por MoProSoft®. La Organización contaba con un proceso que considera un Plan de Capacitación para cumplir con las metas planteadas en los objetivos estratégicos de aprendizaje y crecimiento; considera los requerimientos de los proyectos, las sugerencias del personal e incluye el desarrollar las habilidades que se desea que adquieran los miembros de la Organización, como es el trabajo en equipo, habilidades gerenciales, y manejo de conflictos. La capacitación que plantea se ofrece en diferentes modalidades: interna, externa, seminarios sobre nuevas tendencias tecnológicas y capacitación en la práctica.

El proceso de Recursos Humanos establecido por MoProSoft® se maneja dentro del Proceso de Gestión de Proyectos por la Oficina de Proyectos. En él se establecen los elementos a considerar en la selección, asignación, aceptación, evaluación y desempeño de los recursos humanos. Para la evaluación de los miembros de la Organización se provee un mecanismo que permite valorar su crecimiento en dos direcciones: la horizontal con respecto al desarrollo de habilidades y la vertical con respecto a los conocimientos y responsabilidades. El objetivo de esta evaluación es permitir un crecimiento gradual de los miembros de la Organización para cumplir con los objetivos estratégicos planteados en la perspectiva de aprendizaje y crecimiento.

En cuanto al Plan de Infraestructura y Ambiente de Trabajo, se considera dentro del Proyecto de Infraestructura derivado del Plan Estratégico.

Si bien la Organización contaba con una Base de Conocimiento con la información referente a las Categorías de Gestión y de Operación, no consideraba la generada por la Alta Dirección. Hoy en día el repositorio considera toda la información de la Empresa.

SW-CMM® a Través de MoProSoft®
Como resultado de este esfuerzo, la empresa pudo comprobar que es factible implantar MoProSoft® y que es un posible medio para las organizaciones que deseen lograr una evaluación exitosa en un modelo internacional como SW-CMM®. Para lograrlo es necesario cuidar las prácticas establecidas en CMM® y no consideradas en MoProSoft®, por ejemplo:

• En el proceso de Gestión de Negocio, escribir una política que contenga los lineamientos que rijan los procesos definidos considerando los compromisos establecidos en el nivel que se desea alcanzar de SW-CMM®.
• En el subproceso Recursos Humanos y Ambiente de Trabajo del proceso de Gestión de Recursos, definir un mecanismo de renuncia a la capacitación asignada.
• En el subproceso de Conocimiento de la Organización del proceso de Gestión de Recursos, incluir las prácticas de administración de configuración establecidas en CMM®.
• MoProSoft® no considera el Grupo de SQA que maneja CMM®, pero sí establece verificaciones y validaciones a productos y a procesos, sin embargo, para cumplir con CMM® hay que conformar un Grupo de SQA que sea independiente al proyecto.
• En cada uno de los procesos de MoProSoft incluir las verificaciones de las actividades por el SQA de acuerdo a cada área clave de CMM®.
• En las evaluaciones externas (proceso de gestión de procesos) considerar un SQA externo.

Ambos modelos llevan al mismo fin, pero cada uno sigue un camino diferente.

MoProSoft como marco de referencia

Fortalezas de MoProSoft®
Gestión de Negocio, sirve como vínculo entre la parte de operación, gestión y dirección para que los esfuerzos de la organización estén alineados para alcanzar la misión y visión. Para empresas de reciente creación pueden utilizar el qué y el cómo que define MoProSoft® como un medio que facilite la transición a un modelo internacional.

Los modelos internacionales por lo general consideraran una gran variedad de roles que una micro y pequeña empresa mexicana no puede implantar. MoProSoft® no restringe a ningún rol para que pueda ser realizado por una misma persona, o por diferentes personas dentro del mismo proyecto y en la medida que la empresa crece, éstos pueden paulatinamente ser asignados a personas diferentes. Se recomienda cuidar en la medida de lo posible que una persona no sea juez y parte. Esto permite a la micro y pequeña empresa crear la cultura de procesos y fomentar la disciplina.

Aunque MoProSoft® fue pensado principalmente para la pequeña y mediana empresa, puede ser usado como marco de referencia para toda empresa que se inicia en un programa de mejora, para asegurar que las estrategias a lo largo de la organización están alineadas y para asegurar que los procesos ya establecidos, contemplan las mejores prácticas.

Recomendaciones Generales para Implantar MoProSoft®
Es importante conservar las mejores prácticas con las que cuenta una organización y, en caso de ser requerido, ajustarlas para el cumplimiento con el propósito, los objetivos, la descripción del proceso establecidos por el modelo MoProSoft®. Como ejemplo, definir un proceso de Gestión de Recursos que incorpore los elementos de los subprocesos de Recursos Humanos e Infraestructura, Bienes, Servicios y hacer un proceso en Gestión de Conocimiento de la Organización.

La participación de consultores con experiencia en el modelo que se desea implantar siempre es recomendable. En MoProSoft® por ser un modelo de reciente creación que no cuenta con experiencia documentada, se considera indispensable.

Para las organizaciones que inician un programa de mejora, el proceso de Gestión de Procesos podría ser el primero a definir e implantar puesto que con este proceso se genera el resto de los procesos. Se recomienda una estrategia incremental de acuerdo a las prioridades de la organización que permite reducir los riesgos que conlleva la introducción de muchos cambios y permita a la Dirección observar resultados a corto plazo.

La responsabilidad de asignación de recursos humanos a los proyectos se puede atribuir al responsable de Gestión de Proyectos y la parte de registro de recursos humanos a un área administrativa.

Acerca del auto
Claudia Alquicira trabaja en Avantare Consutores como consultor en programas de mejora en organizaciones de desarrollo de software. Sus áreas de interés son la ingeniería de software, calidad y tecnología orientada a objetos. Claudia cuenta con una Maestría en Ciencias de la Computación y participó como ponente en el SEPG LA 2004