• No se han encontrado resultados

Medicion y analisis en el proyecto ¨Sistema Integrado de gestion Bibliotecaria para la Biblioteca Nacional Jose Marti¨

N/A
N/A
Protected

Academic year: 2023

Share "Medicion y analisis en el proyecto ¨Sistema Integrado de gestion Bibliotecaria para la Biblioteca Nacional Jose Marti¨"

Copied!
76
0
0

Texto completo

(1)

Título: Medición y análisis en el proyecto “Sistema Integrado de Gestión Bibliotecaria para la Biblioteca Nacional José Martí”

Trabajo de Diploma para optar por el Título de Ingeniero en Ciencias Informáticas

Autor: Nairys Morales Sosa.

Tutores: Ing. Lissette Soto Pelegrín.

Lic. Elizabet González Alemán.

Ciudad de la Habana

Junio del 2007

(2)

Para que así conste firmo la presente a los días del mes de del 2007.

Nairys Morales Sosa Ing. Lissette Soto Pelegrín.

Lic. Elizabet González Alemán.

(3)

D

DA AT TO OS S D DE E C CO ON N TA T AC CT TO O

Lissette Soto Pelegrín.

Ing. Automática. Graduada en julio del 2003.

Desde el 2003 trabajo en la UCI como profesora de Máquinas Computadoras. En el 2004 participé durante 4 meses en la misión Identidad en Venezuela obteniendo resultados satisfactorios en la misma.

En el 2005 comencé mi trabajo en la Infraestructura productiva de la UCI como especialista de la dirección de Exportación de Software. En noviembre del 2005 comencé a trabajar como directora de producción atendiendo la dirección de servicios web y portales.

En septiembre de 2006 comienzo mi trabajo como directora de producción atendiendo los temas de Automática, Realidad Virtual, modelación y simulación de procesos, Radio y TV digital y Conocimiento Geológico.

Mi categoría docente es instructora y curso estudios en la maestría de Gestión de Proyectos.

Contactos: [email protected] Teléfonos: 835-2413 y 835-2414.

Elizabet González Alemán.

Licenciada en Ciencias de la Computación. Graduada en julio de 2002.

Durante dos años trabajé en la Empresa Militar Industrial "Ernesto Che Guevara" de Villa Clara donde por el buen trabajo realizado me eximieron del servicio social al culminar el primer año. En este período desarrollé varios sistemas para el área económica, de los cuales, uno obtuvo primer lugar en las BTJ a nivel municipal.

En el 2005 ingresé en la UCI como especialista de la Infraestructura Productiva vinculándome al proyecto de Meteorología en el cual estuve por espacio de ocho meses. En noviembre del mismo año pasé a la Dirección de Producción 3 en la cual trabajo actualmente atendiendo las facultades 5 y 9. En estos momentos estoy vinculada al proyecto "Conceptualización de Soluciones para Refinerías" con la empresa Petróleos de Venezuela, S.A.

Imparto docencia en pregrado y mi categoría docente es instructor.

Contactos: [email protected] Teléfonos: 835 2414

(4)

“E “ El l g g ra r ad do o s su u mo m o d de el l s sa a be b er r e es s c co on nt te e mp m pl la a r r e e l l p po or r q qu u é” é ”

Só S óc cr ra at te es s

(5)

A Lissette y Elizabet (mis tutoras) por todo el tiempo, la ayuda, los consejos, las explicaciones y la atención que me brindaron y por las horas empleadas en revisar las tantas versiones…

A mi Papá por estar ahí continuamente dándome su apoyo, cuidándome y aconsejándome, por confiar en mí y por siempre darme fuerzas para seguir adelante…gracias Pipo…te quiero mucho.

A mi Mamá por siempre apoyarme, cuidarme, ayudarme y por confiar en que llegaría al final…

gracias Mima…te quiero mucho.

A Naire (mi hermanita) por ayudarme tanto, por cuidarme, por quererme…por todos los años de mi vida que llevamos juntas…gracias….te quiero mucho mucho.

A Felitín…por ser mi hermanito querido… un besito grande para ti.

A mi Abueli…por quererme, cuidarme y aconsejarme, por estar siempre allí en cada etapa de mi vida, por la confianza y el apoyo…te quiero mucho.

A Hermes por siempre cuidarme y quererme como su hijita…por impulsarme a que cogiera esta carrera…muchos besitos para ti.

A Sergito (mi novio) por su paciencia, su comprensión y su amor, por tenerme tanto cariño y por soportarme todas mis majaderías… gracias… un beso grande para ti nené.

A Marita por estar siempre allí, atenta a todo lo que necesité, por atenderme y estar siempre pendiente…muchos besitos.

A Any por las muchas atenciones y consejos…gracias…muchos besitos.

A Ben (mi cuñado) gracias por todo…por las traducciones…por ayudarme con mi medio de estudio, gracias a eso mi tesis se hizo más fácil…un besito para ti.

A Rubier (el Flaco) por todos estos años que haz estado siempre a mi lado, ayudándome y cuidándome, gracias por compartir tantas cosas juntos… besitos.

A Jine por estar ahí siempre para mí, en todos los momentos, por ayudarme, apoyarme y aconsejarme…gracias mimi…al final lo logramos.

A todos mis compañeros de grupo y de apartamento que me acompañaron durante estos cinco años de mi vida, gracias por todo.

A todos los profesores de estos 5 años que me enseñaron y lograron que me convirtiera en ingeniera…gracias.

A todas las personas que de una forma u otra ayudaron a que hoy mi graduación como ingeniera fuera un hecho…gracias.

(6)

A A m m is i s p pa ad dr re es s…

(7)

RESUMEN

La industria cubana del software es un sector donde el concepto de calidad ha tenido un gran impacto. Es por esto que día a día las organizaciones productoras de software se preocupan por implementar modelos o estándares que les permitan uniformar la filosofía de trabajo y garantizar la obtención de un producto con calidad. Dentro de estas empresas se encuentran actualmente problemas como la entrega retrasada del producto, el exceso en gastos por encima de lo inicialmente presupuestado y el poco apego del producto final a los criterios generales de calidad.

Dados los problemas que se plantean anteriormente debido a la no utilización de un estándar que certifique la calidad, la Universidad de las Ciencias Informáticas (UCI), como eslabón principal en el desarrollo de software en el país, decidió implementar un modelo de calidad que le permita uniformar los procesos que se desarrollan en sus proyectos.

En este trabajo se definen los procesos del área de medición y análisis que está especificada en el modelo CMMI (Modelo Integrado de Capacidad y Madurez) adaptados al proyecto “Sistema Integrado de Gestión Bibliotecaria para la Biblioteca Nacional José Martí”. Además se establecen metas claras y precisas para desarrollar el proceso de una forma organizada mediante la definición de métricas y la proposición de una herramienta para automatizar el proceso. Todo esto contribuye a guiar el proceso, a estandarizarlo, a proponer mejores prácticas para incrementar la calidad del proceso de producción de software y a capacitar al personal en cuanto a este tema.

Palabras clave:

calidad, métricas, procesos, medición, análisis.

(8)

ÍNDICE

INTRODUCCIÓN ... 1

CAPÍTULO I: FUNDAMENTACIÓN TEÓRICA ... 4

1.1 I

NTRODUCCIÓN

... 4

1.2 C

ALIDAD

... 4

1.2.1 Principales conceptos... 5

1.2.2 Principales normas, modelos y estándares de la industria del software... 7

1.2.2.1 Características de la ISO- 9000-3 ... 8

1.2.2.2 Características de ISO/SPICE ... 9

1.2.2.3 Características de CMM... 11

1.2.2.4 Características de CMMI... 12

1.2.3 Estado del arte de la industria del software respecto al uso de normas, modelos y estándares en los procesos de desarrollo ... 13

1.3 L

