Fundamentos Esenciales de la Calidad en el Desarrollo de Software

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 5,27 KB

Situación Actual de la Calidad del Software

Desafíos Inherentes al Software

  • El producto (software) es algo intangible y no está regido por las leyes físicas.
  • La disciplina de ingeniería de software es relativamente reciente y muchos de sus conceptos importantes están aún inmaduros.
  • Existe una carencia de un corpus de conocimientos aceptado mayoritariamente que sirva como fundamento.

Características de una Organización Inmadura

En una organización inmadura, se observan las siguientes características:

  • Procesos de software normalmente improvisados. Si se han especificado, no se siguen rigurosamente.
  • Organización reactiva, enfocada en resolver crisis inmediatas.
  • Planes y presupuestos excedidos sistemáticamente.
  • Si hay plazos rígidos, se sacrifican la funcionalidad y la calidad del producto para satisfacer el plan.
  • No existen bases objetivas para juzgar la calidad del producto.
  • Cuando los proyectos están fuera de plan, las revisiones o pruebas se recortan o eliminan.

Definición de Calidad de Software

La calidad de software se define como:

  • La concordancia con los requisitos funcionales y de rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se esperan de todo software desarrollado profesionalmente.
  • El grado en el cual el software posee una combinación deseada de factores.

Principios Fundamentales de la Calidad del Software

Los principios básicos del concepto de calidad de software son:

  • Debe ser construida durante el análisis y diseño, no únicamente mediante la realización de revisiones y pruebas.
  • Solo se alcanza con la contribución de todas las personas involucradas.
  • Debe ser planificada y gestionada con eficacia.
  • Dirigir esfuerzos a la prevención de defectos.
  • Reforzar los sistemas de detección y eliminación de defectos durante las primeras fases.
  • Es un parámetro importante del proyecto, al mismo nivel que los plazos de entrega, costos y productividad.
  • Es esencial la participación de la dirección, que ha de propiciar la calidad.

Estándares en el Proceso de Garantía de Calidad

Como parte del proceso de garantía de calidad, podemos definir dos tipos de estándares:

Tipos de Estándares

  • Estándares de producto: Se aplican sobre el producto de software a desarrollar. Ejemplos: estándares de documentación, de definición de clases, de codificación.
  • Estándares de proceso: Definen los procesos que deben seguirse durante el desarrollo de software. Ejemplos: definición en los procesos de especificación, diseño y validación.

Importancia de los Estándares

Los estándares son importantes por varias razones:

  • Están basados en el conocimiento de la mejor o más apropiada práctica de la empresa.
  • Proveen un marco de trabajo alrededor del cual se implementa el proceso de garantía de calidad.
  • Ayudan a la continuidad cuando una persona continúa el trabajo que llevaba a cabo otra.

Ejemplos de Estándares de Calidad

Algunos estándares relevantes incluyen:

  • ISO 9000 (específicamente ISO 9001:2000)
  • (SPICE) ISO/IEC 15504
  • CMM – CMMI (Capability Maturity Model Integration)
  • Certificaciones y organismos relacionados.

Enfoque en la Calidad del Producto de Software

Objetivos y Necesidades del Usuario

El objetivo no es necesariamente alcanzar una calidad perfecta, sino la necesaria y suficiente para cada contexto de uso, tanto en el momento de la entrega como durante su utilización por parte de los usuarios.

Es fundamental comprender las necesidades reales de los usuarios con el mayor detalle posible.

Preguntas Clave sobre la Calidad del Producto

La calidad del software como producto se puede evaluar respondiendo a preguntas como:

  • ¿Hace lo que el usuario necesita?
  • ¿Es lo que el usuario quiere?
  • ¿Le soluciona el problema?
  • ¿Lo hace como él quiere?
  • ¿Se puede construir?
  • ¿Es fácil de modificar, de corregir, de extender?
  • ¿Se puede realizar en tiempo y forma, con costos bajos?
  • ¿Me gusta? ¿Le gusta al usuario?

Relación entre Calidad del Proceso y Calidad del Producto

Existe un vínculo importante entre la calidad del proceso de desarrollo y la calidad del producto final. Aunque el proceso es relativamente más fácil de estandarizar y monitorizar, el desarrollo de software es una actividad inherentemente creativa, donde la experiencia y las habilidades individuales juegan un papel crucial.

La calidad del producto también se ve influenciada por factores externos, como la novedad del proyecto o las presiones comerciales. Por ello, en el desarrollo de software, la relación entre la calidad del proceso y la del producto es compleja y multifactorial.

Entradas relacionadas: