Estándares de calidad aplicados al software

Anuncio
Instituto Tecnológico de Chilpancingo
Calidad de software
Catedrático: José Daniel Sánchez Rodríguez
Alumno: Isaac Calderón García
Ensayo – Estándares de calidad aplicados al software
Chilpancingo, GRO; A 17 de abril de 2013.
Introducción
Los primeros años de la era informática se vieron marcados por el desafío del
desarrollo del hardware de los ordenadores. Este desafío se ha visto superado por
los vertiginosos avances de la microelectrónica. Hoy en día el principal problema
al que nos enfrentamos es la llamada “crisis del software”. La causa principal de
esta crisis es el aumento de la complejidad de las aplicaciones sin la adopción de
los procesos adecuados de desarrollo que contribuirían a obtener un producto de
mayor calidad y menor costo.
Calidad de Software
Página 2
Índice
3.1 ISO -------------------------------------------------------------------------------------------- 4
3.2 SPICE ---------------------------------------------------------------------------------------- 5
3.3 CMM ------------------------------------------------------------------------------------------ 7
3.3.1 Definición del modelo ----------------------------------------------------------- 9
3.3.2 Nivel inicial ------------------------------------------------------------------------ 9
3.3.3 Nivel repetido --------------------------------------------------------------------- 10
3.3.4 Nivel definido -------------------------------------------------------------------- 11
3.3.5 Nivel administrativo ------------------------------------------------------------ 12
3.3.6 Nivel optimizado ----------------------------------------------------------------- 14
Calidad de Software
Página 3
ISO (International Organization for Standardization)
Es el organismo encargado de promover el desarrollo de normas internacionales
de fabricación, comercio y comunicación para todas las ramas industriales a
excepción de la eléctrica y la electrónica. Su función principal es la de buscar la
estandarización de normas de productos y seguridad para las empresas u
organizaciones a nivel internacional.
El propósito de la ISO es promover el desarrollo de la estandarización y de las
actividades relacionadas del mundo para facilitar el intercambio internacional de
mercancías y de servicios, y para desarrollar la cooperación en actividad
intelectual, científica, tecnológica y económica.
El objetivo de ISO es promover el desarrollo de la normalización y actividades
conexas en el mundo, con el fin de facilitar el intercambio internacional de bienes y
servicios, y desarrollar la cooperación en las esferas de actividad intelectual,
científica, tecnológica y económica.
La misión de la ISO es promover el desarrollo de la estandarización y las
actividades con ella relacionada en el mundo con la mira en facilitar el intercambio
de servicios y bienes, y para promover la cooperación en la esfera de lo
intelectual, científico, tecnológico y económico.
Beneficios de la ISO






Adecuación a la Administración de los procesos
Enfoque a los resultados de la Institución
Integración con otros sistemas de Administración de la Calidad
Incluye procesos de mejora continua
Adaptable a las necesidades de los alumnos
Enfoque a las necesidades de los alumnos y partes interesadas.
Calidad de Software
Página 4
¿Para qué implementar un sistema de gestión de calidad de organización?
Para:
 Garantizar la calidad del aprendizaje significativo en el alumno
 Demostrar que los procesos se realizan de manera controlada
 Tener un enfoque de mejora continua de procesos y servicios de la
Organización.
 Diseñar estrategias para la competitividad y permanencia en el
mercado.
 Permitir contar con indicadores (ya que es un enfoque basado en
procesos) cuando se implementa y mejora la eficacia de un SGC,
para aumentar la satisfacción del cliente mediante el cumplimiento de
sus requisitos.
SPICE
Para que una organización mejore la calidad de sus productos debe tener un
método probado, consistente y fiable para evaluar el estado de sus procesos y
además, unos medios para usar los resultados de la evaluación como parte de un
programa de mejora coherente. El proyecto internacional SPICE, llevado a cabo
por la organización ISO, ha obtenido en su primera fase del proyecto un Informe
Técnico Tipo 2 (ISO 15504)1 formado por un conjunto de documentos todos ellos
bajo el título general de Evaluación del Proceso Software.
El proyecto SPICE arrancó con los objetivos de:
a) Ayudar al proyecto de estandarización, en su etapa preparatoria, para
desarrollar los borradores iníciales de trabajo.
b) Realizar las pruebas de usuario, obteniendo datos de la experiencia que
constituirán la base de la revisión del Estándar antes de emitirlo como
International Standard.
c) Crear el conocimiento del mercado y evolucionar el estándar.
Elementos principales del SPICE:
Los elementos esenciales para comprender SPICE son los siguientes:
Modelo de Referencia
Calidad de Software
Página 5
Los resultados de la evaluación del proceso se describen en un modelo de dos
dimensiones:
Dimensión del proceso y Dimensión de la capacidad. Esto es lo que se
denomina arquitectura del modelo de referencia.
Dimensión del proceso: que está caracterizado por los objetivos del proceso
que constituye los elementos fundamentales a medir;
Dimensión de la capacidad del proceso: que está caracterizado por una
serie de atributos de proceso, aplicables a cualquier proceso, que
representan características necesarias para gestionar y mejorar su
capacidad de realización.
Dimensión del proceso: El modelo de referencia agrupa los procesos en
categoría de procesos. Estos procesos se corresponden con los definidos
en ISO 12207 Software Life-Cycle Process. (Tabla 1). La descripción de
cada proceso consta de:
 Una declaración del objetivo del proceso describiendo a un alto nivel