A MEDICIÓN Y ANÁLISIS

:

UN ÁREA DE PROCESO

. D

IFERENTES ENFOQUES

... 15

1.3.1 La medición y análisis según la ISO- 9000-3... 16

1.3.2 La medición y análisis según CMM ... 18

1.3.3 La medición y análisis según CMMI ... 19

1.3.4 Análisis comparativo según los distintos enfoques estudiados ... 20

1.4 C

ONCLUSIONES

... 21

CAPÍTULO II: MODELO DE PROCESOS DE MEDICIÓN Y ANÁLISIS ... 23

2.1 I

NTRODUCCIÓN

... 23

2.2

P

ROCESOS QUE COMPONEN EL ÁREA DE MEDICIÓN Y ANÁLISIS

... 24

2.2.1 Establecer los objetivos de la medición ... 25

2.2.2 Especificar las métricas ... 29

2.2.3 Especificar los procedimientos de recolección y almacenamiento de los datos ... 32

2.2.4 Especificar los procedimientos del análisis... 36

2.2.5 Recolectar los datos de la medición ... 40

2.2.6 Analizar los datos de la medición ... 43

2.2.7 Almacenar los datos y los resultados de la medición ... 45

2.2.8 Comunicar los resultados ... 48

2.3 C

ONCLUSIONES

... 49

CAPÍTULO III: MÉTRICAS Y HERRAMIENTAS PROPUESTAS PARA LA MEDICIÓN Y ANÁLISIS ... 50

3.1 I

NTRODUCCIÓN

... 50

3.2 C

ONCEPTO DE MÉTRICAS DE SOFTWARE

... 50

3.2.1 Importancia de utilizar las métricas... 50

3.3 M

ÉTRICAS DEL PROCESO

... 51

3.3.1 Establecer los objetivos de la medición. ... 51

(9)

3.3.3 Especificar los procedimientos de recolección y almacenamiento de los datos ... 53

3.3.4 Especificar los procedimientos del análisis... 54

3.3.5 Recolectar los datos de la medición ... 54

3.3.6 Analizar los datos de la medición ... 55

3.3.7 Almacenar los datos y los resultados ... 56

3.3.8 Comunicar los resultados ... 56

3.4 H

ERRAMIENTA PARA AUTOMATIZAR EL PROCESO

... 57

3.5 C

ONCLUSIONES

... 60

CONCLUSIONES GENERALES... 61

RECOMENDACIONES... 62

REFERENCIAS BIBLIOGRÁFICAS ... 63

BIBLIOGRAFÍA ... 65

GLOSARIO DE TÉRMINOS... 66

(10)

INTRODUCCIÓN

El software se ha convertido en un tema crítico en la sociedad moderna mundial. Todos parecen necesitar mejores software en menos tiempo y a menor costo. De ahí que los métodos de producción de software estén evolucionando desde formas artesanales a la producción industrial en gran escala [1]. Entre los avances realizados mundialmente se tiene conocimiento de un conjunto de herramientas que conducen a la optimización de los procesos de software, sentando las bases para que los proyectos, independientemente de su complejidad o tamaño, se puedan entregar prácticamente sin defectos y respetando plazos y costes estimados. Dentro de estas herramientas se encuentran los “modelos de calidad”, los cuales están definidos por un conjunto de áreas claves de procesos que permiten el planeamiento, aseguramiento y mantenimiento de la calidad del software. Una de estas áreas claves de proceso es la medición y análisis, la cual es la encargada de proporcionar las mediciones para evaluar los procesos que se realizan dentro del proyecto. Realizar esta área de proceso trae consigo una gran ventaja para los desarrolladores, ya que en ella se definen los objetivos por los cuales es necesario realizar la medición en el proyecto y se establecen los procedimientos de recolección y almacenamiento de los datos de las mediciones; además se proporciona una base para añadir métricas en procesos futuros y se priorizan las medidas necesarias para obtener los resultados esperados que pueden usarse posteriormente para tomar decisiones y acciones correctivas. Esto demuestra que si se evade la realización de este proceso el proyecto avanzaría sin conocer el estado en que se encuentra ni la calidad con que desarrolla sus procesos.

La industria de software cubana no está ajena a todos estos cambios. Para incidir positivamente en su desarrollo y lograr establecer en ella parámetros de excelencia es imprescindible implantar también estos modelos de procesos adaptándolos creativamente a las condiciones concretas del país.

La Universidad de las Ciencias Informáticas (UCI), como líder del proceso de desarrollo de software en el país, desarrolla una gran cantidad de proyectos, en los cuales se plantea la necesidad de emplear estos modelos para obtener la calidad necesaria. Uno de los proyectos que se encuentran actualmente en desarrollo en esta universidad es el proyecto “Sistema Integrado de Gestión Bibliotecaria para la Biblioteca Nacional José Martí”. Para poder medir la calidad de los procesos que se realizan en ese proyecto se deben llevar a cabo adecuadamente todas las prácticas involucradas dentro de los modelos. Pues

(11)

seguimiento a la evolución de los mismos, no se realiza una adecuada planificación para el desarrollo del proyecto lo que provoca excesos en los costos y tiempos estimados, y no se definen además planes claros y precisos que contribuyan a cuantificar y medir el estado en cada momento del desarrollo del proyecto. Una parte de estos problemas está dada porque no se realiza una adecuada medición y análisis en el proyecto, pues en este proceso se proponen las medidas y normas a cumplir para obtener un producto con calidad, además de que la medición y análisis de los componentes del producto es esencial para una dirección efectiva del proyecto y la calidad.

A partir de los planteamientos anteriores se elabora el siguiente problema: ¿Cómo mejorar las necesidades de información de la dirección del proyecto a partir de la definición de procesos de medición y análisis?

El objeto de estudio de este trabajo lo constituyen: los procesos de medición y análisis y el objetivo general es: definir los procesos de la medición y análisis en el proyecto “Sistema Integrado de Gestión Bibliotecaria para la Biblioteca Nacional José Martí”.

El campo de acción que abarca este trabajo es: los procesos de medición y análisis en el proyecto

“Sistema Integrado de Gestión Bibliotecaria para la Biblioteca Nacional José Martí”.

La hipótesis que se plantea es que si se definen adecuadamente los procesos de medición y análisis para el proyecto aumentará la satisfacción de las necesidades de información de la dirección del proyecto.

Para alcanzar el objetivo planteado se trazaron las siguientes tareas:

• Estudio de diferentes enfoques acerca de la medición y análisis tratados por las principales normas, modelos y estándares para el desarrollo de software a nivel internacional.

• Seleccionar los procesos involucrados dentro del área de medición y análisis en el proyecto.

• Describir los procesos a través de sus aspectos más relevantes, de sus diagramas de actividades y definiendo los responsables.

• Proponer métricas que permitan medir los procesos y obtener datos concretos de forma tal que las decisiones que se tomen puedan estar basadas en estos datos.

• Proponer una herramienta informática para apoyar la automatización de estos procesos.

Entre los aportes prácticos esperados del trabajo se encuentran:

• Una herramienta que permita a los miembros del proyecto conocer los procesos relacionados a la medición y análisis. De manera tal que todos puedan conocer el nivel al que están involucrados en estas actividades y que les permita a todos desempañarlas de manera más eficiente. Para esto se obtendrá la

(12)

selección de los procesos principales y la definición de los mismos a través de su descripción y sus diagramas de actividades.

• Una herramienta informativa que permita poner a disposición de la comunidad universitaria de la UCI la definición de los procesos de medición y análisis y de esta forma podrán divulgarse de una forma efectiva para su futura aplicación en los proyectos productivos de la universidad.

• Este trabajo servirá de base a la creación de herramientas informáticas que apoyen la automatización de los procesos de medición y análisis, mejorando la gestión de los proyectos.

