Modelos basados en procesos

From Scrum Manager BoK

En 1986 el Instituto de Ingeniera de Software de la Universidad Carnegie Mellon desarrolló un Sistema de Evaluación de Madurez de Procesos, en respuesta a un pedido del gobierno de los EEUU, quien necesitaba evaluar a sus proveedores de software.

  • El mismo sirvió como base para que se desarrollara el modelo SW-CMM (Capability Maturity Model for Software). En pocos años más se suman otros modelos, que complementaban al anterior:
  • SE-CMM (System Engineering Capability Maturity Model)
  • P-CMM (People Capability Maturity Model)
  • SA-CMM (Software Acquisition Capability Maturity Model)
  • IPD-CMM (Integrated Product Development CMM)

Finalmente, a principios del 2000, éstos derivan en el modelo CMMI (Capability maturity model integration). El mismo:

  • Guía a las organizaciones en la mejora evolutiva, que va desde actividades inmaduras a procesos disciplinados y maduros.
  • Describe prácticas para planificación, ingeniería, y procesos de gestión de negocio que pueden ayudar a alcanzar los objetivos relacionados a: costes, cronogramas, funcionalidad, calidad del producto y servicio.
  • Ayuda a la organización en la medición y comparación de sus procesos de desarrollo, adquisición y servicio contra los valores actuales de la industria
  • Provee una base para planificar las mejoras de procesos de negocio.

Aunque existen dos representaciones del modelo CMMI (continuo y por etapas) ambas permiten a la organización obtener la madurez de sus procesos, aunque siguiendo distintos caminos.

El método de evaluación utilizado por CMMI se denomina SCAMPI (Standard CMMI® Apprarisal Method for Process Improvement)

Familia de normas ISO

Por otra parte ISO u Organización Internacional de Normalización (federación mundial de organismos nacionales de normalización) desarrolló distintas normas que colaboraron con las mejoras en la ingeniería de software.

  • ISO 90003: Esta norma internacional proporciona una guía a las organizaciones para la aplicación de la ISO 9001 para la adquisición, suministro, desarrollo, instalación y mantenimiento de software y servicios de soporte. La misma no cambia ni añade los requisitos de la ISO 9001. No está destinada a ser utilizada como criterio de evaluación en la certificación del sistema de calidad, sino simplemente como una guía.
  • ISO 9001 (Sistemas de Gestión de la Calidad): esta norma especifica los requisitos para un sistema de gestión de la calidad, cuando una organización: a) necesita demostrar su capacidad para proporcionar regularmente productos que satisfagan los requisitos del cliente y los legales y reglamentarios aplicables, y b) aspira a aumentar la satisfacción del cliente a través de la aplicación eficaz del sistema, incluidos los procesos para la mejora continua del sistema y el aseguramiento de la conformidad con los requisitos del cliente y los legales y reglamentarios aplicables. No es específica para la industria del software y se aconseja su uso en conjunto con ISO 90003.
  • ISO 15504 (SPICE: Software Process Improvement Capability Determination): proporciona un marco de trabajo para la evaluación del proceso de software y establece los requisitos mínimos para realizar una evaluación que asegure la repetitividad y consistencia de las valoraciones obtenidas. El objetivo de la evaluación del proceso es conocer la capacidad de los procesos de una organización. Como resultado de una exitosa implementación de la evaluación de los procesos se determina la información que caracteriza los procesos evaluados y el punto hasta el cual los procesos realizan su propósito.
  • ISO 12207 (Procesos del ciclo de vida del software): esta norma establece un marco de referencia común para los procesos del ciclo de vida del software, con una terminología bien definida a la que puede hacer referencia la industria del software. Contiene procesos, actividades y tareas para aplicar durante la adquisición de un sistema que contiene software, un producto de software puro o un servicio de software, y durante el suministro, desarrollo, operación y mantenimiento de productos de software. Esta norma incluye también un proceso que puede emplearse para definir, controlar y mejorar los procesos del ciclo de vida del software.

SWEBOK

SWEBOK (Software Engineering Body of Knowledge), es un documento creado por la Software Engineering Coordinating Committee, promovido por la IEEE Computer Society, que se define como una guía al conocimiento presente en el área de la Ingeniería del Software. Supone un paso esencial hacia el desarrollo de la profesión porque representa un amplio consenso respecto a los contenidos de la disciplina.

Está compuesto por 10 áreas de conocimiento:

  • Requisitos de Software
  • Diseño de Software
  • Construcción de Software
  • Pruebas de Software
  • Mantenimiento de Software
  • Gestión de la configuración
  • Gestión de la Ingeniería de Software
  • Proceso de Ingeniería de Software
  • Herramientas y métodos de la Ingeniería de Software
  • Calidad del Software