Tanto para el programa ALTA como para este trabajo de tesis, es importante conocer no slo el modelo de Capacidad de Madurez, sino la forma en que se evala el nivel de madurez de una empresa de software. Para establecer las debilidades y fortalezas de una organizacin, es necesario hacer una valuacin de los procesos de software. El organismo encargado de establecer los lineamientos, modelos y prcticas relacionadas con el tema, es el Instituto de Ingeniera de Software (SEI por sus siglas en ingls); el progreso que ha tenido ste en la valuacin de procesos de acuerdo al modelo CMM resulta interesante, ya que se han generado diversos mtodos y trminos para ello. Dado que CALYPSO es una aplicacin de uno de stos, es importante conocer lo que se ha hecho para ayudar a las empresas a conocer sus procesos. 4.1 Evolucin de los mtodos de valoracin del SEI El Instituto de Ingeniera de Software es la mxima autoridad del rea y dada su misin de proveer liderazgo en avanzar el estado de la prctica de la ingeniera de software mediante el mejoramiento de la calidad de los sistemas que dependen del software [Dunaway96], ha hecho un fuerte nfasis para tratar las tareas de desarrollo de software como procesos que pueden ser definidos, practicados, medidos y mejorados. En las primeras publicaciones de procesos de software del SEI, se desarroll una infraestructura de desarrollo y un cuestionario para ayudar a las organizaciones a caracterizar el estado actual de sus prcticas de software, establecer metas para la mejora de 74 procesos y prioridades. Todo esto con la idea de que la calidad de un sistema de software es largamente gobernado por la calidad de los procesos usados para desarrollar y mantenerlos [Dunaway 96]. Un proceso de software es definido para dirigir todas las tareas del sistema y las herramientas de soporte, modelos, mtodos y prcticas involucradas en la produccin y evolucin de un producto durante el ciclo de vida. El SEI ayud a diferentes organizaciones a realizar valoraciones basadas en el cuestionario de madurez. Este primitivo cuestionario provey un mecanismo de medicin para determinar el nivel de madurez de un proyecto. En 1988-91, provey entrenamiento a organizaciones que deseaban realizar valoraciones a s mismas en sus procesos de software y en 1990 comercializ la valoracin de procesos de software denominado SPA (por sus siglas Software Process Assesment) para esparcir la tecnologa, ya que no estaba equipado para manejar la demanda de servicios de valoracin. La industria y las licencias de gobierno fueron seleccionadas como formas legales para vender servicios de valoraciones y durante 1991-1993, las autovaloraciones del SEI fueron reemplazadas gradualmente por estos entrenamientos [Dunaway 96]. Basados en el xito y divulgacin del uso de la estructura de madurez y de las valoraciones de los procesos de software, en 1991 fue publicada la versin 1.0 del modelo CMM para software versin 1.0. En 1993 el modelo CMM fue revisado y la versin 1.1 fue publicada. Diversas organizaciones modificaron las apreciaciones del SEI para reflejar el modelo CMM; sin embargo, la Valoracin basada en CMM para Mejoras Internas del Procesos (CBA IPI) es el primero mtodo en ser liberado que tiene como base CMM. 75 Este mtodo usa un cuestionario de madurez actualizado, consistente con la versin 1.1 del CMM. En comparacin con el cuestionario de madurez de 1987, el cuestionario actual de madurez no incluye un mecanismo de medicin de los niveles de madurez. En vez de esto, las respuestas de este cuestionario proveen una vista general de las prcticas de los procesos y pueden identificar las reas que requieren una investigacin detallada. Las respuestas a este cuestionario permiten tener una fuente ms de informacin acerca de los procesos, por lo que no existen respuestas correctas o incorrectas. 4.2 Mtodos de apreciacin del Instituto de Ingeniera de Software (SEI) Para proveer una infraestructura que mida la capacidad de los procesos de una organizacin en base al modelo CMM y proveer una base para establecer una comparacin entre una valoracin y los resultados de una evaluacin, el SEI ha publicado un esquema de apreciacin del modelo de capacidad de madurez denominado CAF, por sus siglas en ingls: CMM Appraisal Framework. El CAF identifica los requerimientos y caractersticas deseadas de un mtodo de apreciacin basado en CMM para mejorar la consistencia y confiabilidad de los mtodos y sus resultados. El trmino apreciacin como es usado en el SEI, incluye mltiples mtodos, tales como las valoraciones y evaluaciones, las cuales se enfocan en el proceso de desarrollo de software de una organizacin. Para el caso de las valoraciones, existe el mtodo Valoracin basada en CMM para Mejoras Internas del Procesos (CBA IPI: CMM Based Appraisal for Internal Process 76 Improvement) y para las evaluaciones se encuentra la Evaluacin de Capacidad de Software (SCE: Software Capability Evaluation). Ambos se explicarn ms adelante, pero primero es importante aclarar el significado de estos dos trminos: valoracin y evaluacin. 4.2.1 Diferencias entre valoraciones y evaluaciones. La diferencia bsica entre una valoracin (en ingls: Assesment) y una evaluacin radica en que la valoracin es una apreciacin que una organizacin hace para s misma, mientras que la evaluacin es una apreciacin donde un grupo externo llega a la organizacin y busca la capacidad del proceso de la organizacin para establecer una decisin referente a negocios futuros con sta. El alcance de una valoracin es determinado de acuerdo a las necesidades de la empresa y las metas del patrocinador, quien comnmente es el que tiene el ms alto rango de la organizacin evaluada. En contraste, el alcance de una evaluacin es determinada de acuerdo a las necesidades del patrocinador, quien es el(los) individuo(s) responsable de tomar decisiones para conducir la evaluacin de la organizacin para la cual el patrocinador est considerando hacer negocios. Despus de una valoracin, el gerente general de la organizacin evaluada es dueo de los descubrimientos de la valoracin y de sus resultados, generalmente usa los resultados para crear un plan de acciones para el programa de mejoramiento de procesos. En cambio, al final de una evaluacin, el patrocinador es dueo de los resultados de la evaluacin y la usa 77 para hacer decisiones referentes a la organizacin, al manejo de riesgos y medidas de mejoramiento interno; estos resultados pueden o no ser compartidos con la organizacin evaluada. Las valoraciones estn elaboradas de tal forma que motiven a las organizaciones a iniciar o continuar programas de mejoramiento de procesos de software. Las evaluaciones son motivaciones externas impuestas para las organizaciones para que lleven a cabo programas de mejoramiento. Los grupos de la valoracin representan la colaboracin que existe dentro de la organizacin mientras que los equipos de evaluacin tienen un enfoque de auditoria con interfaces ms formales entre los representativos de la organizacin y los miembros del equipo; los equipos de evaluacin rara vez incluyen representantes de la organizacin evaluada. Las metas que persigue una valoracin pueden ser establecidas de la siguiente forma: Proveer un marco de referencia de acuerdo al modelo CMM: Consiste en juntar datos de los procesos para entender el proceso de implementacin existente, identificar las debilidades y las oportunidades de mejora, incluyendo asuntos que no estn relacionados con el modelo CMM y determinar el grado de satisfaccin de las reas claves del proceso investigadas. Facilitar el compromiso continuo a la mejora de los procesos de software, mediante la motivacin, retencin de los resultados obtenidos y preparacin de una infaestructura y un catalizador para tomar accin. 78 Los roles o participantes de una valoracin se clasifican en 4 grupos importantes: Gerente mayor: Es la persona que patrocina la valoracin, pblicamente soporta las actividades de mejoramiento del proceso; es quien recibe los descubrimientos finales. Subgerentes: Provienen de una lista de gerentes o posiciones del personal, revisan los descubrimientos finales y participan en las discusiones grupales. Lderes de proyectos: Participan en entrevistas personales y en la revisin de los descubrimientos finales. Representantes funcionales de rea (FAR): Participan en grupos de discusin y en la revisin del borrador de los descubrimientos. La duracin de las valoraciones es definida por un asesor lder, definiendo un horario y calendario que le parezca conveniente. 4.3 Evaluaciones de capacidad de software Las evaluaciones de capacidad de software (SCE, en ingls: Software Capability Evaluation) son usadas para la adquisicin de software como un discriminador para seleccionar provisiones, para monitorear contratos y para incentivos. Tambin pueden ser usados para evaluaciones de procesos internos. El SCE versin 2.0 fue actualizado para que reflejara el modelo CMM y la versin 3.9 de ste, cumple con los requerimientos de la 79 CAF. Los resultados del SCE versin 3.0 deberan ser consistentes con el CBA IPI versin 1.1 si las reas de investigacin son las mismas y estn relativamente en el mismo tiempo. En resumen, el SCE es usado para adquirir una visin de la capacidad del proceso de software de la organizacin que se piensa sea desarrolladora o proveedora de software, est diseado para ayudar a tomar decisiones de adquisiciones y mejoras en la ejecucin de los subcontratistas. 4.4 Valoracin basada en CMM para Mejoras Internas del Procesos Este sistema denominado CBA IPI (por sus siglas en ingls CMM Based Appraisal for Internal process Improvement) fue creado como respuesta a las necesidades de los usuarios de un mtodo de valoracin basado en CMM. La evolucin que ha tenido desde su inicio hasta la actualidad, es de la siguiente forma: fue desarrollado y probado en 1994. En Mayo de 1995, despus de acumular lecciones aprendidas de la retroalimentacin de la comunidad, fue liberada la versin 1.0, y despus, el mtodo y la documentacin fueron actualizados en Marzo de 1996, dando como resultado el CBA IPI Versin 1.1. Este mtodo explcitamente usa el CMM versin 1.1 como modelo de referencia. La recopilacin de datos est basada tanto en las reas claves del proceso (KPAs) de CMM, como asuntos no relacionados con CMM. Est diseado para establecer la consistencia a 80 lo largo de las valoraciones de CMM para que los resultados de una valoracin puedan ser comparados con otros de una previa. Los componentes y detalles de ste mtodo se explicarn a detalle en el siguiente captulo.