El contenido de este trabajo está estructurado en tres capítulos organizados de la siguiente forma:

Capítulo 1 denominado “Fundamentación teórica” donde se expresan las definiciones y los conceptos fundamentales del tema, así como el estudio comparativo de normas, metodologías, modelos y estándares internacionales más utilizados en la ingeniería de software, con un alcance internacional, nacional y a nivel UCI.

Capítulo 2 denominado “Modelo de procesos de medición y análisis” donde se presenta la descripción de la solución especificando la selección de los procesos que conformarán el área de medición y análisis, así como la descripción de dichos procesos, los diagramas de actividades de cada uno con los responsables y los resultados.

Capítulo 3 denominado “Métricas y herramientas propuestas para la medición y análisis” donde se presentan los principales conceptos sobre el tema, la definición de las métricas para los procesos establecidos en el capítulo anterior y la proposición de una herramienta informática que apoye la automatización de los procesos de medición y análisis.

(13)

1

CAPÍTULO

Fundamentación Teórica

1.1 Introducción

El software desempeña un rol significativo en el avance científico-técnico del mundo actual, desde el software que se usa para controlar un avión, hasta el que es utilizado en dispositivos médicos, para la gestión de bancos y empresas, etc. Desde los años 90 la calidad ha sido integrada al proceso de desarrollo de software, por lo que las experiencias que se han obtenido hasta hoy hacen concluir que los beneficios de incorporar las prácticas de calidad en el desarrollo de software son numerosos. Antes de implantar la función de calidad, y todo lo que ello conlleva, en una organización es preciso que sus miembros comprendan los conceptos sobre los que se tienen que edificar, que conozcan la base sobre la cual van a establecer sus nuevas metas y objetivos, y las ventajas o desventajas que esto traería consigo.

En este capítulo se desglosan los elementos teóricos relacionados con este tema, se abordan los aspectos vinculados con la calidad de software a nivel mundial, en Cuba y en específico en nuestra universidad, se explican las principales características de los modelos más utilizados y se presentan los diferentes enfoques de la medición y análisis propuestos por los modelos de calidad estudiados.

1.2 Calidad

El conocimiento sobre la calidad del software y su aplicación es un proceso que se viene desarrollando e incrementando con el paso de los años.

A lo largo de la historia se han ido planteando diferentes definiciones sobre la calidad. A continuación se muestran algunas de ellas:

La ISO (International Standard Organization) define la calidad como la ausencia de deficiencias: "Es la totalidad de aspectos y características de un producto o servicio que se refieren a su capacidad para satisfacer necesidades dadas en la adecuación de sus objetivos” [2].

(14)

El Instituto de Ingeniería del Software (SEI) en su modelo CMM define la calidad como:

• El grado en el cual un sistema, componente o proceso cumple con los requisitos especificados.

• El grado en el cual el sistema, componente o proceso cumple con las expectativas del cliente o usuario.

Según Pressman [3] la calidad es: “Concordancia del software producido con los requerimientos explícitamente establecidos, con los estándares de desarrollo prefijados y con los requerimientos implícitos no establecidos formalmente, que desea el usuario”.

En general, con la experiencia obtenida hasta hoy y el progreso de la ciencia, se entiende por calidad del software a la obtención de un producto con aptitud para satisfacer las necesidades del cliente, con las características y propiedades requeridas, con la eficiencia necesaria para cumplir los objetivos propuestos y que haya sido realizado en el tiempo y costo estimados. La calidad del software es además el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. Esta calidad es medible y varía de un sistema a otro o de un programa a otro. Además, se puede añadir que calidad es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad.

1.2.1 Principales conceptos

Las normas son documentos técnicos con las siguientes características [4]:

• Contienen especificaciones técnicas de aplicación voluntaria.

• Son elaborados por consenso de las partes interesadas: Fabricantes, Administraciones, Usuarios y consumidores, Centros de investigación y laboratorios, Asociaciones y Colegios Profesionales, Agentes Sociales, etc.

• Están basados en los resultados de la experiencia y el desarrollo tecnológico.

• Son aprobados por un organismo nacional, regional o internacional de normalización reconocido.

• Están disponibles al público.

Una norma de calidad es un documento, establecido por consenso y probado por un organismo reconocido (nacional o internacional), que proporciona, para un uso común y repetido, reglas, directrices o características para las actividades de calidad o sus resultados, con el fin de conseguir un grado óptimo de orden en el contexto de la calidad. Los principales organizaciones internacionales, emisoras de normas de calidad son:

ISO

