Rss Feed



  1. (CASO DE USO DE MOPROSOFT)

    EVALUACIÓN DE PROCESOS EN UNA EMPRESA DESARROLLADORA DE SOFTWARE USANDO MOPROSOFT

    1. INTRODUCCION.
    Teniendo en consideración la necesidad de fortalecer a la industria del software de Iberoamérica, principalmente en el fortalecimiento del nivel de competitividad de las pequeñas y medianas empresas desarrolladoras de software, se plantea como objetivo importante el alcanzar niveles internacionales en capacidad de procesos mediante la utilización de un modelo de procesos y de evaluación apropiado para la industria del software de Iberoamérica. Actualmente el número de modelos y estándares existentes a nivel internacional ha ido creciendo (Serrad, 2001), pero lamentablemente ha generado en muchos casos confusión (¿qué modelo utilizar?, ¿es el más apropiado?) y es abordado principalmente el problema en empresas de gran tamaño, muchas de las cuales ya tienen procesos establecidos, y que utilizan alguno de estos modelos como punto de referencia para identificar los elementos que les falta cubrir. En Chile es fundamental darle prioridad a la micro, pequeña y mediana empresa para un mayor desarrollo del país, pues ofrecen más del 70% del empleo del país (CORFO, 2006). Por lo tanto, se les debe dar la importancia que merecen para mejorar su productividad y la participación en el mercado nacional e internacional. Muchas pequeñas y medianas empresas en Chile desean el mejoramiento de sus procesos de software, pero sólo pocas han tomado el rumbo de una evaluación por medio de los modelos y estándares existentes debido a lo costos asociados a la evaluación e implantación de procesos de mejora. Por lo tanto, surge como una buena respuesta la aplicación de un modelo no costoso en su adopción y que sirva como base para alcanzar evaluaciones exitosas con otros modelos o normas. Las universidades, a la vez, tienen el deseo de participar en este tipo de mejoramiento, pero la relación universidad-empresa es algo que se debe cultivar y las estadísticas muestran que hay una gran separación que aún cuesta ir superando. Según el ENTI 2006 (CETIUC, 2006), realizado entre marzo y julio de 2006 en Chile, solamente el 5% de las empresas consultadas menciona a las universidades como fuente de innovación, en contraste con el 15% de las empresas europeas. Debido a todos los aspectos mencionados, en este artículo se presenta una experiencia relacionada con la aplicación del modelo MoProSoft en una pequeña empresa desarrolladora de software. Se utilizó MoProSoft debido a que este modelo está pensado para ser utilizado en este tipo de empresas. Este modelo es fácil de entender, fácil de aplicar, no es costoso en su adopción, y va a ser considerado como un punto de referencia para identificar los elementos que faltan por cubrir. Las siguientes secciones de este artículo comprenden: Una mirada global a los modelos de procesos existentes y la justificación del uso de MoProSoft (Sección 2), la aplicación de MoProSoft a una empresa desarrolladora de productos de software (Sección 3), las conclusiones y trabajo futuro (Sección 4). 2. MODELOS DE PROCESOS. Se entiende un proceso de software como un conjunto de procedimientos, métodos, equipos y herramientas que están a disposición de las personas con el propósito de concebir, desarrollar, instalar y mantener un producto de software. La evaluación de procesos es un examen disciplinado de los procesos utilizados por una organización, de acuerdo con algunos criterios, para determinar la capacidad que tienen estos procesos de ser ejecutados dentro de metas de calidad, de costo y de tiempo. Para que esto sea consistente y se repita, debe definirse un modelo de referencia. A nivel internacional existen diferentes modelos, estándares y sistemas de certificación para las empresas desarrolladoras de software, los cuales tienen su propio método de evaluación o certificación, por lo tanto, sus pasos y resultados finales pueden tener ciertas variaciones. De acuerdo con Wang et al. (1999) y De la Villa et al. (2004), los modelos y estándares que gozan de mayor difusión y prestigio son ISO 9001: 2000 (Mutafelija y Stromberg, 2003), CMMI [West, 2004], e ISO/IEC 15504 [ISO, 1998]. A continuación, la Tabla 1 presenta un cuadro comparativo con las principales características de cada modelo. ISO 9001:2000 CMMI ISO 15504 Ámbito de aplicación Genérico Software y sistemas Software y sistemas Ventaja El más extendido y sencillo El de mayor prestigio Más consensuado y probado ISO 9001:2000 CMMI ISO 15504 Desventaja Simple, general, no guía paso a paso Difícil de entender, mayor inversión, prescriptivo Difícil en capacidad, complejo para evaluar Procesos Estructura propia Estructura propia Delega en ISO 12207, por mayor aplicabilidad Validación Encuestas de satisfacción Encuestas de satisfacción y casos de estudio ´Trials´ y esfuerzo empírico Objetivo Cumplimiento de requisitos de calidad por procesos Mejora del proceso, determinación de la capacidad del contratista Valoración del proceso y guía para la mejora Representación Plana Continua y por etapas Continua (por etapas a nivel de proceso) Técnicas de análisis Guías y listas de comprobación Cuestionarios de evaluación Método para la mejora de procesos Ninguno, guía ISO 9004 IDEAL, mapa guiado SPICE 4ª Parte Tabla 1. Comparativa entre ISO 9000:2000, CMMI e ISO 15504 [De la Villa, 2004] En el caso de Latinoamérica, muchos países han comenzado a preocuparse de la calidad de los procesos asociados a desarrollo y mantenimiento de software para sus empresas, de manera de mejorar sus procesos y que le permita generar productos de calidad con el fin de ser competitivas a nivel nacional e internacional. De esta manera, se logra una diferenciación competitiva, donde el mercado reconoce la evidencia de la calidad de los productos y servicios proporcionados. Sin embargo, los países latinoamericanos reconocen que los modelos de mejoramiento que proveen las organizaciones como el SEI (Software Engineering Institute) e ISO (International Organization for Standardization) fueron diseñados para su aplicación en grandes empresas, por lo tanto, para empresas pequeñas puede ser muy difícil sobrellevar un proyecto de mejoramiento que signifique invertir grandes cantidades de dinero, tiempo y recursos. Es por este motivo que se han generado esfuerzos importantes que permitan aumentar la competitividad de las pequeñas y medianas empresas, por medio de propuestas que reconocen basarse en los modelos y estándares anteriores, con el fin de mejorar los procesos críticos de la producción de software en las pequeñas y medianas empresas, como los procesos de operación y los procesos de entrega de los productos y servicios. Las propuestas más sólidas son: MoProSoft (México), MPS BR (Brasil) y el modelo de procesos de la empresa Avansoft (Colombia). Las dos primeras propuestas están orientadas a pequeñas y medianas empresas, mientras que el modelo de procesos de Avansoft está muy orientado a proyectos grandes y tiene una formalidad extrema que lo convierte en inflexible. El modelo MPS BR está basado en ISO/IEC 12207:2002, CMMI e ISO/IEC 15504:2003, cuyo objetivo es que las PyMES obtengan un nivel de madurez 2 o 3 a un costo que sea accesible para ellas. Esta solución plantea dos modelos: • MN MPS: Modelo de Negocio para la mejora del proceso de software. Permite definir los elementos e interacciones involucrados para lograr una certificación de la empresa por medio de la implementación del modelo MR MPS. • MR MPS: Modelo de Referencia para la mejora del proceso de software. Esta implementación puede ser personalizada para una empresa o conjunta para un grupo de empresas, de manera de lograr costos menores. Teniendo presente una implementación futura gradual de CMMI en las pequeñas empresas brasileñas, el modelo establece 7 niveles con áreas de procesos basadas en este modelo. MoProsoft, en cambio, considera tres categorías de procesos que reflejan la estructura de una organización: Alta Dirección, Gerencia y Operación. Cada categoría está asociada con uno o más procesos. Las categorías con sus procesos y subprocesos son los siguientes: • Alta Dirección o Gestión de Negocio • Gerencia o Gestión de Procesos o Gestión de Proyectos o Gestión de Recursos ƒ Recursos Humanos y Ambiente de Trabajo ƒ Bienes Servicios e Infraestructura ƒ Conocimiento de la Organización • Operación o Administración de Proyectos Específicos o Desarrollo y Mantenimiento de Software En cada proceso se definen los roles responsables por la ejecución de las prácticas, los cuales se asignan al personal de la organización de acuerdo a las habilidades para un buen desempeño y a las capacitaciones realizadas. Se ha decidido utilizar MoProsoft debido a que ha sido adoptado por el gobierno mexicano y está lo suficientemente probado de manera exitosa para la realidad mexicana. De ahí nuestro interés para utilizarlo en Chile en una empresa desarrolladora de software, interesada en mejorar sus procesos, pero no con los suficientes recursos para someterse a una evaluación del tipo CMM o ISO.

    3. PROCEDIMIENTO DE EVALUACIÓN Y SU APLICACIÓN.
    A continuación, se pretende medir el nivel de capacidad en que se encuentran los procesos de producción y/o mantenimiento de software en una pequeña empresa de desarrollo de software. Esta empresa se dedica a proveer productos de software que satisfacen las necesidades del mercado agrícola a nivel nacional e internacional. El propósito del procedimiento de evaluación es determinar la ubicación o status de la empresa en relación al modelo MoProSoft, y orientarla hacia un camino ordenado de mejoramiento. El procedimiento de evaluación considera las siguientes tareas:

    • PRE-EVALUACION:
    Preparación previa a la evaluación. Consiste en exponer a los participantes la idea de la actividad, explicando brevemente ciertos conceptos necesarios para entender el modelo MoProSoft y los objetivos que se persiguen. Se señala lo que se debe y no se debe esperar de esta actividad y los beneficios que se pretenden obtener. Se hace hincapié en mencionar que lo que se busca evaluar es el proceso, y no a las personas, para evitar cualquier sesgo en las respuestas. Esta actividad es clave para asegurar la adecuada utilización de la herramienta de evaluación. Para poder iniciar la evaluación se requieren los siguientes datos: o Nombre de la organización o Organigrama de la organización o Plan de mejora (si lo tienen) o Inventario de proyectos dentro del alcance de la evaluación o Nombre del representante de la organización o Propósito de la evaluación, que incluya el tipo de evaluación, los niveles de capacidad esperados y/o niveles de madurez de capacidad de procesos esperados. o Acuerdo de confidencialidad general sobre el control de la información resultante de la evaluación. o Duración de la evaluación, fecha de inicio y final.

    • EVALUACION:
    Se identifica el grupo de trabajo adecuado relacionado con las categorías mencionadas en MoProSoft: Alta Dirección, Gerencia y Operación. Posteriormente se procede a realizar entrevistas que permitan verificar el cumplimiento de los ítems que son necesarios en cada nivel.

    • GENERACION DE RESULTADOS:
    Una vez realizada la evaluación se elabora un informe que contiene los siguientes tópicos: o Categorías evaluadas y resultados de la evaluación o Perfiles de madurez por procesos o Recomendaciones para generar un plan de acción 3.1 Preparación de la Evaluación. Primero se realizó un estudio a fondo del modelo de capacidades de procesos MoProSoft y su método de evaluación EvalProSoft. Luego de haber estudiado y realizado una presentación de estos modelos al grupo de trabajo se comenzó a realizar un test que sirviera de base para realizar las entrevistas en la empresa. Este test está dividido de acuerdo a 3 grandes categorías de una empresa: Alta Dirección, Gestión y Operación, donde se controla que se cumplan los objetivos pedidos en cada uno de los procesos de cada categoría. La idea de este trabajo, que se realizó en conjunto con la empresa, fue para poder tener un resultado de una evaluación inicial del nivel de capacidad alcanzado en sus procesos, el cual se deriva de la calificación que se obtenga de los atributos correspondientes en cada uno de los niveles. Los niveles y sus respectivos atributos son los siguientes: • Nivel 0: Proceso incompleto • Nivel 1: Proceso realizado o Atributo de realización del proceso • Nivel 2: Proceso administrado o Atributo de administración de la realización o Atributo de administración del producto de trabajo • Nivel 3: Proceso establecido: o Atributo de definición del proceso o Atributo de implantación del proceso • Nivel 4: Proceso predecible o Atributo de medición del proceso o Atributo de control del proceso • Nivel 5: Proceso optimizado. o Atributo de innovación del proceso o Atributo de optimización del proceso El grado del cumplimiento del atributo del proceso se califica usando una escala ordinal, definida en la Tabla 2, de acuerdo al método de evaluación EvalProsoft. N No alcanzado 0-15% del alcance P Parcialmente alcanzado > 15 % hasta 50 % del alcance A Ampliamente alcanzado > 50 % hasta el 85 % del alcance C Completamente alcanzado > 85 hasta el 100 % del alcance Tabla 2. Calificación de los atributos de los procesos Estos porcentajes que podemos apreciar en la Tabla 2 son los obtenidos de cada una de las prácticas que se requieren cumplir por nivel de capacidad en cada uno de los procesos. El nivel de capacidad del proceso es el nivel cuyo cumplimiento de los atributos es, al menos Ampliamente alcanzado (A) y el cumplimiento de los atributos de los niveles inferiores es Completamente alcanzado (C). En total son 6 niveles de capacidad de procesos (del 0 al 5). Cada nivel presenta atributos que lo caracterizan, los cuales corresponden a cada uno de los niveles de capacidades de los procesos de desarrollo (proceso incompleto, proceso realizado, proceso administrado, proceso establecido, proceso predecible y proceso optimizado). 3.2. Resultados obtenidos. Luego de sucesivas reuniones con personas de distintas áreas de la empresa (relacionadas con las categorías y procesos establecidos por MoProSoft), se tuvo respuesta a todas las preguntas necesarias que permitieran analizar el nivel de capacidades de los procesos de la empresa. Además de realizar una visita a sus dependencias y poder ver algunos de los documentos que realizan comúnmente en sus etapas de desarrollo. De esta manera, se pudo ver las prácticas que se cumplían en cada nivel y calcular el grado de cumplimiento del atributo con una simple fórmula: % cumplimiento = ((Nº de respuestas SI)*100)/total de prácticas del atributo En la Tabla 3 se puede ver un resumen del grado de cumplimiento de cada atributo lo que le da el nivel de capacidades en que se encuentran los procesos de Gestión de Proyectos, Administración de Proyectos Específicos, y Desarrollo y Mantenimiento de Software. El conjunto de niveles de capacidad de los procesos implantados, que están dentro del alcance de la evaluación, constituye un perfil del nivel de capacidad de los procesos. Proceso Prácticas cumplidas del Total Grado de Cumplimiento (%) Nivel Gestión de Proyectos 22/33 67 0 Adm. de Proyectos Específicos 29/37 78 0 Desarrollo y Mantenimiento de Software 42/48 88 1 Tabla 3: Resumen de cumplimiento de las prácticas de los atributos de procesos. Para una mayor comprensión del nivel alcanzado en cada uno de los procesos mostrados en la Tabla 3, se presentará de manera resumida el análisis del proceso Gestión de Proyectos para el Nivel 1 (ver Tabla 4), el cual debe cumplir con todos los ítems que requiere el atributo de realización del proceso. Es importante destacar que se comienza analizando desde el Nivel 1. Si cumple un determinado nivel, entonces se prosigue con el nivel siguiente; en caso contrario, no se justifica analizar los niveles superiores. AP 1.1 Atributo de realización del proceso Si No Generan un plan de adquisiciones y capacitación. x Generan un contrato con el cliente. x Tienen registros de los proyectos realizados. x Tienen un responsable de administración de proyectos específicos. x Realizan una descripción del proyecto. x Tabla 4: Proceso Gestión de Proyectos (Ítems del Nivel 1). En la Tabla 4 sólo se muestra de manera parcial algunos ítems. Considerando la totalidad, para este atributo la empresa logra alcanzar un 67%. Lo cual se puede concluir que no alcanza el Nivel 1 de capacidad en su proceso. Por lo tanto, no se puede seguir evaluando lo que cumple del siguiente atributo para Nivel 2 ya que no es capaz de alcanzar Nivel 1. Sólo, a modo de ejemplo, se muestran algunos ítems a considerar para lograr el Nivel 2. Este análisis se realizó, aunque no era necesario porque no se alcanzó el Nivel 1. En este caso, considerando la totalidad de ítems, no logra más de un 3% de cumplimiento. AP 2.1 Atributo de administración de la realización Si No Acciones correctivas o preventivas x Comentarios y quejas del cliente x Mecanismos de comunicación con los clientes x Reporte de validación x Responsable de gestión de negocio x Establecer mecanismos de comunicación con el cliente de acuerdo al plan de comunicación con el cliente x Corregir defectos encontrados en el Planes mencionados en la actividad anterior, de acuerdo en el Reporte de Validación y obtener la aprobación de las correcciones x Implantar los Mecanismos de Comunicación con los Clientes y recabar comentarios y quejas de los Clientes x Tabla 5: Proceso Gestión de Proyectos (Ítems del Nivel 2) En el caso del Desarrollo y Mantenimiento de Software, se consideran todos los ítems a cumplir como Entradas a cumplir en el Nivel 1 (Tabla 6) y los ítems a cumplir como Roles Involucrados para cumplir con el Nivel 1 (Tabla 7). AP 1.1 Atributo de realización del proceso Si No Plan de Desarrollo. x Descripción del producto. x Entregables. x Equipo de Trabajo. x Calendario. x Tabla 6: Proceso Desarrollo y Mantenimiento de Software (Ítems de Entrada del Nivel 1) Roles para el atributo AP 1.1 Si No Responsable de administración del proyecto específico. x Responsable de desarrollo y mantenimiento de so x Analista. x Diseñador de interfaz de usuario. x Diseñador. x Programador. x Responsable de manuales. x Equipo de Trabajo. x Cliente. x Usuario. x Tabla 7: Proceso Desarrollo y Mantenimiento de Software (Ítems de Roles involucrados en Nivel 1) Considerando todos los ítems necesarios, la empresa logra alcanzar un 88%. Lo cual se puede concluir que alcanza el Nivel 1 de capacidad en su proceso. Para el caso de la Administración de Proyectos Específicos, se muestra en la Tabla 8 los ítems que es necesario cumplir como Salidas del proceso necesarias para obtener el Nivel 1. AP 1.1 Atributo de realización del proceso Si No Plan del Proyecto. x Documento de Aceptación. x Plan del Proyecto, Plan de adquisiciones y Capacitación. x Plan de Desarrollo: x Descripcion del producto y entregables. x Equipo de trabajo. x Calendario. x Tabla 8: Proceso Administración de Proyectos Específicos (Ítem de Salidas en Nivel 1) Para este atributo, y considerando todos los ítems necesarios (Entradas, Salidas, Roles, etc.) la empresa logra alcanzar un 78% lo cual según la escala es alcanzado ampliamente. Pero podemos decir que no logra alcanzar el nivel 1 de capacidad en su proceso.

    4. CONCLUSIONES.
    Este artículo no resuelve todos los problemas para el mejoramiento de procesos en la empresa analizada. Sin embargo, es sólo un paso en la dirección correcta, debido a que se enfoca en un problema importante y provee una guía para su solución al basarse en MoProSoft. El procedimiento realizado con MoProSoft ha sido útil como una guía de referencia que nos permitió considerar los procesos importantes de una pequeña empresa desarrolladora de software. De esta manera, se ha podido revisar los procesos de software de la organización para posteriormente recomendar actividades de mejoramiento. A la vez, nos permitió definir un cuestionario y establecer un checklist en forma previa a la evaluación, de manera de poder abarcar todas las actividades que nos permitieran diagnosticar el estado actual de la empresa desarrolladora. Dado este estudio preliminar, se ha concluido que la organización evaluada posee un claro estado de inmadurez. El desafío está en asumir con seriedad el problema y realizar el mejoramiento de los procesos teniendo un respaldo organizacional que incluya los recursos necesarios. Se probó que EvalProsoft es aplicable para evaluar la capacidad de los procesos de una pequeña empresa y sin demasiado gasto en el proceso de evaluación, en comparación con otros modelos cuyas evaluaciones son muy costosas. Por último, es importante destacar que el trabajo conjunto universidad-empresa es una buena estrategia que se debe aprovechar, principalmente porque el foco de las universidades es investigar. Además, si se trabaja de la mano con las empresas, las universidades dirigirán su foco hacia la investigación aplicada, lo que permitirá marcar diferencia, apoyar a las empresas en el desarrollo de software de calidad, y a la vez mejorar la formación por competencias de sus alumnos. Como trabajo futuro se establecerá un plan de acción que permita mejorar las capacidades de la empresa evaluada. Además, el realizar mayores evaluaciones permitirá no sólo aplicar el modelo, sino que también proponer mejoras que puedan adaptarse completamente a las pequeñas y medianas empresas de nuestro país.

    Rodolfo Villarroel1 , Yessica Gómez1 , Hanna Oktaba2 , Verónica Martínez1 {rvillarr, ygomez}@spock.ucm.cl, ho@fciencias.unam.mx, vmf_fbz@yahoo.es (1) Universidad Católica del Maule Departamento de Computación e Informática Avenida San Miguel 3605, Talca, Chile (2) Universidad Nacional Autónoma de México Facultad de Ciencias, Departamento de Matemáticas Circuito Exterior Ciudad Universitaria, C.P. 04510, México D.F.

  2. 0 comentarios:

    Publicar un comentario