2. Problemas de la Industria
Los Proyectos están :
Excesivamente tarde
Spbrepresupuestados
Los beneficios de los mejores métodos e
instrumentos no se pueden obtener en el
medio indisciplinado y caótico de desarrollo
3. Organizaciones no maduras
Los procesos de software son improvisados
Organizaciones “Apaga fuego”
La planificación en tiempo y recursos no se
cumple
La calidad y la funcionalidad se compromete.
4. Organizaciones no maduras
No hay bases objetivas para :
- Enjuiciar la claridad del producto
- Resolver problemas de los productos y del
software.
Las revisiones y pruebas son eliminadas ó
disminuidas cuando el proyecto se atrasa
A correr !!
5. La calidad y la productividad
No solo se logra aplicando nuevas
metodologías y tecnologías para
desarrollar y mantener software.
El principal problema es la incapacidad para
administrar los procesos de software.
UML
6. Temáticas
CMMI: Capability Maturity Model Integrator
Niveles de la Organización
Areas de Procesos del nivel 2
Areas de Procesos del nivel 3
7. Que es CMMI ?
Es un modelo para la mejora de procesos
que proporciona a las organizaciones los
elementos esenciales para procesos
eficaces
1984 Creación del SEI Software Engineering
Institute
1991 Primera versión de CMMI
2000 Aprobación de CMMI
8. CMMI ¿Para que?
Para mejorar los procesos que inciden en el
mantenimiento y desarrollo de software
Criterio para evaluar los procesos de una
empresa que mantiene y desarrolla software.
9. CMM
CMM es una aplicación de sentido común de los
conceptos de gestión de procesos y mejora de la
calidad al desarrollo y mantenimiento del software”.
Mark C.Paulk Software Engineering Institute
Estudia los procesos de desarrollo de software de
una organización y produce una evaluación de la
madurez de la organización según una escala de 5
niveles.
La madurez de un procesos es un indicador de la
capacidad para construir un software de calidad
Es un modelo para la mejora de las organizaciones.
Obliga a una revisión constante.
10. CMMI
Incremento de productividad
de la entidad.
Mejor comunicación con los
clientes y entre los
profesionales de la entidad.
Mayor satisfacción de las
solicitudes de los clientes.
Específica para las empresas
de software.
Ofrece un camino de mejora
continua.
Permite a un interesado
externo tener certeza sobre el
potencial de una organización.
Su aplicación resulta compleja
(PSP Personal Software
Process y TSP Team Software
Process).
Su implementación en las
empresas toma tiempo.
VENTAJAS DESVENTAJAS
11. PSP Personal Software Process
Proporciona métodos detallados para estimular y
planear, muestra a los ingenieros cómo dar
seguimiento a su desempeño contra estos planes y
explica como los procesos definidos pueden guiar
su trabajo.
El PSP tiene el propósito de desarrollar hábitos de
programación, en especial en cuanto a la
medición.(¿Cuánto tiempo he dedicado a este
código?, ¿Cuántas LDC he escrito?, ¿Cuántos
defectos conocidos he generado?.
12. TSP Team Software Process
Formar equipos autodirigidos
- 3 a 20 ingenieros
- Establecer sus propias metas
- Establecer sus propios procesos y planes.
- Rastrear el trabajo.
Mostrar a los gerentes cómo administrar equipos
- Orientar
- Motivar
- Apoyar el desempeño más alto.
Acelerar la mejora del CMM
- Hacer que el CMMI 5 sea “normal”.
Proporcionar guías de mejoramiento para organizaciones con
alta madurez
Facilitar la enseñanza universitaria a equipos integrados con
la industria.
13. CMMI: Capability Maturity Model
Integrator
Describe las prácticas de Ingeniería de
Software y de administración que
caracterizan como las organizaciones
maduran sus procesos para desarrollar y
mantener software.
14. CMMI guía a la empresa
Como ganar el control de sus procesos para
desarrollar y mantener software.
Como evolucionar hacia una cultura de
ingeniería de software y de administración de
excelencia.
15. Modelos de CMMI
-Capacibility Maturity
Model for Software
V2.draft C (Sw-CMM V2C)
-- EIA Interim Standard
731, System Engineering
Capacibility Model
(SECM)
-- Integrated Product
Development Capacibility
Maturity Model, draft
VO.98 (IPD-CMM)
-Combina los modelos. Ingeniería de
Sistemas/ Ingeniería de Software
- Puede ser aplicado a :
* Los proyectos de Ing. De Software
*Los proyectos de Ing. De Sistemas
en una organización.
* A ambos
* IPPD puede ser usado en ambos
CMMI-SE/SW
Fases-
Representación
CMMI-SE/SW
Continua -
Representación
16. CMMI
Es importante tener claro:
- ¿Dónde nos encontramos?
- ¿A dónde queremos llegar?
- ¿Cómo llegaremos?
- ¿Cómo sabremos si hemos llegado?
No se puede hacer todo de golpe
Procesos pilotos previos a un despliegue a gran escala
Se centra en los 3 aspectos que influyen en una
organización.
Tecnología
Personas
Procesos
17. Elementos que influyen en la
calidad
Todos comprenden la importancia de tener una
fuerza de trabajo motivada y calificada pero….
“…Aún las personas más
inteligentes y capaces no
pueden desarrollar de la
mejor manera cuando el
proceso no es entendido ó
operado “ de la mejor forma
Procesos
Tecnología
Personas
Los mayores determinantes de un producto :
Costo, cronograma y calidad
18. Definición de Proceso
Un proceso es un conjunto de prácticas
realizadas para alcanzar un propósito dado;
este puede incluir herramientas, métodos,
materiales, y/0 personas.
Mientras que proceso es frecuentemente
descrito como la pierna de la triada proceso-
persona-tecnología, realmente debe ser
considerado como la “goma” que integra los
otros aspectos.
19. Proceso de Ingeniería de Software
Proceso de la
organización
Proceso del
Proyecto
Actividades :
Definición
Análisis
Perfeccionamiento
Personalizaciones
, datos del pasado
, experiencia
Actividades :
Planificación
Seguimiento y
Control
Ejecución del
proceso (CM y LC)
Administrado por :
SEPG
Administrador jefe
Datos del
desempeño
Administrado por :
PL.Ingenieros
SQA
20. Especificación del Proceso
Actividades
Etapas ó Fases
Sub-Actividades
Proceso
Procesos
Pautas,formularios,
estándares,herramie
ntas,BD del
proceso,capacidad
del proceso, líneas
base.
Políticas
21. La premisa básica de la mejora
de proceso
“ La calidad de un producto es
mayormente determinada por la
calidad del proceso que es usado para
desarrollar y mantener a éste”
Basado en los principios de TQM instruidos por
Shewhart, Juran, Deming y Humphrey
22. Capacidad de un proceso
“Describe el rango de los resultados
esperados que pueden ser
alcanzados siguiendo un proceso de
Software”
23. Capacidad de una empresa
Permite predecir lo que se puede
esperar en un proyecto que realice
24. Capacidad y desempeño
El desempeño por supuesto depende de la
capacidad.
Para mejorar el desempeño hay que mejorar
la capacidad, el proceso se hace más
maduro.
CMMI ayuda a mejorar la capacidad
25. Ejemplo : Capacidad y desempeño
Suponga un proceso
Codificar --- Probar --- Entregar
De los datos de muchos proyectos se obtiene
que la calidad de la capacidad del proceso es
de 3-6 defectos por KLDC.
Si se desea entregar con 2 defectos por
KLDC, no se puede con este proceso.
Debe mejorarse el proceso.
26. Ejemplo: Mejora del proceso 1
Cambiar el proceso a :
- Codificar –Revisar código – Probar --Entregar
La calidad de este proceso es ligeramente
mejor, es de 2-5 defectos por KLDC.
Si se usa este proceso se tiene la posibilidad
de entregar a 2 defectos por KLDC.
Este proceso no puede entregar a 1 defecto
por KLDC.
27. Ejemplo: Mejora del proceso 2
Más cambios al proceso :
- Codificar – Revisar código – Hacer Plan de Pruebas –
Revisar Plan de Pruebas --Probar --Entregar
La calidad de este proceso será mejor, es de
0,5-2 defectos por KLDC.
Si se usa este proceso para entregar a 1
defecto por KLDC.
Este proceso no puede entregar un producto
con un requerimiento de 1 defecto por KLDC.
28. Los niveles de Capacidad
5.Optimizado
4.Cuentativamente Administrado
3.Definido
2.Administrado
1.Realizado
0.Incompleto
29. Distinciones Críticas
Realizado Vs Administrado
- La medida en la cual el proceso es planificado, el desempeño es
administrado contra el plan, las acciones correctivas son tomadas cuando
es necesario.
Administrado Vs Definido
- El alcance de la aplicación de la descripción del proceso, los estándares
y procedimientos (proyecto Vs organización)
Defimido Vs Cuantitatiamente Administrado
- La posibilidad de predecir el desempeño ó realización del proceso
Cuantitativamente Administrado Vs Optimizado
- El proceso es continuamente mejorado de acuerdo a las causas
comunes de variación del proceso
30. Niveles de CMMI – Inicial (Caos)
Obtener objetivos específicos
Ejecutar las prácticas básicas
Establecer una política organizacional
EJECUTE EL TRABAJO
31. Areas de Procesos Claves
Describe aquellas funciones de Ingeniería de
Software que deben estar presentes para
alcanzar un nivel dado de calidad por la
empresa.
33. Niveles de CMMI – Nivel Inicial
Procesos
de
Software
Ad Hoc
Algunas veces
caótico
Pocos procesos
definidos
El éxito depende del esfuerzo y de las
heroicidades individuales
34. Para avanzar
Introducción y mejora de :
- Procedimientos de Ingeniería de Software.
- Controles de la gestión.
35. Niveles de CMMI – Nivel
Administrado
Los procesos básicos de gestión están
establecidos para documentar los costos, los
tiempos y la funcionalidad.
Existe una disciplina que permite repetir
éxitos tempranos en aplicaciones similares.
36. Aréas de proceso. Nivel Administrado
Áreas del nivel 2
Gestión de requerimientos
Planificación de proyectos de software
Monitoreo y control de proyectos
Aseguramiento de la calidad del producto
y del proceso
Gestión del acuerdo con los proveedores
Medición y análisis
37. Aréas de proceso. Nivel Administrado
Gestión de requerimientos
Los procesos básicos de gestión están
establecidos para documentar la funcionalidad.
38. Aréas de proceso. Nivel Administrado
Planificación de proyectos de software
Monitoreo y control de proyectos
Se siguen planes basados en el
desempeño en otros proyectos
39. Aréas de proceso. Nivel Administrado
Aseguramiento de la calidad del producto y
del proceso
Revisiones
Auditorías
40. Aréas de proceso. Nivel Administrado
Gestión de configuración de software
Identificar, controlar, auditar los productos de
software
Dónde están los fuentes?
41. Aréas de proceso. Nivel Administrado
Gestión del acuerdo con los proveedores
Seleccionar :
Manejar efectivamente
A los proveedores
42. Nivel Administrado
Medición y Análisis
• Establecer objetivos de la
medición, especificar las
mediciones, su
almacenamiento y análisis.
• Proveer resultados de la
medición
43. Niveles de CMMI - Administrado
Procesos del proyecto personalizados con los estándares
de la organización.
Procesos entendidos cuantitativamente.
Se :
- Planea el proceso
- Proveen recursos
- Asignan responsabilidades
- Entrena a las personas
- Identifica e involucra a los stakeholders
- Monitorea y controla el proceso
- Administra la configuración
- Revisa el estado de la alta Gerencia.
44. Niveles de CMMI – Nivel
Definido
• Los procesos de la organización están
documentados, estandarizados e integrados
• El proceso efectivo de desarrollar proyectos está
definido, documentado, el personal es entrenado en
él y es obligatorio su uso.
LOS
PROCESOS
Gestión
Actividades
De Ingeniería de
Software
45. Areas de proceso. Nivel Definido
Desarrollo de requerimientos
Solución técnica
Integración de producto
Verificación
Validación
Foco en el proceso de la organización
Definición del proceso de la organización
Capacitación organizacional
Administración integrada de proyectos
Administración integrada de riesgos
Administración integrada de proveedores
Análisis y resolución de decisiones
Entorno organizacional para la integración
Administración integrada de equipos
46. Areas de proceso. Nivel Definido
Desarrollo de requerimientos
Obtener requerimientos del cliente y del
producto
Analizar y validar requerimientos
47. Areas de proceso. Nivel Definido
Solución Técnica
Seleccionar soluciones de producto ó
componentes de producto.
Desarrollar e implementar el diseño
48. Areas de proceso. Nivel Definido
Integración de producto
Preparar integración y analizar interfaces
Ensamblar y entregar
49. Areas de proceso. Nivel Definido
Verificación
Examen sistemático de los productos de
software para encontrar defectos y cambios a
realizar.
Preparar verificaciones y realizar revisiones por
pares
Verificar productos de trabajo
50. Areas de proceso. Nivel Definido
Validación
Preparar para la validación
Verificar productos ó componentes de trabajo
51. Areas de proceso. Nivel Definido
Foco en el proceso de la organización
Determinar oportunidades de mejora
Planificar e implementar actividades de mejora
52. Areas de proceso. Nivel Definido
Definición del proceso de la organización
Establecer los activos del proceso organizacional
Procesos estándares, modelos de ciclo de vida,
biblioteca de activos de la organización, repositorio de
mediciones.
53. Areas de proceso. Nivel Definido
Capacitación organizacional
Proveer capacitación necesaria
Las personas realicen sus roles de forma efectiva y
eficiente
54. Areas de proceso. Nivel Definido
Administración integrada de proyectos
Integrar la gestión y la ingeniería de software en los
procesos bien definidos.
El proceso definido para cada proyecto es
personalizado de acuerdo al tipo
Organizar equipos integrados
55. Areas de proceso. Nivel Definido
Administración integrada de riesgos
Preparar la administración de riesgos
Identificar y analizar los riesgos
Mitigar los riesgos
56. Areas de proceso. Nivel Definido
Administración integrada de proveedores
Analizar y seleccionar los fuentes de los productos
Coordinar el trabajo con los proveedores
57. Areas de proceso. Nivel Definido
Análisis y resolución de decisiones
Evaluar alternativas
Establecer los procedimientos y métodos a
emplear
58. Areas de proceso. Nivel Definido
Entorno organizacional para la integración
Proveer infraestructura
Administrar personas para la integración
59. Areas de proceso. Nivel Definido
Administración integrada de equipos
Composición del equipo
Gobernar los equipos
60. Niveles de CMMI –
Cuantitativamente Administrado
Establecer objetivos cuantitativos para el
proceso.
Estabilizar el rendimiento de los subprocesos.
Medir el rendimiento del proceso
Estabilizar el proceso
Gráficos de control
Atacar la causa de las variaciones especiales
61. Niveles de CMMI – Optimizado
Asegurar el mejoramiento continuo de los
procesos
Resolver de raíz la causa de los problemas
Prevención de defectos
Mejora proactiva
Adopción de la tecnología a través de la
innovación.
62. Gerencia de Proyectos en CMMI
GERENCIA DE PROYECTOS
8 áreas de procesos
CMMI
25 áreas de procesos
Areas de Proceso Nivel
Gerencia cuantitativa de proyectos 4
Gerencia integrada de proveedores 3
Trabajo en equipo 3
Administración de riesgos 3
Gerencia integrada de proyectos 3
Monitoreo y control de proyectos 2
Planeación del proyecto 2
Gerencia de acuerdos con proveedores 2
63. Evaluación (Appraisal)
Muchas organizaciones valoran el medir su progreso llevando a
cabo una evaluación y ganando una clasificación del nivel de
madurez o de un nivel de capacidad de logro. Este tipo de
evaluaciones son realizadas normalmente por una o más de las
siguientes razones:
Para determinar que también los procesos de la organización se
comparan con las mejores prácticas CMMI y determinar qué
mejoras se pueden hacer.
Para informar a los clientes externos y proveedores acerca de
que también los procesos de la organización se comparan con las
mejores prácticas CMMI.
Para cumplir los requisitos contractuales de uno o más clientes.
64. Evaluación (Appraisal) …
Las valoraciones de las organizaciones utilizando un modelo
CMMI deben ajustarse a los requisitos definidos en el
documento "Appraisal Requirements for CMMI" (ARC).
La evaluación se enfoca en identificar oportunidades de mejora,
y comparar los procesos de la organización con las mejores
prácticas CMMI. Los equipos de evaluación usan el modelo
CMMI y un método conforme a ARC para guiar su evaluación y
reporte de conclusiones.
Los resultados de la evaluación son usados para planear
mejoras en la organización. Hay tres clases de evaluación: Clase
A,B,C. El Standard CMMI Appraisal Method for Process
Improvement (SCAMPI) es un Método de evaluación que
cumple todos los requerimientos ARC. Una evaluación de clase
A es más formal y es la única que puede resultar en una
clasificación de nivel de Madurez y es realizado por personal
autorizado Lead Appraiser (SEI).
65. SCAMPI : Standard CMMI Appraisal
Method for Process Improvement
El Standard CMMI Appraisal Method for Process
Improvement (SCAMPI) es el método oficial SEI para
proveer puntos de referencia de sistemas de
calificación en relación con los modelos CMMI.
SCAMPI se usan para identificar fortalezas y
debilidades de los procesos, revelar riesgos de
desarrollo/adquisición, y determinar niveles de
capacidad y madurez. Se utilizan ya sea como parte de
un proceso o programa de mejoramiento, o para la
calificación de posibles proveedores. El método define el
proceso de evaluación constando de preparación; las
actividades sobre el terreno; observaciones
preliminares, conclusiones y valoraciones; presentación
de informes y actividades de seguimiento.
66. SCAMPI : Standard CMMI Appraisal
Method for Process Improvement
Puedes descargar la documentación del SCAMPI desde
http://www.sei.cmu.edu/appraisal-program/publications/index.html
Para hacer un plan de evaluacion interna en mi
empresa , lo que usualmente se hace es combinar las
fortalezas y oportunidades de mejora de la evaluación
con los objetivos de negocio de tu empresa.
Mayor guía al respecto la provee el modelo IDEAL de
mejora continua. Lo puedes descargar desde:
http://www.sei.cmu.edu/publications/documents/96.reports/96.hb.001.html