(Organización Internacional de Estándares) y IEC (Comisión Electrotécnica

(15)

Un estándar es una especificación que regula la realización de ciertos procesos o la fabricación de componentes para garantizar la interoperabilidad [4].

Modelos de calidad

En la actualidad ha existido un aumento de la complejidad con la que se desarrollan los sistemas de información para la industria, por lo que resulta difícil generar productos que cumplan en su totalidad con las expectativas del cliente.

Como solución a esta situación, han surgido una serie de herramientas, técnicas y modelos que facilitan a las organizaciones, encargadas de la producción de software, generar productos que cumplan las expectativas del cliente, herramientas que prometen ser la solución a los problemas de calidad, costo y tiempos de desarrollo; entre éstas podemos mencionar a los “modelos de calidad” [5].

Un modelo de calidad de software: es un conjunto de buenas prácticas para el ciclo de vida del software, enfocado en los procesos de gestión y desarrollo de proyectos. Además un modelo de calidad [6]:

• Jerarquiza el concepto de calidad.

• Facilita las operaciones.

• Estructura clásica para productos.

– Factores: Punto de vista del usuario.

Atributos de calidad externos – Criterios: Punto de vista del producto.

Atributos de calidad internos – Métricas: Medidas con una escala.

Los modelos de calidad te dicen QUE hacer. No COMO hacerlo, ya que dependen de las metodologías que se usen y de los objetivos del negocio.

Beneficios que aportan los modelos de calidad

Los beneficios de incorporar las prácticas de calidad en el desarrollo de software son numerosos. En cuanto al cliente se consigue una mejora de su satisfacción, de la fiabilidad del software, se reducen los errores en explotación y se logra el cumplimiento de los requisitos. Desde la perspectiva de una organización se consigue verificar que se han implantado las características que indicó el usuario,

(16)

asegurar que los procesos se aplican de la forma adecuada y lograr que esos procesos se mejoren con el tiempo [7].

En general los modelos de calidad permiten [8]:

• Manejar diferentes perspectivas de modelado.

• Gestionar la evolución y asegurar la consistencia de los cambios.

• Crear “Factorías de la experiencia”.

• Ayudar a entender qué estamos haciendo.

• Proporcionar una base para definir objetivos.

• Proporcionar una base para la medición.

• Concretar la calidad en algo que se puede: definir, medir y planificar.

• Ayudar a mejorar la comunicación entre usuarios, dirección y técnicos.

Necesidad de utilizar los modelos de calidad

Hoy día existe una inmensa necesidad de utilizar los modelos de calidad por parte de las empresas productoras de software del país, ya que la sociedad informática actual no concibe un software sin la calidad requerida. En muchas de estas empresas se encuentran problemas tales como la aplicación inadecuada de las técnicas de Ingeniería de Software, la organización no conveniente de la empresa y la no utilización de los roles apropiados para el desarrollo de las tareas de la empresa de software. Una de las causas fundamentales que provocan estos problemas radica en que en la formación de los especialistas no se incorpora el estudio de las posibles organizaciones de empresas, no se les brindan los argumentos para la selección de los modelos de calidad y mucho menos se les crea disciplina para el trabajo en equipo, el control de proyectos y la reutilización de información [9]. Es por ello que para dar solución a todos los problemas expuestos anteriormente se plantea como un desafío inminente para la empresa cubana de producción de software el adaptar sus procesos según los estándares internacionales de certificación para así poder entrar a la competencia que existe actualmente en el mercado mundial de software y lograr además satisfacer las demandas que se establecen en el mercado nacional.

1.2.2 Principales normas, modelos y estándares de la industria del software

A la par del surgimiento de la necesidad de obtener una mayor calidad se fueron perfeccionando los

(17)

funcionalidades que permitieron obtener la calidad que exigía y requería el cliente. Dentro de todos esos modelos se encuentran algunos que se han destacado por su amplia utilización en las actuales empresas de producción de software. A continuación se presentan algunos de los más utilizados y sus características.

1.2.2.1 Características de la ISO- 9000-3

La ISO-9000-3 es un estándar de administración y aseguramiento de la calidad, o sea, es una guía para la aplicación de la ISO 9001 al desarrollo, suministro y mantenimiento del software. La ISO 9000-3 es una guía formada por una serie de cláusulas que indican como aplicarlas. En ella se incluyen algunos temas que no se encuentran en las normas ISO 9000 genéricas, tales como Administración de la Configuración o Planeación de Proyectos. Contiene además veinte requisitos que deben estar presentes en un sistema de gestión de la calidad efectivo. Estos se relacionan de acuerdo a: responsabilidad de la gestión, sistema de calidad y revisión del contrato.

Las ideas básicas que se proponen para el estándar ISO 9000-3 son las siguientes [10]:

• El control de calidad debe ser aplicado a todas las fases de la producción de software, incluido el mantenimiento y tareas posteriores a su implantación.

• Debe existir una estricta colaboración entre la organización que adquiere el software y el proveedor del mismo.

• El proveedor del software debe definir su sistema de calidad y asegurarse que toda la organización ponga en práctica este sistema.

La norma ISO 9000-3 es requerida por todas las compañías desarrolladoras de software [11]:

• Para poder incursionar en la competencia del mercado europeo.

• Como un medio para cubrir las expectativas de los clientes.

• Para obtener beneficios de calidad y ventajas competitivas en el mercado.

• Como parte de la estrategia del mercado.

• Como estrategia para reducir los costos de producción.

Dentro de los beneficios que se obtienen de la certificación ISO 9000-3, se encuentran:

• Mejor documentación de los sistemas.

• Cambio cultural positivo.

• Incremento en la eficiencia y productividad.

(18)

• Mayor percepción de calidad.

• Se amplía la satisfacción del cliente.

• Se reducen las auditorías de calidad de los clientes.

• Agiliza el tiempo de desarrollo de un sistema.

Dentro de las ventajas que presenta, se puede mencionar que es bastante conocido por las organizaciones y sus clientes, y sirve de apoyo a los demás estándares. La crítica más importante es que descuida la etapa de análisis, haciendo énfasis en el diseño y el desarrollo.

1.2.2.2 Características de ISO/SPICE

El modelo SPICE (Software Process Improvement and Capability dEtermination - Mejora de los procesos del Software y Determinación de Capacidades) es el Standard ISO/IEC 15504 y está diseñado con la filosofía de desarrollar un conjunto de medidas de capacidad estructuradas para todos los procesos del ciclo de vida y para todos los participantes. Es el resultado de un esfuerzo internacional de trabajo y colaboración y tiene la innovación, en comparación con otros modelos, del proceso paralelo de evaluación empírica del resultado [12]. El modelo incluye una arquitectura para calificar prácticas además de la definición de la experiencia y requisitos para los evaluadores.

SPICE permite realizar evaluaciones e incentivar mejoras en los procesos de software, incluye directrices para la construcción, selección y uso de herramientas de medición para apoyar la calificación de la capacidad de los procesos [13]. Además describe los procesos que una organización puede realizar para comprar, suministrar, desarrollar, operar, mantener y soportar el software, así como los atributos que caracterizan la capacidad de estos procesos. Además, proporciona una base para medir la capacidad de los procesos, en función del grado de consecución de sus atributos [14].

Este estándar internacional provee un enfoque estructurado para la evaluación del proceso de software por cuenta de una organización con el objetivo de [15]:

a) Entender el estado de sus propios procesos para efectos de mejora de procesos.

b) Determinar la adecuación de sus propios procesos para un requerimiento, o clase de requerimientos, particulares.

c) Determinar la adecuación de los procesos de otra organización para un contrato, o clase de contratos, particulares.

(19)

El modelo ISO/SPICE tiene tres aplicaciones fundamentales: evaluación, mejora y determinación de capacidades. En términos prácticos esto significa un proceso de maduración tanto de la oferta como de la demanda de servicios.

La arquitectura del modelo contiene dos jerarquías como se muestra en la figura 1 [16]:

Figura 1: Arquitectura del modelo SPICE: dos caminos para clasificar las prácticas.

– El lado izquierdo consiste en la categoría de procesos, compuestos por procesos y éstos están compuestos por prácticas bases.

– Los procesos son evaluados en términos del lado derecho. Los procesos pueden ser evaluados a un nivel de capacidad; los niveles de capacidad están compuestos por características comunes y las características comunes, a su vez, están compuestas por prácticas genéricas.

Un estándar como éste trae los siguientes beneficios a la industria del software [13]:

• Los proveedores de software contarán con un solo esquema de evaluación de procesos (actualmente se manejan numerosos esquemas)

• Las organizaciones que desarrollan software tendrán una herramienta para iniciar y mantener una mejora en sus procesos.

• Los administradores de programación contarán con medidas para asegurar que el desarrollo del software sea lo mejor posible.

(20)

1.2.2.3 Características de CMM

El Modelo de Capacidad y Madurez o CMM (Capability Maturity Model) es un modelo de evaluación de los procesos de una organización. Fue desarrollado por el Software Engineering Institute (SEI) de la Universidad Carnegie Mellon y su última versión (v1.1) se publicó en febrero de 1993.

El modelo consta de 5 niveles, diseñados de forma que los inferiores proveen unos fuertes cimientos incrementados de manera progresiva sobre los que se construyen los niveles superiores. Estas 5 etapas de desarrollo son referidas como niveles de madurez y en cada una la organización alcanza una capacidad superior en el proceso. Además se establecen un conjunto de prácticas o procesos clave agrupados en 18 Áreas Clave de Proceso (KPA - Key Process Area) y para cada área de proceso se definen un conjunto de buenas prácticas [17].

CMM es un modelo descriptivo en el sentido que describe los atributos esenciales que se espera caractericen una organización dentro de un nivel de madurez en particular. Es un modelo normativo ya que las prácticas detalladas caracterizan el tipo normal de comportamiento que se espera de una organización que realiza proyectos a gran escala. No es prescriptivo ya que no dice a la organización como mejorar.

La metodología de CMM ayuda a las organizaciones a la adquisición, a la selección o la administración sus recursos y procesos de software. Su objetivo principal es describir buenas prácticas de administración y de ingeniería estructuradas en un marco de madurez. Por lo anterior se tienen como beneficios [18]:

• Formar una visión compartida, lo que significa mejoramiento de procesos a nivel organización.

• Establece un lenguaje común al hablar acerca del proceso de software.

• Define un conjunto de prioridades para atacar los problemas de software.

• Provee una estructura conceptual para mejorar la administración y desarrollo de productos de software en una manera disciplinada y consistente.

• Aumenta la posibilidad de que una organización de software alcance sus metas de costos, calidad y productividad de una manera disciplinada y consistente.

Actualmente el CMM es uno de los modelos más utilizados mundialmente en la industria del software, ya que al aplicarlo permite la disminución de costos y la repetición de trabajo. Este modelo confía en que la calidad del producto es una función que depende de los procesos que se definan, la tecnología usada para el desarrollo y la capacidad de las personas que se asigne para realizar el trabajo [19].

(21)

1.2.2.4 Características de CMMI