los objetivos generales del proceso, y también una descripción en
términos genéricos de los probables resultados de una
implementación efectiva del proceso; y
 Una o más observaciones proporcionando mayor información sobre
los procesos y su relación a los procesos definidos en ISO 12207 y a
otros procesos en este modelo de referencia.
Dimensión de la capacidad: Está formada por seis niveles de capacidad y
nueve atributos de proceso. Un nivel de capacidad está formado por uno o
varios atributos que conjuntamente proporcionan una mejora importante en
la capacidad de realizar un proceso. Los niveles proporcionan una manera
racional de progresar en la mejora de la capacidad de cualquier proceso.
El modelo de referencia por sí solo no se puede usar como base para realizar
evaluaciones fiables y consistentes de la capacidad de proceso puesto que no es
suficiente el nivel de detalle. Se debe soportar con un conjunto de indicadores
comprensibles del rendimiento y capacidad del proceso.
Calidad de Software
Página 6
VENTAJAS Y DESVENTAJAS
SPICE ofrece una base para una evaluación muy detallada del estado actual del
proceso de una organización. Por su gran nivel de descomposición de los
procesos e indicadores, proporciona evaluaciones objetivas y con resultados
repetibles, especialmente cuando es realizada por evaluadores entrenados y
cualificados. El European Software Institute (ESI) ya ofrece cursos para ello.
Al disminuir la subjetividad se consigue reducir discordias sobre los resultados de
la evaluación y a adoptar actitudes positivas de los equipos hacia la evaluación.
Por contra se requiere un gran esfuerzo para realizar las evaluaciones y por tanto
un alto costo. Las evaluaciones se pueden llevar a cabo por personal interno de tal
manera que se puedan ver reducidos estos costes. Es importante tener en cuenta
que la evaluación no necesita abordarse a toda la organización, las evaluaciones
SPICE se puede realizar únicamente en aquellos procesos que sean áreas de
problema.
El modelo de referencia SPICE no contiene una estrategia de mejora del proceso.
Esto puede verse como positivo o negativo dependiendo de lo que se quiera.
Pero la ventaja principal es que al disponer de un estándar internacional se
pueden realizar comparaciones a nivel mundial entre evaluaciones en contextos
similares.
CMM (Capability Maturity Model for Software)
Ya que el problema fundamental de las organizaciones de software es su
inhabilidad para administrar sus procesos. CMM para Software (Capability Maturity
Model for Software) se convierte en una guía que ayudará a ganar el control sobre
estos procesos y así desarrollar y mantener un mejor software.
La meta será:
La evolución hacia una cultura de excelencia tanto en la Ingeniería como en la
Administración de software.
El CMM incluye prácticas de:
Planeación.
Ingeniería.
Administración de desarrollo.
Mantenimiento de software.
Calidad de Software
Página 7
Si se siguen estas prácticas aumentará la habilidad con que una organización
podrá alcanzar metas como: costo, programa, funcionalidad y calidad de producto.
El propósito de CMM es:
Guiar a las organizaciones en la selección de estrategias de mejora determinando
la madurez del proceso actual e identificando los puntos importantes que se deben
atacar, para así mejorar tanto el proceso como la calidad del software.
¿Por qué confiar en CMM?
El modelo de capacidad de Madurez está basado en prácticas reales, refleja las
mejores prácticas en el área y la necesidad de los individuos de llevar a cabo una
mejora en el proceso de software, al igual que su valoración. Por otra parte, CMM
está documentado y es público.
CMM es:
Una estrategia de mejora.
Una señalización de deficiencias dentro de una organización.
Una guía para poder avanzar hacia una cultura de calidad.
CMM NO es:
Una solución rápida (es gradual).
Un checklist que puede ser utilizado en todos los ambientes, aunque
las prácticas detalladas en el CMM sirven como guía para tomar
decisiones.
Estructura
CMM cuenta con cinco niveles de Madurez.
Niveles que son progresivos y no autónomos y que están organizados conforme a
su importancia (Prioridad).
1. Analogía:
2. Cada Piso (Nivel de madurez).
3. Plataformas intermedias (la próxima meta).
4. Plataformas KPA (metas intermedias).
5. Escalones (Prácticas Clave).
Calidad de Software
Página 8
NIVELES DE MADUREZ DE LOS PROCESOS DEL SOFTWARE
NIVEL 1: INICIAL
Una empresa estará ubicada en el nivel inicial si su proceso es ad-hoc o caótico.
Esto quiere decir que realmente no existe un ambiente estable en el cual se pueda
desarrollar o mantener software.
En este nivel se tendrán un número de entradas, seguidas por cierto proceso que
realmente no estaba documentado, ni se documenta:
Visibilidad y Madurez del Proceso de Software Inicial
En este nivel lo normal es no alcanzar las metas definidas ni en tiempo, ni costo, ni
recursos planeados.
La Figura muestra otra cara de cómo se realiza el proceso dentro de las
Organizaciones de
Nivel 1. Se tienen como entrada las necesidades del cliente.
Calidad de Software
Página 9
Estas pasan por una transformación no definida para dar como resultado un
producto.
Ahora este producto puede o no satisfacer las necesidades del cliente y puede o
no, haber cumplido con los estimados propuestos por la Organización que otorga
el servicio.
La capacidad es una cualidad de las personas más no de la organización. Se
alcanza el propósito del proceso de manera inconsistente. No es planeado ni lleva
un seguimiento.
Nota: Los objetivos de costo y del plan son normalmente sobrepasados por las
Organizaciones de Nivel 1.
NIVEL 2: REPETIBLE
Para poder dejar atrás el Nivel 1 la Organización debe empezar a documentar su
proceso, se empieza a guardar información. Así pues, si una empresa cuenta con
políticas que le permitan administrar un proyecto de software y a su vez, con
procedimientos para verificar que esas políticas son implementadas, se ubicaría
en el nivel dos.
Visibilidad y Madurez del Proceso de Software Nivel 2
Calidad de Software
Página 10
Al término de cada caja se tiene una revisión donde se podrá detectar si el
proceso está funcionando. Se puede actuar ante los problemas en cuanto se sabe
de ellos. El cliente puede saber acerca del status del proyecto al finalizar cada una
de las cajas.
La capacidad del proceso de software de una Organización Nivel 2 tiene disciplina,
ya que el proyecto de software involucra planeación y seguimiento; es un proceso
documentado.
El proceso es estable y los éxitos anteriores pueden repetirse. Pero aún no se
cuenta con métricas para servicios, solamente para productos.
Nota: Los planes basados en desempeños anteriores son más realistas en
organizaciones de Nivel 2.
NIVEL 3: DEFINIDO
En el Nivel 3 ya no hay cajas negras y se cuenta, con un proceso de software
estándar de la organización para desarrollar o mantener el software; éste está
documentado y es implementado a lo largo de toda la organización en distintos
proyectos y este proceso, es la unión de prácticas de Ingeniería de Software y de
Administración de Procesos.
La figura muestra el interior de estas cajas; como consecuencia se incrementa el
número de accesos, para conocer la situación del proyecto tanto por la
organización como por el cliente.
Visibilidad y Madurez del Proceso de software Nivel 3.
Calidad de Software
Página 11
En el Nivel 3 se agrega al proceso un enfoque Organizacional y procesos de
Ingeniería:
El Nivel 3 es estándar y consistente, ya que gracias a las prácticas de Ingeniería
de Software y a las de administración de proyectos el proceso es estable y
repetible.
La capacidad se logra basándose en el entendimiento de las actividades, roles y
responsabilidades en un proceso de software bien definido. La administración
ahora puede prepararse con anterioridad para afrontar riesgos posibles.
En este Nivel se cuenta con planes y programas de mejora aunque no
necesariamente se les da un seguimiento. La medición no es sólo de productos
sino también de servicios.
Nota: Con procesos bien definidos el desempeño mejora en Organizaciones de
Nivel 3.
NIVEL 4: ADMINISTRADO
En el Nivel 4 se hace uso de todos los datos que se han recolectado, se
convierten datos en información relevante para la organización, para así poder
identificar qué era lo que estaba mal.
Este nivel podría llamarse "cuantitativo" ya que en él, cualquier decisión es
respaldada por una base cuantitativa; se mide el progreso y los problemas y
mientras se aumenta la probabilidad de ser más precisos en los estimados, se
reduce la variabilidad (incertidumbre) del proceso.
El cliente tendrá un entendimiento medible tanto de la capacidad del proceso
como del riesgo que éste implica, incluso antes de que el proyecto inicie.
Calidad de Software
Página 12
En este nivel la organización fija metas de calidad tanto del proceso como del
producto.
Existe un programa de medición dentro de la organización que es aplicado a lo
largo de todos los proyectos, midiendo así la productividad y la calidad.
En la Figura se logra apreciar que no sólo se toma información del proyecto, sino
que también se ingresa información; existe una retroalimentación.
Visibilidad y Madurez del Proceso de software nivel 4
Todos los procesos de software son medidos.
En este nivel se forma la parte cuantitativa de la organización, para poder evaluar los
proyectos, los procesos y los productos.
Esto no quiere decir que en niveles anteriores no se obtuvo información cuantitativa.
Puede ser que sí se guardó este tipo de información, pero no es sino hasta el Nivel 4 que
se le da un significado a esta valiosa información.
En el nivel 4 se agrega una retroalimentación cuantitativa al proceso:
Calidad de Software
Página 13
El Nivel 4 es cuantificable y predecible. Todo gracias a que el proceso, a la par
que el producto y servicios, es medido y opera dentro de un límite cuantificable.
Se cumple con planes y programas de mejora. Se hace una distinción entre los
procesos principales y los de apoyo. Se pueden observar cadenas cliente-servidor
a lo largo del proceso. Como resultado se obtiene un producto de Alta Calidad.
Nota: El desempeño continúa su mejora basándose en el entendimiento
cuantitativo del producto y del proceso.
NIVEL 5: OPTIMIZADO
En el Nivel 5 la organización se dedica a mejorar continuamente su proceso
probando nuevas maneras de construcción de software, pero siempre de una
manera controlada. Para lograr esto es necesario poder localizar tanto debilidades
como fortalezas y al analizarlas, se podrá mejorar el proceso y así prevenir
defectos.
Si un defecto es encontrado, entonces es revisado o sustituido, como puede
observarse en la figura 11. Los defectos son analizados con el fin de determinar
sus causas.
El objetivo de esta actividad es el prevenir y evitar la recurrencia de estos
defectos. Una vez encontradas las causas es importante difundirlas para que así
todos los integrantes de la organización aprendan la lección.
Visibilidad y Madurez del Proceso de software Nivel 5
En el Nivel 5 los directivos son capaces de estimar y después dar un seguimiento
cuantitativo al impacto y a la efectividad del cambio. La relación con el cliente es
más fuerte.
Calidad de Software
Página 14
A partir de la eficiencia del proceso es posible generar reportes de costo/beneficio
de nuevas tecnologías o proponer cambios al proceso estándar de la
organización.
Es en este Nivel 5 que se agrega una fase más, la optimización del proceso y es
así, como se cierra el círculo del proceso:
El nivel optimizado se dedica al mejoramiento continuo de su proceso (capacidad)
a la par de su madurez. Este mejoramiento se da gracias al uso o implementación
de nuevas tecnologías o métodos.
Se obtiene un cumplimiento total de objetivos de calidad. Los ciclos de mejora
continua son identificables. Los indicadores de desempeño competitivos son
comparados contra los mejores en su clase. Existe una relación causal entre la
mejora de calidad y el desempeño financiero de la compañía.
Nota adicional: sería bueno destacar que alcanzar el Nivel 5, no significa que la
organización ya no tenga una meta superior a la cual aspirar. Es más, si la
organización no persiste en su mejoramiento continuo ésta podría bajar a un nivel
inferior de la escala de CMM. Por lo tanto, como moraleja: si lo ganado no se
cuida, ni se trabaja, se pierde.
Calidad de Software
Página 15
Descargar