Está en la página 1de 7

Materia: Gestión de Proyectos de Software

Unidad II: Calidad de software

2.1. La gestión de proyectos usando un marco de calidad

El software, como producto elaborado que es, se construye de acuerdo con procesos
preestablecidos y controlados, en cuya producción se emplean “ingredientes humanos”,
tecnológicos, etc. Por ello, la producción de software de calidad debe seguir una receta
similar a la de cualquier otro producto: buenos ingredientes, construidos, ensamblados
y verificados en un proceso de calidad. Sólo esto garantiza la calidad del producto final.

La calidad es un término del que todos tenemos una noción clara, y sin embargo nos
resulta difícil definirla con palabras. La definición de Raymond Paul es una referencia
importante a la hora de estudiar este concepto desde la perspectiva de la ingeniería del
software: “La característica que distingue el grado de excelencia o superioridad de un
proceso, producto o servicio”.

Una forma sencilla de evaluar la calidad de un producto es identificar los atributos que
diferencian a un objeto de calidad de uno que no la tiene. Si el producto en cuestión
posee dichos atributos, entonces se considera que tiene calidad y en el caso contrario,
se considera que no la tiene. Así, cuando hablamos del software, la calidad se identifica
a menudo con la ausencia de fallos. Sin embargo, esta definición es bastante laxa,
puesto que hay fallos que estamos dispuestos a tolerar, por ejemplo, en un navegador
web, pero que consideraríamos inaceptables en un software que controle procesos
críticos tales como el sistema de control de una aeronave comercial.

La guía SWEBOK indica expresamente que los ingenieros del software deben conocer
el significado y características de la calidad, así como su valor en el desarrollo y
mantenimiento del software. En el desarrollo de un sistema de software, la calidad
aparece por primera vez en los requisitos, que es donde se establecen los parámetros
y criterios de calidad del software que se construirá. Las características de calidad que
se definen en estos momentos serán la referencia de ahí en adelante, por lo que todo
aquello que se establezca como requisito de calidad en este punto tendrá una enorme
influencia, tanto en la forma en que posteriormente se medirá la calidad, como en los
criterios utilizados para evaluar si los parámetros de calidad establecidos se cumplieron
o no al final del desarrollo. La figura siguiente muestra los diferentes aspectos de la
calidad desde el punto de vista de la ingeniería del software.

Mtra. Verónica Amezcua Magallón 1


Materia: Gestión de Proyectos de Software

A continuación, se presentan alguno de los elementos de este diagrama.

➢ Cultura de la calidad

En su libro “Creación de una cultura de la Ingeniería del Software”, Karl Wiegers hace
un detallado catálogo de aquellos elementos que contribuyen al éxito de un proyecto de
software poniendo énfasis especial en la mejora de la cultura de la calidad en una
organización. Esta cultura de la Ingeniería del Software se podría definir como un
compromiso de los ingenieros del software de una organización con las metas de calidad
de su organización y particularmente, con aquellas que tienen que ver con la obtención
de software de calidad. La asimilación de esta cultura de la calidad por parte de los
ingenieros del software se plasma en una serie de prácticas que en conjunto se
constituyen en lo que Wiegers (1996) denomina cultura de calidad de la organización.
Según este autor algunos de los más importantes principios para tener en cuenta son:

• La gente necesita sentir que su trabajo es apreciado.


• La formación continua es responsabilidad de todos los miembros del equipo.
• Un factor importante en la calidad del software es que el cliente esté implicado
en el desarrollo.
• Su mayor reto es tener el mismo concepto de producto final que su cliente.
• Los procedimientos escritos para el desarrollo del software pueden ayudar a
construir una cultura compartida de buenas prácticas.
• Lucha porque los errores sean detectados por sus compañeros y no por los
clientes.

Mtra. Verónica Amezcua Magallón 2


Materia: Gestión de Proyectos de Software

• Gestionar correctamente los informes de defectos y las solicitudes de cambios