A finales de los 90 algunas organizaciones llevaban a cabo planes de calidad que integraban de forma simultánea varios modelos CMM. Para facilitar la integración de estos CMM’s, el SEI desarrolla y publica en diciembre del 2001 el modelo CMMI(Capability Maturity Model Integration) que recoge las bondades, cambios y mejoras identificadas a lo largo de más de una década de experiencias con mejora de procesos en miles de organizaciones.

El CMMI (Modelo Integrado de Capacidad y Madurez) es un modelo para la evaluación y mejora de los procesos de desarrollo y mantenimiento de sistemas y productos de software, y clasifica las empresas en niveles de madurez. Estos niveles sirven para conocer la madurez de los procesos que se realizan para producir el software.

El CMMI está caracterizado por varias áreas de proceso para las 4 disciplinas que cubre actualmente.

Estas son: Ingeniería de Sistemas, Ingeniería del Software, Desarrollo Integrado del Producto y del Proceso (IPPD) y la Fuente proveedora (A) y tiene el propósito de proporcionar una única guía unificada para la mejora de estas múltiples disciplinas. Vistas desde la representación continua del modelo, estas áreas de procesos, se agrupan en 4 categorías según su finalidad: Gestión de proyectos, Ingeniería, Gestión de procesos y Soporte a las otras categorías. Vistas desde la representación escalonada, se clasifican en los 5 niveles de madurez. Al nivel de madurez 2 pertenecen las áreas de proceso cuyos objetivos debe lograr la organización para alcanzar este nivel, ídem con el 3, 4 y 5 [20].

Aunque muchas de las áreas de proceso (Process Area - PA) definidas en el CMMI tengan los mismos nombres que las áreas clave de proceso (Key Process Area - KPA) definidas en su modelo anterior el SW-CMM, existen una serie de cambios significativos en cuanto al enfoque y al alcance de sus actividades y objetivos. Los enfoques de CMMI están diseñados para describir los niveles de mejoramiento del proceso y tienen como finalidad atender a las diversas necesidades de las organizaciones que quieren realizar la mejora de sus procesos.

Algunos beneficios de usar CMMI [20]:

• Automatizar lo más posible las actividades de control y gestión de los procesos de los proyectos.

• Comenzar a documentar los procesos implícitos.

• Pone un mayor énfasis en el uso continuo de métricas.

• Insiste en la necesidad de la trazabilidad desde los requerimientos al producto final.

• Desglosa y detalla las áreas de proceso relativas a la ingeniería.

(22)

1.2.3 Estado del arte de la industria del software respecto al uso de normas, modelos y estándares en los procesos de desarrollo

A nivel mundial

Con el avance de la ciencia y la técnica que se ha venido desarrollando en el mundo es imprescindible producir con mayor eficiencia, pues el mercado está cada vez más evolucionado en cuanto a desarrollo de software se refiere.

A nivel mundial son muchas las empresas que han sido calificadas por los diferentes modelos de calidad, pues cada una de ellas lucha por cumplir con sus metas y objetivos para entrar a formar parte de esa gran gama de compañías que venden sus productos con mucha más garantía de calidad gracias a su título de certificación.

Todas las empresas para sobrevivir y permanecer en el mercado tienen que implementar el elemento calidad en su entorno de trabajo; y es por ello que existe un levantamiento total en el mundo de la informática y el software para llevar al producto y al proceso que lo desarrolla a un mejor nivel de preparación y validez de su aptitud para trabajar.

Si se hace referencia sólo a la parte de América del Sur se pueden encontrar alrededor de 200 empresas certificadas bajo la ISO/SPICE. En cambio, certificadas en CMM solo hay seis en el nivel 2, cuatro en el 3, dos en el 4 y cinco en el nivel 5. Esto demuestra lo difícil de cumplir con todos los objetivos y requisitos que conlleva la evaluación en uno de estos modelos. Tanto es así que si se observa las certificadas en CMMI se encuentran solo dos con nivel 2, una con nivel 3 y una con nivel 5 [21]. Es decir, que este último modelo requiere de un mayor esfuerzo y una mayor preparación para obtener el éxito total, por lo que muchas empresas se han propuesto obtener la certificación en dicho modelo.

Estadísticas del 2006 muestran lo siguiente [22]:

En España: 27 compañías tienen la certificación de calidad CMMI. IBM Uruguay obtuvo el Nivel 5 de madurez en todas sus áreas de servicios de desarrollo de software, bajo el modelo CMMI. En fin, en ese año existían en el mundo 1.264 compañías evaluadas con el modelo cerca de la mitad de ellas se concentra en Estados Unidos. En el mercado latinoamericano, sólo Argentina y Brasil cuentan con más de 10 empresas valoradas. Se ubica Colombia a la vanguardia de las empresas evaluadas, o en proceso de estarlo, con este modelo en América Latina.

(23)

En Cuba

Aunque en el pasado se reconocía la necesidad de crear software de calidad, no se había hecho un esfuerzo formal para que nuestra industria generara productos que nos dieran la oportunidad de competir en el mercado internacional, con calidad equiparable o superior a la de países como la India o Irlanda.

Afortunadamente, dicha situación ha cambiado; nuestro gobierno en conjunto con la industria, ha iniciado un gran esfuerzo para impulsar la industria del software y no solo la producción sino además la creación con calidad, para lo que se ha fundado Calisoft (Centro de calidad del software en Cuba). Con este nuevo proyecto se pretende establecer una industria de software competitiva internacionalmente y asegurar su crecimiento a largo plazo.

Por otra parte, en Cuba opera el Comité Técnico CTN 18 “Tecnología de la Información”. Producto de su acción han ocurrido avances en la definición de las características de la calidad al nivel del producto. Sin embargo, para elevar los niveles de gestión de calidad al proceso, se necesita además definir, implantar y gestionar un sistema de trabajo que busque eficiencia y eficacia y no solo el objetivo de la certificación en si. Un sistema de este tipo sería un verdadero Sistema de Calidad.

El país tiene un gran potencial de personal calificado en el área de la informática. Recientemente se ha producido una concentración de dichas entidades en empresas especializadas, sin embargo, a pesar de la potencialidad que poseen, aun subsiste índices de exportaciones irrisorios. No obstante se posee un mercado interno relativamente fuerte, debido a la identificación de numerosas áreas de posible informatización .

A pesar de todos estos avances e intentos por mejorar, en las empresas productoras de software del país no se han aplicado procesos de certificación ni tampoco de autoevaluación que permitan valorar el estado de la organización en cuanto a la madurez de sus procesos. Por lo que, el reto es trabajar para lograr Organizaciones de Software maduras, caracterizadas por tener una gran capacidad para administrar sus procesos, con personal comprometido, diestro y motivado y con procesos planificados, ordenados y consistentes. Si estas condiciones se alcanzan permitiría satisfacer el mercado interno, las empresas pudieran certificarse formalmente para aumentar la capacidad de adquisición de clientes provenientes del mercado internacional, con lo que se incrementarán las exportaciones con concepto de venta de software.

Además, cuando se implante un sistema de calidad bien diseñado, la empresa estará en condiciones de obtener una certificación internacional, pues el sistema permitirá concretar los principios exigidos por los modelos, al mismo tiempo que logrará hacer explícito el conocimiento acumulado por los especialistas. La

(24)

utilización de los modelos de calidad abre un espectro de posibilidades para Cuba y el continente Latinoamericano, pues les permitirá entrar al mercado de software mundial sin ninguna diferencia con las demás empresas productoras de software del mundo [23].

En la Universidad de las Ciencias Informáticas

La Universidad de Ciencias Informáticas (UCI) es una de las principales guías del proceso de desarrollo de la industria de software cubana, pues en ella se lleva a cabo la formación de la mayoría de los profesionales en la rama de la informática en Cuba y se desarrollan más de cien proyectos productivos de alcance nacional e internacional.

