sábado, 5 de abril de 2014

CMMI

¿Que es CMMI?


CMMI (Modelo de Madurez de Capacidad Integrado) pertenece a la familia de modelos desarrollados por el SEI (Software Engineering Institute) para evaluar las capacidades de las organizaciones de ingeniería de sistemas, ingeniería de software, además del desarrollo integrado del producto y del proceso.


CMMI


Es un modelo de mejora de procesos que recomienda un conjunto de buenas prácticas destinadas a mejorar la productividad, resultados, costos, satisfacción de todos los actores vinculados con una organización que construye y mantiene software


El CMMI


Algunos de los objetivos del CMMI y que son buenos para el negocio.
  • Producir servicios y Productos de alta calidad.
  • Crear valor para los accionistas.
  • Mejorar la satisfacción del cliente.
  • Incrementar la participación en el mercado.
  • Ganar reconocimiento en la industria.


El modelo CMMI for Development


  • El modelo tiene 4 áreas de conocimiento o disciplinas que incluyen
  • Ingeniería de Software (SW)
  • Ingeniería de Sistemas (SE)
  • Desarrollo Integrado de Productos y Procesos (IPPD)
  • Acuerdos con Proveedores (SS).




Disciplinas del Modelo


  • Ingeniería de Sistemas: Abarca el desarrollo total del sistema que puede o no incluir el desarrollo de software.
  • Ingeniería de Software: Cubre el desarrollo de software y su mantenimiento.
  • Desarrollo integrado de Productos y Procesos: Contempla un enfoque sistemático para la colaboración de los involucrados relevantes a través de la  vida del producto.
  • Acuerdo con Proveedores: En proyectos complejos se requiere de la  incorporación de proveedores para ejecutar funciones o añadir  modificaciones a productos.

Representaciones


  • El CMMI tiene dos representaciones:
  • Por Etapas (Staged)
  • Continuo (Continuous)
  • Estas representaciones permiten a la organización perseguir diferentes objetivos de mejora.
  • La presentación y organización de la información es diferente para cada una, sin embargo el contenido es el mismo.

CMMI por Etapas


Da una secuencia probada para la mejora en donde cada una es base para la siguiente.
Se puede migrar fácilmente del CMM a CMMI-SW.

Niveles de Madurez (por Etapas)

  • Nivel 1 (Inicial): El proceso es impredecible, es reactivo y pobremente controlado.
  • Nivel 2 (Administrado): El proceso es reactivo y se caracteriza por su aplicación a proyectos.
  • Nivel 3 (Definido): El proceso es proactivo y se ve a nivel de la organización.
  • Nivel 4 (Administrado Cuantitativamente): El proceso es medido y controlado.
  • Nivel 5 (Optimizado): El proceso se enfoca en la mejora continua.



CMMI Continuo


Cada nivel de madurez es una plataforma bien definida para evolucionar la mejora.
Existen cinco niveles de madurez.
Cada nivel es una base para la mejora utilizando una secuencia probada desde sus bases.


Niveles de Madurez (Continuo)

  • Nivel 0 (incompleto): El proceso no se ejecuta o se hace parcialmente.
  • Nivel 1 (Ejecutado): El proceso se ejecuta y se producen productos basados en productos de entrada identificados.
  • Nivel 2 (Administrado): El proceso es reactivo y se caracteriza por su aplicación a proyectos.
  • Nivel 3 (Definido): El proceso es proactivo y se ve a nivel de la organización.
  • Nivel 4 (Administrado Cuantitativamente): El proceso es medido y controlado.
  • Nivel 5 (Optimizado): El proceso se enfoca en la mejora continua.










Técnicas de Estimación Puntos de Función

Qué son los Puntos de Fusión


Es una métrica que permite traducir en un número el tamaño de la funcionalidad que brinda un producto de software desde el punto de vista del usuario, a través de una suma ponderada de las características del producto.

Estimación Puntos De Fusión


La estimación es una de las primeras actividades de la gestión de proyectos informáticos. su objetivo es conocer en etapas tempranas y de manera aproximada, el costo, la duración y los recursos necesarios para el desarrollo de proyectos de software.