es esencial para controlar la calidad y el mantenimiento.
• Si mide lo que hace, aprenderá a hacerlo mejor.

Es importante promover la máxima calidad, un costo aceptable y un plazo razonable,


garantizando que los compromisos significativos al respecto quedan claros, que el
empresario y el cliente los aceptan y que están disponibles para consideración del
usuario y del público en general.

➢ Valor y costos de la calidad

En general la obtención de un producto de calidad es positiva. Sin embargo, hemos de


ser conscientes que, si bien existen unos beneficios claramente asociados con la
obtención de un software de calidad, también hay costos asociados que deben
asumirse. Así, el costo de la calidad tiene diferentes componentes:

• Costos de prevención: son los derivados de controlar que el proceso de


producción se atenga a los criterios de calidad establecidos y prevenir la
aparición de defectos. Dichos costos se asocian a la planificación de las
actividades de calidad, a la formación de nuevos integrantes del equipo de
desarrolladores o a la realización de informes de calidad del producto que está
siendo desarrollado, entre otros.
• Costos de evaluación de la calidad: asociados con las actividades de
verificación de la calidad a llevar a cabo. Entran en esta categoría los costos
para verificar que lo obtenido cumple los requisitos de calidad establecidos al
comienzo del proceso, los de inspección del producto entregado, etc.
• Costos de los fallos internos: producidos como consecuencia de las tareas de
detección y reparación de defectos internos del software. Se denominan
defectos internos a aquellos que existen en el software antes de que éste sea
entregado a los usuarios. Si bien estos defectos no son perceptibles por el
usuario, no por ello son menos importantes, ya que su no reparación podría
ocasionar fallos externos.
• Costo de los fallos externos: son costos derivados de corregir los fallos
encontrados en el software después de entregados al cliente. Los factores de
costo más habituales son los derivados del análisis del software que
desencadena una reclamación por parte del cliente, los costos de restitución o
reemplazo del producto y el costo asociado a los servicios y reparaciones
efectuadas durante el periodo de garantía.

Mtra. Verónica Amezcua Magallón 3


Materia: Gestión de Proyectos de Software

La motivación de los desarrolladores de software es, fundamentalmente, para crear


productos que proporcionen valor a los clientes. Si bien como hemos visto, la
incorporación de la calidad a la producción del software conlleva unos costos, hoy en
día está ampliamente aceptado el hecho de que los beneficios compensan con creces
dichos costos.

➢ Aseguramiento de la calidad

Los procesos de aseguramiento de la calidad garantizan que tantos los productos como
los procesos de producción del software cumplen con los requisitos de calidad
establecidos. La IEEE define como:

Aseguramiento de la calidad es un patrón sistemático y planificado de todas las acciones


necesarias para afirmar con certeza que un producto es conforme con los requisitos
técnicos establecidos.

Algunos autores han criticado que se considere el aseguramiento de la calidad como un


conjunto de actividades vagas y sin implicaciones reales y definidas. Sin embargo, y
como indica Fenton, muy a pesar de dichas apreciaciones el aseguramiento de la
calidad impone obligaciones reales en términos de medición para las diferentes etapas
del ciclo de vida:

• En la fase de requisitos es necesario determinar la viabilidad, estimando los


recursos necesarios y asignando dichos recursos en función de las necesidades.
También es necesario en esta etapa establecer los objetivos de calidad.
• En las fases de especificación y diseño, el aseguramiento de la calidad impone
revisiones e inspecciones de la documentación que se genera.
• Durante la construcción hay que validar, verificar y decidir cuando el producto
está listo para su entrega.
• De cara al mantenimiento y a la revisión del proyecto, el aseguramiento de la
calidad impone el análisis de defectos, la auditoría del proyecto y la planificación
de la mejora del proceso de producción.

En el ámbito de los procesos, un plan de aseguramiento de la calidad debe garantizar


que éstos son adecuados, que se ejecutan de acuerdo con el plan inicialmente previsto
y que durante cada proceso se toman medidas relevantes para la organización que
desarrolla dicho proceso. La organización debe, para ello, cumplir un conjunto de
requisitos:

• Fijar con precisión los objetivos, plazos y costos en términos de recursos.

Mtra. Verónica Amezcua Magallón 4


Materia: Gestión de Proyectos de Software

• Establecer procedimientos para todo aquello que afecte el desarrollo: qué medir,
como informar de los errores, qué metodología emplear, cómo documentar, qué
acciones correctivas tomar, etc.
• Establecer procedimientos de seguimiento y monitorización que garantizan que
todo lo anterior se cumple.

Los beneficios de introducir un método de mejora en una organización son evidentes: la


calidad de un producto viene en gran medida determinada por la calidad de su proceso
de desarrollo.

➢ Modelos de calidad

• CMM
• MOPROSOFT
• ISO 9000
• SPICE
• SIX SIGMA

2.2 Estándares y Métricas de calidad en la ingeniería de Software

Podemos definir dos tipos de estándares como parte del proceso de garantía de calidad:

1. Estándares de producto. Se aplican sobre el producto software que se comienza a


desarrollar. Incluyen estándares de documentación, como cabecera de comentarios
estándar para definición de clases, y estándares de codificación.

2. Estándares de proceso. Definen los procesos que deben seguirse durante el


desarrollo del software. Pueden incluir definiciones de procesos de especificación,
diseño y validación, así como una descripción de los documentos que deben
escribirse en el curso de estos procesos.

Existe una relación muy cercana entre los estándares de producto y los estándares de
proceso. Los estándares de producto se aplican a las salidas del proceso software y en
muchos casos, los estándares de proceso incluyen actividades de proceso específicas
que garantizan que se sigan los estándares de producto.

Los estándares de software son importantes por varias razones:

1. Están basadas en el conocimiento de la mejor o más apropiada práctica de la


empresa, evita la repetición de errores anteriores.

Mtra. Verónica Amezcua Magallón 5


Materia: Gestión de Proyectos de Software

2. Proveen un marco de trabajo alrededor del cual se implementa el proceso de


garantía de la calidad.

3. Ayudan a la continuidad cuando una persona continúa el trabajo que llevaba a cabo
otra. Se reduce el esfuerzo de aprendizaje cuando se comienza un nuevo trabajo.

Algunas veces, los ingenieros de software consideran a los estándares como


burocráticos e irrelevantes para las actividades técnicas de desarrollo de software. Para
evitar estos problemas, los gestores de la calidad que fijan los estándares necesitan
estar informados y tomar en consideración los siguientes pasos:

1. Involucrar a los ingenieros de software en el desarrollo de los estándares del proyecto.

2. Revisar y modificar los estándares de forma regular con el fin de reflejar los cambios
en la tecnología.

3. Proveer herramientas de software para apoyar los estándares donde sea necesario.

2.3. Impacto de la calidad en tiempo, costo y alcance del proyecto

La gestión de los proyectos, según el PMI, incluye tres aspectos fundamentales:

• La línea base del Alcance, la cual incluye detalles del enunciado del alcance del
proyecto y de la estructura de desglose del trabajo que se utilizan para definir las
actividades, estimar la duración y gestionar el cronograma.
• La línea base de Tiempo, documenta las medidas aceptadas del desempeño
del cronograma, incluidas las fechas de inicio y finalización.
• La línea base de Costos, es la versión aprobada del presupuesto por fases del
proyecto, excluida cualquier reserva de gestión.

Mtra. Verónica Amezcua Magallón 6


Materia: Gestión de Proyectos de Software

Sin calidad, un producto o servicio no genera ningún beneficio. La calidad no se puede


inyectar al final del proyecto, sino que debe ser parte del proceso de construcción de los
entregables.

Para que un proyecto sea considerado de calidad debe cumplir con el alcance
(objetivos) acordado con los interesados, debe realice en el tiempo (plazos) planificado
y bajo el presupuesto (costos) aprobado.

Mtra. Verónica Amezcua Magallón 7

También podría gustarte