Esta situación provoca que sea en la UCI donde se desarrolla con mayor fuerza la industria del software cubana en estos momentos.

El desarrollo de proyectos se caracteriza hoy en la UCI porque los miembros del equipo de desarrollo son fundamentalmente estudiantes y profesores con poca experiencia; se suma a esto la no definición de los procesos de desarrollo y gestión de software para la organización, situación que provoca retrasos en los plazos de entrega, insatisfacción de los clientes y elevado nivel de presión dentro de los equipos de desarrollo, entre otras.

Para contrarrestar esta situación en la UCI se están creando actualmente las bases para la utilización de los modelos de calidad aplicados a los procesos de desarrollo y gestión de software. Dentro de las acciones más importantes que se realizan hoy para lograr mejoras en el proceso productivo de la UCI se encuentran: proporcionar el conocimiento preciso a las personas implicadas para que se pueda obtener un producto con validez y eficiencia, aplicar las normas, estándares y modelos de calidad establecidos internacionalmente y realizar cada una de las prácticas definidas en ellos.

1.3 La medición y análisis: un área de proceso. Diferentes enfoques

Áreas de procesos (KPA): Conjunto de prácticas relacionadas que son ejecutadas de forma conjunta para conseguir un conjunto de objetivos [20].

Objetivos del las Áreas de Proceso:

• Indican las áreas en las que una organización debería centrarse para mejorar su proceso software.

• Identifican los aspectos que deben abordarse para lograr un nivel de madurez [19].

(25)

1.3.1 La medición y análisis según la ISO- 9000-3

En esta norma el proceso de medición y análisis incluye una serie de procesos, donde cada uno tiene las actividades a realizar. La ISO 9000-3 nombra este proceso como: la medición, análisis y mejora.

Según [24] en el proceso de medición, análisis y mejora el sistema debe planificar e implementar los procesos de seguimiento, medición, análisis y mejora requeridos para demostrar en todo momento la conformidad del producto y del sistema de gestión de la calidad, mejorando continuamente su efectividad, es decir su eficiencia y eficacia. Se incluye aquí lo correspondiente al seguimiento y medición de la satisfacción del cliente, del sistema, de los productos y los procesos, el control del producto no conforme, el campo correspondiente al análisis de los datos y la mejora continua utilizando su política de la calidad, los objetivos de la calidad, los resultados de las auditorías y las acciones correctivas y preventivas resultantes del análisis de esos datos.

En [11] este proceso se describe utilizando las distintas actividades que se desarrollan en él. Dichas actividades se describen a continuación:

• Satisfacción del cliente.

Para software considerar:

- Análisis de llamadas de mesas de ayuda relacionadas a la calidad del producto y rendimiento del servicio.

- Métricas de calidad derivadas de la realimentación directa e indirecta del cliente.

- Otras métricas de calidad basadas en el uso del producto.

- Número de releases que necesitan solución a problemas, después de la entrega inicial.

• Auditoría Interna.

La planificación de auditoría definirá una selección de proyectos y evaluará la conformidad de la planificación de calidad del proyecto con el sistema de gestión de calidad, y la conformidad del proyecto con la planificación de calidad del proyecto. Esta selección asegurará la cobertura de todas las etapas y todos los procesos.

Esto puede necesitar auditar varios proyectos en diferentes etapas, o auditar un proyecto a medida que progresa en diferentes etapas.

Cuando un proyecto cambia su cronograma, la auditoria interna debe revisar el suyo, ya sea para cambiar los tiempos de auditoría o considerar otro proyecto.

• Monitoreo y medición del proceso.

(26)

Las organizaciones normalmente miden algunos aspectos de sus procesos para monitorearlos, gestionarlos y evaluarlos.

Las métricas más frecuentes son:

- Duración planeada y actual de una actividad de proceso.

- Costo planeado y actual de una actividad de proceso.

- Niveles de calidad planeados y medidas progresivas de las características de calidad seleccionadas.

• Monitoreo y medición del producto.

Las organizaciones deberían monitorear y medir la conformidad de los productos a los requerimientos de calidad por medios como revisión, verificación y validación. Ejemplos de características que pueden monitorearse y medirse: Funcionalidad, Mantenibilidad, Eficiencia, Portabilidad, Usabilidad y Confiabilidad.

• Control del producto no conforme.

La segregación del producto no conforme consiste en transferir el ítem fuera del ambiente de producción o testeo.

Prestar atención a:

- Impacto de los problemas en otras partes del software - Volver a testear los productos no conforme.

- Establecer la prioridad de la no conformidad.

La disposición de la no conformidad puede ser:

- Reparar el defecto.

- Aceptar el producto con o sin reparación (por una concesión).

- Tratarlo como un producto conforme después de alcanzar el requerimiento, o - Rechazarlo

• Análisis de datos.

Ejemplos de análisis de datos para software puede incluir: reporte de problemas provenientes de distintos niveles de testing y de situaciones identificadas durante revisiones.

• Mejora continua.

El proceso de mejora puede ser aplicado a alguno o todos los procesos del ciclo de vida del software.

El proceso de mejora involucra el establecimiento, auditoria y mejora de los procesos.

• Acciones Correctivas.

(27)

Si las acciones correctivas afectan directamente a los productos de software, se debe tener en cuenta la gestión de configuración para realizar los cambios.

La gestión debe revisar las acciones correctivas que involucran cambios a los procesos del ciclo de vida del software.

• Acciones Preventivas.

Las auditorías de proceso pueden ser útiles para reunir los datos, de forma tal que permitan anticipar los problemas.

1.3.2 La medición y análisis según CMM

Según CMM cada nivel de madurez está compuesto por varias áreas claves del proceso. Cada área clave es organizada en 5 secciones definidas como características comunes. Las características comunes especifican las prácticas claves para el cumplimiento de las metas en el área clave del proceso. Estas características son:

1.- Compromiso: Describe las acciones que la organización debe realizar para asegurar que el proceso se establezca y persista. Normalmente involucra el establecimiento de políticas organizacionales y liderazgo.

2.- Habilidades Necesarias: Describe las condiciones previas que deben existir en el proyecto u organización para poder implementar el proceso competentemente. Normalmente involucra recursos, estructuras organizacionales y capacitación.

3.- Actividades Realizadas: Describe las actividades, roles, y procedimientos necesarios para implementar una KPA. Normalmente involucra el establecer planes y procedimientos, realizar el trabajo, darle seguimiento, y tomar acciones correctivas según sea necesario.

4.- Medición y Análisis: Describe las prácticas básicas de medición que son necesarias para determinar el estatus en relación al proceso. Estas mediciones son utilizadas para controlar y mejorar el proceso.

Normalmente incluyen ejemplos de métricas que pueden tomarse.

5.- Verificación e Implantación: Describe los pasos para asegurarse de que las actividades son llevadas a cabo de acuerdo con el proceso que se ha establecido. Normalmente abarca revisiones y auditorias por parte de la administración y aseguramiento de la calidad de software [18].

Para comprender mejor el proceso se presenta la figura 2 [25]:

(28)

Figura 2: Arquitectura general del modelo CMM.

Un vistazo a esta arquitectura desde abajo hacia arriba muestra que las prácticas están organizadas en agrupaciones lógicas de magnitud creciente. Primero para cada área de proceso clave (KPA) las prácticas se pueden clasificar en una u otra de las 5 características comunes que reflejan la intención de las prácticas.

En conjunto, estas 5 características comunes forman un ciclo que se encuentra en cada área de proceso clave y expresan un enfoque lógico aplicable a cualquier proceso. Es decir, que cada KPA tiene los cinco tipos de características comunes y al menos una práctica clave bajo cada característica común [25].

