2013-04-29

5 niveles de madurez de procesos de software


Gracias por la información que me proporciono mi colega @soycloud quien nos dio la idea de la entrada.   

Nivel 1: Inicial. El proceso del software se caracteriza según el caso, y ocasionalmente incluso de forma caótica. Se definen pocos procesos, y el éxito depende del esfuerzo individual. Representa una situación sin ningún esfuerzo en la garantía de calidad y gestión del proyecto, donde cada equipo del proyecto puede desarrollar software de cualquier forma eligiendo los métodos, estándares y procedimientos a utilizar que podrán variar desde lo mejor hasta lo peor.

Nivel 2: Repetible. Se establecen los procesos de gestión del proyecto para hacer seguimiento del coste, de la planificación y de la funcionalidad. Para repetir éxitos anteriores en proyectos con aplicaciones similares se aplica la disciplina necesaria para el proceso. Representa el hecho de que un desarrollador de software ha definido ciertas actividades tales como el informe del esfuerzo y del tiempo empleado, y el informe de las tareas realizadas.

Nivel 3: Definido. El proceso del software de las actividades de gestión y de ingeniería se documenta, se estandariza y se integra dentro de un proceso de software de toda una organización. Todos los proyectos utilizan una versión documentada y aprobada del proceso de la organización para el desarrollo y mantenimiento del software. En este nivel se incluyen todas las características definidas para el nivel 2. Representa el hecho de que un desarrollador de software ha definido tanto procesos técnicos como de gestión, por ejemplo un estándar para la programación ha sido detallado y se hace cumplir por medio de procedimientos tales como auditorías. Este nivel es aquel en el que la mayoría de los desarrolladores de software, pretenden conseguir con estándares como el ISO 9001, y existen pocos casos de desarrolladores de software que superan este nivel.

Nivel 4: Gestionado. Se recopilan medidas detalladas del proceso del software y de la calidad del producto. Mediante la utilización de medidas detalladas, se comprenden y se controlan cuantitativamente tanto los productos como el proceso del software. En este nivel se incluyen todas las características definidas para el nivel 3. 
    • Métrica de prueba: puede usarse para determinar cuándo finalizar la prueba de un elemento del código.
    • Métrica de legibilidad: puede usarse para juzgar la legibilidad de algún documento en lenguaje natural.
    • Métrica de comprensión: del programa puede utilizarse para proporcionar algún umbral numérico que los programadores no pueden cruzar.
Nivel 5: Optimización. Mediante una retroalimentación cuantitativa del proceso, ideas y tecnologías innovadoras se posibilita una mejora del proceso. En este nivel se incluyen todas las características definidas para el nivel 4. Es el nivel más alto a alcanzar. Hasta ahora, muy pocos desarrolladores de software han alcanzado esta fase. Representa la analogía del software con los mecanismos de control de calidad que existen en otras industrias de mayor madurez. 

Merece la pena destacar que cada nivel superior es la suma de los niveles anteriores, por ejemplo, un desarrollador de software en el nivel 3 tiene que haber alcanzado el estado nivel 2 para poder disponer de sus procesos en el nivel 3.

Niveles de maduración de niveles
  • Nivel 2 de Madurez del Proceso
    • Gestión de configuración del software
    • Garantía de calidad del software
    • Gestión de subcontratación del software
    • Seguimiento y supervisión del proyecto del software
    • Planificación del proyecto del software
    • Gestión de requisitos
  • Nivel 3 de Madurez del Proceso
    • Revisiones periódicas
    • Coordinación entre grupos
    • Ingeniería de productos de software
    • Gestión de integración del software
    • Programa de formación
    • Definición del proceso de la organización
    • Enfoque del proceso de la organización
  • Nivel 4 de Madurez del Proceso
    • Gestión de calidad del software
    • Gestión cuantitativa del proceso
  • Nivel 5 de Madurez del Proceso
    • Gestión de cambios del proceso
    • Gestión de cambios de tecnología
    • Prevención de defectos
Y tú en qué nivel estas o pretendes llegar.