Estimación. Objetivos e Importancia.

El objetivo de la Estimación es predecir las variables involucradas en el proyecto con cierto grado de certeza, trata de aportar una predicción de algún indicador importante para la gestión de proyectos de Software tiempo, esfuerzo, cantidad de defectos esperados entre otros sin dejar de tener en cuenta que la incertidumbre y el riesgo son elementos inherentes.

El tamaño en la estimación


La precisión en una estimación de proyectos de software se predice basándose en una serie de cosas, el grado en el que el planificador ha estimado adecuadamente el tamaño del producto a construir

Tipos de función de datos

  • Ficheros Lógicos Internos (ILF)
  • Ficheros de Interfaces Externos (EIF)
  • Tipos de Funciones de Transacciones
  • Entradas Externas (EI)
  • Salidas Externas (EO)
  • Consultas Externas (EQ)

Estimación Basada en Casos de Uso

El método utiliza los actores y casos de uso relevados para calcular el esfuerzo que significará desarrollarlos.

Modelos COCOMO

Modelo Orgánico. Proyectos de software relativamente pequeños y sencillos en los que trabajan pequeños equipos, con buena experiencia en la aplicación, sobre el conjunto de requisitos poco rígidos (por ejemplo, un programa de análisis termal desarrollado para un grupo calórico).

¿Cómo se calcula?

Fórmula:
Puntos de Función = Puntos de función Sin Ajuste x Factor de Complejidad de Procesamiento
donde,
FCP= 0.65 + 0.01
x Puntos de Complejidad de Procesamiento

PF = UFP  x  [0,65 + 0,01 x S(Fi)]



MoProSoft

MoProSoft: modelo de procesos de software

·         MoProSoft es un modelo de procesos para la industria de software nacional, que fomenta la estandarización de su operación a través de la incorporación de las mejores prácticas en gestión e ingeniería de software.

·         La adopción del modelo permite elevar la capacidad de las organizaciones que desarrollan o mantienen software para ofrecer servicios con calidad y alcanzar niveles internacionales de competitividad.


CARACTERÍSTICAS
  •  Es sencillo de entender y adoptar y se enfoca a procesos.
  • Facilita el cumplimiento de los requisitos de otros modelos como ISO 9000:2000, CMM y CMMI.
  • Es práctico en su aplicación, principalmente en organizaciones pequeñas.
  •  Está orientado a mejorar los procesos, para contribuir a los objetivos de negocio, y no simplemente ser un marco de referencia o certificación.
  • Tiene un bajo costo, tanto para su adopción como para su evaluación.


¿Para que sirve?
  • Mejora la calidad del software producido por la empresa que adopta el modelo.
  •  Eleva la capacidad de las organizaciones para ofrecer servicios con calidad y alcanzar niveles internacionales
  • de competitividad.
  •  Integra todos los procesos de la organización y mantiene la alineación con los objetivos estratégicos.
  •  Sirve para implantar un programa de mejora continua.
  •  Facilita la selección de proveedores
  • Permite obtener acceso a las prácticas de ingeniería de software de clase mundial.


ESTRUCTURA DEL MODELO DE PROCESOS
  • El modelo de procesos (MoProSoft) tiene tres categorías de procesos:
  •  Alta Dirección: Proceso de Gestión de Negocio
  •  Gestión: Está integrada por los procesos de Gestión de Procesos, Gestión de Proyectos y Gestión de Recursos.
  •  La categoría de Operación está integrada por los procesos de Administración de Proyectos Específicos y de Desarrollo y Mantenimiento de Software.




ESTRUCTURA
  • En cada proceso están definidos los roles responsables por la ejecución de las prácticas. Los roles se asignan al personal de la organización de acuerdo a sus habilidades y capacitación para desempeñarlos

  • En MoProSoft se clasifican los roles en Grupo Directivo, Responsable de Proceso y otros roles involucrados. Además se considera al Cliente y al Usuario como roles externos a la organización.


DIAGRAMA DE PROCESOS

 Diagrama de Categoría de Proceso