Según esta descripción, la medición y análisis en CMM se planteaba como una actividad a realizar en cada área de proceso clave, o sea, como una práctica general; pero con el avance y el uso se identificaron mejoras como fue la necesidad de desarrollar la medición y análisis como un área clave de proceso, debido a su importancia y así pasó a formar parte del nivel 4 de madurez [1].

1.3.3 La medición y análisis según CMMI

Según CMMI el objetivo de la medición y análisis es desarrollar y sostener una capacidad de medición que sea usada para ayudar a las necesidades de información de la gerencia, basándose en el concepto de que “solo lo que se mide se puede controlar” [26]. Además los datos tomados para la medición son alineados con los objetivos de la empresa para proporcionar información útil a la misma.

(29)

Este sistema tiene que permitir además:

• Planificación y estimación objetiva.

• Comparar el rendimiento actual contra el rendimiento esperado en el plan.

• Identificar y resolver problemas relacionados con los procesos.

• Proporcionar una base para añadir métricas en procesos futuros [27].

En CMMI el proceso de medición y análisis tiene como misión especificar las métricas, establecer los objetivos para la medición, especificar el procedimiento de recolección y almacenamiento de los datos y los procedimientos para el análisis. Y una vez que hayan sido recolectados estos datos se pasa a la parte de analizarlos y revisarlos para que sean almacenados y utilizados en procesos futuros [26].

La medición se puede aplicar:

Al Proceso de Software: Con el intento de mejorarlo sobre una base continua.

Al Proyecto de Software: Para ayudar en la estimación, el control de la calidad, la productividad y el control de proyectos.

Para ayudar a [28]:

• Evaluar la calidad de los productos de trabajos técnicos.

• La toma de decisiones a medida que el proyecto evoluciona.

Objetivos de la medición:

• Alinear mediciones y actividades de análisis: se alinean los objetivos y actividades de medición con los objetivos y necesidades de información identificados

• Proporcionar resultados de mediciones: se proporcionan los resultados de mediciones dirigidos a los objetivos y necesidades de información.

En general, la medición persigue tres objetivos fundamentales:

• Entender qué ocurre durante el desarrollo y el mantenimiento.

• Controlar qué ocurre en nuestros proyectos

• Mejorar nuestros procesos y nuestros productos.

1.3.4 Análisis comparativo según los distintos enfoques estudiados

Como ya se ha expresado el área de proceso a desarrollar en este trabajo es la medición y análisis. El objetivo de esta área es conducir el mejoramiento continuo en todos los parámetros de la calidad a través

(30)

de un sistema de medición orientado a metas. Es un área de proceso de soporte a los demás procesos, por lo que permite y soporta la ejecución del resto de los procesos de un proyecto.

Analizando cada uno de los enfoques expuestos anteriormente se puede concluir que en la ISO- 9000-3, se desarrolla el proceso de medición y análisis de una forma un poco amplia, o sea, no se presenta una guía para realizar este proceso que permita lograr una planificación correcta para alcanzar objetivos específicos que ayuden a la organización a mejorar. En el modelo CMM, la medición y análisis fue tomada inicialmente como una característica común de cada proceso y no se definía de forma clara el proceso a desarrollar, o sea, se estableció el procedimiento pero no de forma que pudiera utilizarse como guía para los desarrolladores de software en las empresas. En cambio, en el modelo CMMI, este proceso tiene objetivos definidos, metas claras y mecanismos para llegar a los resultados esperados.

1.4 Conclusiones

Dentro del marco de la informática, se precisa que empresas e individuos se adapten a los nuevos retos, capacitándose y poniéndose al día con los cambios tecnológicos y adoptando una nueva visión del comercio y del mundo. Dentro de esa nueva visión, la necesidad de satisfacer plenamente a los consumidores y usuarios de productos y servicios, la creatividad puesta al servicio de la innovación y el producir bienes de óptima calidad, son los objetivos a lograr.

Para el cumplimiento de dichos objetivos se necesita el desarrollo de una serie de pasos dentro de los que se encuentra la introducción de un modelo de calidad del software, pues esto se hace vital para asegurar un nivel de calidad apropiado en las empresas productoras de software. Y es ahí donde se encuentra la importancia de desarrollar este trabajo, pues con él se ampliarán los conocimientos sobre como utilizar estos modelos, o sea, se analizará específicamente una parte implícita dentro de ellos, aumentando así la base para proseguir en la construcción de una empresa de producción de software con bases firmes y sólidas.

Estos objetivos no son algo que pueda lograrse de una vez, por un lado requiere concientización y esfuerzo constante para lograrlos, pero por otro lado, necesita de una disciplina y ética de trabajo que lleven a empresas, líderes y trabajadores a superarse día a día en la búsqueda de nuevos y mejores niveles de perfección que los mantengan en capacidad de competir.

(31)

Después de analizar cada uno de los enfoques que dan los modelos de calidad estudiados en este trabajo acerca de la medición y el análisis, se puede concluir que el modelo integrado de capacidad y madurez (CMMI) es el que mejor se puede adaptar para el logro de los objetivos de este trabajo. Este modelo trata la medición y análisis como un área de procesos independiente, la caracteriza de forma integral y propone un conjunto de objetivos y actividades que permiten la definición completa de estos procesos para su aplicación al proceso productivo de la UCI.

(32)

2

CAPÍTULO

Modelo de procesos de medición y análisis

2.1 Introducción

En el capítulo 1 se hizo referencia a los modelos más utilizados por las empresas desarrolladoras de software, después de analizarlos y haber hecho una valoración se llegó a la conclusión de adoptar el modelo CMMI para este proyecto, debido a que brinda la posibilidad de llevar a la organización y a los procesos que se desarrollan en ella a niveles de capacidad y madurez requeridos para lograr el éxito en la producción. Además se tuvo en cuenta que este es un modelo de mejora de procesos para ingeniería de sistemas, ingeniería del software, desarrollo de productos integrados y adquisición del software, o sea, que abarca todas las categorías a analizar en el desarrollo del software.

El modelo CMMI identifica para el trabajo diferentes áreas de procesos, cada una de las cuales se divide en objetivos y prácticas que hay que cumplir para llegar al nivel de madurez indicado.

En este capítulo se va a desglosar el procedimiento que hay que desarrollar para el área específica de medición y análisis, área que solo está definida en el modelo CMMI, lo cual constituye otra ventaja de este modelo, y para este trabajo en particular, la más importante, ya que si un modelo no define el proceso de medir y analizar lo medido no se puede conocer el grado de calidad con que se ha construido el software ni se puede realizar una evaluación y evolución del mismo.

En general, en el modelo CMMI, este proceso esta caracterizado por cinco actividades:

• Formulación: Obtención de medidas y métricas del software apropiadas para la presentación del software en cuestión.

• Colección: Mecanismo empleado para acumular datos necesarios para obtener las métricas formuladas.

• Análisis: Cálculo de las métricas y la aplicación de herramientas matemáticas.

• Interpretación: La evaluación de los resultados de las métricas en un esfuerzo por conseguir una visión interna de la calidad de la presentación.

(33)

• Retroalimentación: Recomendaciones obtenidas de la interpretación de métricas y técnicas transmitidas al equipo de desarrollo de software.

• Mejora: Identificar causas y oportunidades de mejora y seguir el rendimiento de los cambios para compararlo con líneas base.

Para comprender mejor lo que se desarrollará en este capítulo se debe conocer que un proceso es [29]:

un conjunto repetitivo de actividades interrelacionadas que se realizan sistemáticamente mediante las cuales una entrada se convierte en una salida o resultado, después de añadirle valor.

2.2 Procesos que componen el área de medición y análisis

