Este documento presenta una introducción a las metodologías ágiles y Scrum, conceptos sobre CMMI, y cómo CMMI, Scrum y Visual Studio Team System pueden integrarse. Explica que las prácticas de Scrum cumplen muchas de las áreas de proceso de CMMI, por lo que Scrum puede usarse para alcanzar diferentes niveles de madurez de CMMI. También describe cómo Team System apoya la implementación de Scrum y CMMI, mejorando la cobertura de sus áreas de proceso. El documento concluye con demostrac
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
12 Microsoft V Semana CMMI 2009
1. CMMI, Agilidad y Team System
Hacia la madurez con Scrum y Team System
2. Presentación
Jose Luis Soria Teruel
jlsoria@plainconcepts.com
http://geeks.ms/blogs/jlsoria
Plain Concepts Project Management Team Lead
Certified Scrum Master
3. Agenda
Introducción a las metodologías ágiles y Scrum
Conceptos acerca de CMMI
CMMI y Scrum
Visual Studio Team System
CMMI, Scrum y Visual Studio Team System
Aplicación práctica: demos
5. Manifiesto ágil – Valoramos:
A los individuos y su interacción, por
encima de los procesos y las
herramientas.
El software que funciona, por encima
de la documentación exhaustiva.
La colaboración con el cliente, por
encima de la negociación contractual.
La respuesta al cambio, por encima del
seguimiento de un plan.
6. Scrum (I)
Scrum es un marco de trabajo para la gestión de
proyectos
Se trabaja en iteraciones llamadas Sprints, que duran 20
jornadas. Los sprints se suceden hasta la consecución del
proyecto
Los requerimientos son gestionados en una lista
priorizada y estimada llamada Product Backlog
El Product Backlog es mantenido por el Product Owner a
partir de la información proporcionada por los
interesados en el proyecto. La priorización se hace en
base al valor de negocio de cada requerimiento
7. Scrum (II)
El Scrum Master es el encargado de asegurar el
cumplimiento de Scrum y de gestionar los impedimentos
Al inicio de cada Sprint, tiene lugar el Sprint Planning
meeting. Durante el mismo el equipo selecciona una
parte de los elementos de mayor valor de negocio del
backlog, los cuales se compromete a completar para el
final de la iteración
A partir de los elementos seleccionados el equipo
construye el Sprint Backlog o lista de tareas a realizar
para sacar adelante los requerimientos seleccionados,
estimada convenientemente
8. Scrum (III)
Siempre se persigue obtener un incremento de valor en
el producto al final de cada iteración, potencialmente
entregable
Una vez se ha comenzado un Sprint, no se admiten
cambios en los entregables o en la duración del mismo.
La única forma de cambiar un Sprint es abortándolo
Durante el Sprint, cada día el equipo mantiene una
reunión llamada Daily Scrum, en la que se informa del
progreso, se exponen los impedimentos, y se comenta el
trabajo a realizar
9. Scrum (IV)
Se mantienen las gráficas Sprint Burdown Chart y
Product Burndown Chart en las que se refleja el estado
del proyecto
10. Scrum (V)
Al final de cada Sprint, el equipo muestra los avances en
el Sprint Review. El Product Owner tiene la oportunidad
de incorporar el feedback obtenido para Sprints
posteriores
Después del Sprint Review, el equipo lleva a cabo un
Sprint Retrospective en la cual se revisa la marcha del
Sprint anterior y se proponen mejoras para los siguientes
Antes del siguiente Sprint, el Product Owner ha estado
cambiando y repriorizando el Product Backlog según las
necesidades de negocio
11. Scrum y agilidad: percepciones incorrectas
En ocasiones se tiene una percepción errónea de las
metodologías ágiles en general y de Scrum en particular
Se tiende a percibir que promueven un proceso indisciplinado
o falto de definición
Si se practica de forma correcta, Scrum:
Es estricto y disciplinado
Tiene reglas claras y precisas
Promueve la transparencia y la responsabilidad
Pone gran énfasis en la calidad y en la mejora continua
13. CMMI (I)
CMMI es un marco de trabajo para la mejora de
procesos, para organizaciones que se dedican al
desarrollo de software (constelación CMMI-DEV 1.2)
Proporciona un conjunto de recomendaciones orientadas
a gestionar los proyectos de desarrollo de software y a
efectuar mejoras a lo largo del tiempo
El objetivo de su adopción es aumentar la madurez de la
organización a la hora de afrontar proyectos de
desarrollo de software
Como resultado, la organización obtiene un incremento
de la calidad de los entregables y de la eficiencia en los
proyectos
14. CMMI (II)
CMMI se organiza en áreas de proceso, agrupadas en
niveles de capacidad (visión continua) o de madurez
(visión escalonada)
0 – Incompleto
1 – Ejecutado
2 – Gestionado
3 – Definido
4 – Cuant. gestionado
5 - Optimizado
15. CMMI (III)
Conceptos presentes en CMMI
Objetivos genéricos
Prácticas genéricas
Áreas de proceso
Objetivos específicos
Prácticas específicas
16. CMMI (IV)
Una organización que quiera medir su progreso puede
someterse a una Evaluación (appraisal).
El objetivo de obtener una clasificación es identificar
áreas de mejora, informar del nivel de cumplimiento a
terceros o cumplir requisitos contractuales
SCAMPI es el método oficial para la realización de
evaluaciones
17. CMMI: percepciones incorrectas
Aunque pueda dar esa impresión, CMMI no busca cubrir
todos los aspectos relacionados con el desarrollo de
software
CMMI por lo general se mantiene a nivel de gestión. No
suele ocuparse en profundidad de temas de ingeniería o
técnicos
Las prácticas CMMI deben adaptarse a cada organización
según los objetivos de negocio
Las organizaciones no se certifican en CMMI, sino que
son evaluadas para determinar su madurez
La organización puede decidir qué áreas de proceso
quiere mejorar
19. Hacia la madurez con CMMI y Scrum
CMMI define una serie de áreas de proceso cuyos
objetivos deben ser satisfechos para avanzar en los
niveles de madurez
Sin embargo, no especifica cómo deben satisfacerse
dichas áreas de proceso. El cómo es una decisión a tomar
por cada organización en base a sus características
Las prácticas promovidas por Scrum cumplen un amplio
conjunto de las PAs de CMMI
Por lo tanto es posible utilizar Scrum como medio para
realizar una implementación de CMMI y cumplir muchas
de las PAs involucradas
20. PAs de CMMI – Prácticas de Scrum (nivel 2)
Cumplimiento usando Scrum para el nivel de madurez 2
Gestión de requerimientos (REQM) Alto (Estimaciones, Product y Sprint
Backlogs)
Monitorización y Control de Proyecto Alto (Estimaciones, Product y Sprint
(PMC) Backlogs, Burndown Charts, Daily Scrum)
Planificación de proyecto (PP) Alto (Sprint Planning Meeting)
Gestión de Acuerdos con Proveedores No cubierto
(SAM)
Gestión de la configuración (CM) No cubierto
Medición y Análisis (MA) Medio (Sprint Planning Meeting, Sprint
Backlog, Burdown Charts)
Aseguramiento de calidad de Procesos y Alto (Sprint Review)
Productos (PPQA)
21. PAs de CMMI – Prácticas de Scrum (nivel 3) (I)
Cumplimiento usando Scrum para el nivel de madurez 3
Integración de Producto (PI) Alto (Sprints y Sprint Reviews)
Desarrollo de Requerimientos (RD) Medio (Sprint Planning Meeting, Sprint
Reviews)
Solución Técnica (TS) No cubierto
Validación (VAL) Medio (Sprint Reviews)
Verificación (VER) Alto (Criterios de aceptación y Sprint
Reviews)
Definición de procesos organizacionales Bajo (Proceso Scrum en general)
(OPD)
22. PAs de CMMI – Prácticas de Scrum (nivel 3) (II)
Cumplimiento usando Scrum para el nivel de madurez 3
Enfoque Organizacional en Procesos Bajo (Proceso Scrum en general)
(OPF)
Formación Organizacional (OT) No cubierto
Gestión Integrada de Proyectos (IPM) Alto (Sprint Reviews, Scrum de Scrums,
Product Backlog)
Gestión de Riesgos (RSKM) Medio (Sprints)
Análisis de Decisiones y Resolución No cubierto
(DAR)
23. PAs de CMMI – Prácticas de Scrum (nivel 4)
Cumplimiento usando Scrum para el nivel de madurez 4
Rendimiento de Procesos No cubierto
Organizacionales (OPP)
Gestión Cuantitativa de Proyectos Bajo (Estimaciones, Burdown charts)
(QPM)
24. PAs de CMMI – Prácticas de Scrum (nivel 5)
Cumplimiento usando Scrum para el nivel de madurez 5
Innovación y Despliegue No cubierto
Organizacionales (OID)
Análisis de Causas y Resolución (CAR) Alto (Daily Scrum y Retrospectivas)
26. Visual Studio Team System
Visual Studio Team System es la solución integrada de
Microsoft para la gestión del ciclo de vida (ALM) de los
proyectos de desarrollo de software
Proporciona un conjunto de herramientas que sirven de
apoyo en la práctica totalidad de las actividades
realizadas durante un proyecto de desarrollo
Da soporte a diversos marcos metodológicos, incluyendo
CMMI y Scrum
Es altamente personalizable, pudiéndose adaptar a las
características y procesos de cada organización
Da soporte a un amplio conjunto de tecnologías y
lenguajes: .NET, C++, bases de datos, Java + Eclipse…
28. Cerrando el círculo: CMMI + Scrum + Team
System
Visual Studio Team System sirve como apoyo y como
medio para la implantación de la metodología
seleccionada
En el caso de Scrum, Team System proporciona una
plantilla metodológica que da soporte a todas las
prácticas requeridas
En relación a CMMI, al complementar Scrum con Team
System vamos a poder mejorar la cobertura de alguna de
las áreas de proceso, y vamos a poder cubrir nuevas
áreas que Scrum por sí solo no contempla
29. CMMI + Scrum + Team System (nivel 2)
Cumplimiento Scrum + Team System para el nivel 2
Gestión de requerimientos (REQM) Alto (Estimaciones, Product y Sprint
Backlogs. Gestión de Work Items)
Monitorización y Control de Proyecto Alto (Estimaciones, Product y Sprint
(PMC) Backlogs, Burndown Charts, Daily Scrum.
Informes de TFS)
Planificación de proyecto (PP) Alto (Sprint Planning Meeting. Integración
con MS Project)
Gestión de Acuerdos con Proveedores No cubierto
(SAM)
Gestión de la configuración (CM) Alto (Control de código fuente y
documentación de TFS)
Medición y Análisis (MA) Alto (Planning Meeting, Backlog, Burdown
Charts. Informes de TFS)
Aseguramiento de calidad de Procesos y Alto (Sprint Review. Herramientas de
Productos (PPQA) testeo de Team System)
30. PAs de CMMI – Prácticas de Scrum (nivel 3) (I)
Cumplimiento Scrum + Team System para el nivel 3
Integración de Producto (PI) Alto (Sprints y Sprint Reviews.
Construcciones automatizadas)
Desarrollo de Requerimientos (RD) Medio (Sprint Planning Meeting, Sprint
Reviews. VS edición Architect)
Solución Técnica (TS) Alto (Visual Studio en general y
herramientas asociadas)
Validación (VAL) Medio (Sprint Reviews. Herramientas
de testeo web y de carga)
Verificación (VER) Alto (Criterios de aceptación y Sprint
Reviews. Pruebas manuales)
Definición de procesos organizacionales Medio (Proceso Scrum en general.
(OPD) Informes de TFS)
31. PAs de CMMI – Prácticas de Scrum (nivel 3) (II)
Cumplimiento Scrum + Team System para el nivel 3
Enfoque Organizacional en Procesos Bajo (Proceso Scrum en general.
(OPF) Informes de TFS)
Formación Organizacional (OT) No cubierto
Gestión Integrada de Proyectos (IPM) Alto (Sprint Reviews, Scrum de Scrums,
Product Backlog. Gestión de Work
Items)
Gestión de Riesgos (RSKM) Medio (Sprints. Informes de TFS)
Análisis de Decisiones y Resolución Bajo (Informes de TFS)
(DAR)
32. PAs de CMMI – Prácticas de Scrum (nivel 4)
Cumplimiento usando Scrum para el nivel de madurez 4
Rendimiento de Procesos Bajo (Informes de TFS)
Organizacionales (OPP)
Gestión Cuantitativa de Proyectos Bajo (Estimaciones, Burdown charts.
(QPM) Informes de TFS)
33. PAs de CMMI – Prácticas de Scrum (nivel 5)
Cumplimiento usando Scrum para el nivel de madurez 5
Innovación y Despliegue Medio (Informes de TFS)
Organizacionales (OID)
Análisis de Causas y Resolución (CAR) Alto (Daily Scrum y Retrospectivas.
Informes de TFS, Gestión de Bugs,
Herramientas de testeo)
35. Demos
Plantilla metodológica de Scrum
Gestión de Work Items (Product Backlog, Sprint Backlog)
Gestión de documentación
Gestión de la configuración
Construcciones automatizadas
37. Recursos y enlaces
CMMI: http://www.sei.cmu.edu/cmmi/
Scrum: http://www.scrumalliance.org/
Mapping CMMI Process Areas to Scrum Practices:
www.cesar.org.br/files/file/SCRUMxCMMMI_IEEE-final03.pdf
Team System y Team Foundation Server. Versiones de
prueba y máquinas virtuales preinstaladas:
http://msdn.microsoft.com/en-us/visualc/aa700831.aspx