El área de proceso de medición y análisis es la que propone las medidas y normas a cumplir para obtener un producto con calidad. El objetivo de la medición y el análisis es desarrollar y sostener una capacidad de medición que sea usada para ayudar a las necesidades de información de la gerencia, basándose en el concepto de que “solo lo que se mide se puede controlar“. Esta área de proceso está compuesta por dos objetivos específicos (OE) y cada uno se desglosa a su vez en cuatro prácticas específicas (PE). Los objetivos específicos son:

OE-1: Alinear las actividades de medición y análisis.

PE-1: Establecer los objetivos de la medición.

PE-2: Especificar las métricas.

PE-3: Especificar los procedimientos de recolección y almacenamiento de los datos.

PE-4: Especificar los procedimientos del análisis.

OE-2: Proporcionar los resultados de la medición.

PE-1: Recolectar los datos de la medición.

PE-2: Analizar los datos de la medición.

PE-3: Almacenar los datos y los resultados de la medición.

PE-4: Comunicar los resultados [30].

CMMI, dentro de estas prácticas específicas, no establece ningún proceso que realice la rectificación de las acciones, o sea, el proceso de revisar si lo que hizo está correcto o no. Es por ello que para todas las prácticas específicas en este trabajo se definieron procesos de verificación que permiten corregir a tiempo las acciones desarrolladas.

(34)

2.2.1 Establecer los objetivos de la medición

El objetivo de este proceso es establecer y mantener los objetivos de la medición que se derivan de los objetivos y las necesidades de información identificados. Estos pueden regirse por los procesos existentes, recursos disponibles, u otras medidas consideradas. Además es necesario conocer que la fuente para los objetivos de la medición puede ser de dirección, técnica, de proyecto, producto, o necesidad de implementar un proceso. Establecer los objetivos de la medición es muy importante porque de esta forma se puede documentar el propósito para el cual se realiza la medición y el análisis.

¾ Consideraciones generales

El rol de Administrador de procesos no está establecido dentro de los proyectos de la UCI, pero según el Rational Unified Process (RUP) es el responsable de los procesos relacionados con:

- Identificar las necesidades específicas del proyecto.

- Educar y guiar a los miembros del equipo en problemas relacionados con el proceso.

- Asistir al jefe de proyecto en la planificación.

En este trabajo se definió ese rol para que realizara la verificación del proceso, o sea, para que fuera el responsable del correcto desempeño del proceso.

El rol de Analista de procesos no está definido en los proyectos de la UCI. En este trabajo se decidió establecerlo para que fuera el responsable de definir los objetivos de la medición, o sea, identificar la necesidad del proyecto en cuanto al desarrollo de la medición.

¾ Descripción del proceso

Nombre: Establecer los objetivos de la medición.

Identificador: MA 1.1

Categoría: Medición y análisis.

Responsable: Administrador de procesos.

Misión: Establecer y mantener los objetivos de la medición que se derivan de los objetivos y las necesidades de información identificados.

Alcance:

Empieza: Con la fase de inicio del software.

(35)

Termina: Con la elaboración del documento de los objetivos de la medición.

Entradas: Solicitud de establecer los objetivos.

Proveedores: Líder del proyecto.

Actividades:

El proceso inicia cuando el Administrador de procesos le solicita al Analista de procesos que establezca los objetivos de la medición.

El Analista de procesos le solicita la información sobre lo que se necesita medir en el proyecto al Líder del proyecto.

Líder del proyecto:

Analizar y recoger los elementos relevantes para la medición en el proyecto. Investigar lo que es necesario medir para que los objetivos puedan ser utilizados como una guía a la hora de realizar el proceso.

Enviar la información recolectada sobre lo que se necesita medir en el proyecto al Analista de procesos.

El Analista de procesos:

Recibir la información sobre lo que se necesita medir en el proyecto.

Priorizar los objetivos y las necesidades de información dentro del límite de los recursos disponibles. Analizar los recursos que están destinados a ese trabajo y enmarcar el proceso dentro de ellos.

Elaborar el documento con los objetivos de la medición establecidos. Se crea un documento con los datos y la información obtenida hasta ahora sobre la necesidad de medir, sobre los elementos relevantes para realizar la medición y con la visión de que es necesario obtener una guía para realizar dicho proceso.

Mantener un seguimiento de los objetivos de la medición según los objetivos y las necesidades de información identificados. Los objetivos de la medición pueden variar según las necesidades de información que se generen. Si surge algo nuevo y que sea preciso identificar tiene que agregarse a los objetivos y estos tienen que ser actualizados.

Enviar el documento con los objetivos de la medición definidos al Administrador de procesos para que este lo revise.

El Administrador de procesos:

Recibir el documento con los objetivos de la medición establecidos.

(36)

Revisar el documento y analizar si los objetivos cumplen su propósito. Verificar si los objetivos definidos son los que se necesitan para realizar la medición en el proyecto.

Si están correctos crear un documento con los objetivos de la medición establecidos formalmente.

Si no están correctos enviar el documento al Analista de proceso para que se redefinan los objetivos de la medición.

El proceso termina con la creación de un documento con los objetivos de la medición establecidos formalmente.

Salidas: Definición de los objetivos de la medición.

Clientes: Administrador de procesos.

Inspecciones: Inspecciones trimestrales.

Registros: Documento con los objetivos definidos.

Variables de control: Recursos disponibles.

Catálogo de objetivos definidos.

Frecuencia de actualización.

Capacidad para establecer los objetivos de la medición.

(37)

¾ Esquema del proceso

Solicitar que se establezcan los objetivos de la medición

Recibir los objetivos de la medición definidos

Crear un documento con los objetivos de la medición establecidos formalmente

si

Enviar el documento para que se redefinan los objetivos de la medición no

Revisar los objetivos y analiza si son los que necesita la organización cumplen su propósito?

Recibir la información sobre lo que se necesita medir en el proyecto

Elaborar el documento con los objetivos de la medición establecidos

Enviar el documento con los objetivos de la medición definidos Priorizar las necesidades de información dentro del límite de los recursos disponibles

Solicitar la información sobre lo que se necesita medir en el proyecto

Mantener un seguimiento de los objetivos de la medición según los objetivos y las necesidades de información identificados

Enviar la información recolectada sobre lo que se necesita medir en el proyecto Analizar y recoger los elementos relevantes para la medición en el proyecto

Líder del proyecto Analista de procesos

Administrador de procesos

(38)

2.2.2 Especificar las métricas

El objetivo principal de este proceso es especificar las métricas a usar en el proyecto basándose en los objetivos de la medición y además refinar estos objetivos en métricas precisas y cuantificables. También en este proceso se definen cuales son métricas básicas y cuales derivadas para poder separarlas a la hora de medir y se especifican las definiciones operacionales para cada una de ellas.

¾ Descripción del proceso Nombre: Especificar las métricas.

Identificador: MA 1.2

Categoría: Medición y análisis.

Responsable: Director de producción.

Misión: Especificar las métricas basándose en los objetivos de la medición.

Alcance:

Empieza: Cuando se solicita la especificación de las métricas.

Incluye: Analizar los objetivos de la medición, especificar las métricas básicas, las derivadas y las definiciones operacionales.

Termina: Con la elaboración del documento de las métricas definidas.

Entradas: Solicitud de especificar las métricas. Documento con los objetivos de la medición.

Proveedores: Director de producción.

Actividades:

El proceso inicia cuando el Director de producción le solicita al Especialista de la dirección de producción que especifique las métricasa usar en el proyecto.

El Especialista de la dirección de producción:

Identificar las métricas candidatas basándose en el documento de los objetivos de la medición.

Realizar un análisis de los objetivos planteados para la medición y seleccionar las métricas que pueden ser definidas para cumplir con dichos objetivos.

Identificar de las métricas candidatas las más precisas y cuantificables para usar en el proyecto.

Escoger de todas las métricas seleccionadas las que sean específicamente necesarias para el proyecto y después categorizarlas y especificarlas por el nombre y la unidad de medida.

Referencias

Documento similar