El documento describe las metodologías ágiles, sus valores, principios y beneficios. Explica que la calidad en estas metodologías se centra en satisfacer las expectativas del cliente, el comportamiento correcto del producto y su mantenibilidad. También describe prácticas como Extreme Programming (XP) y Scrum, y cómo estas promueven la calidad a través del desarrollo iterativo, la entrega temprana de software funcionando y la mejora continua.
2. Contenido
o Metodologías ágiles
◦ Valores y Principios
◦ Beneficios
o Concepto de Calidad en Metodologías Ágiles
o Calidad de Producto con Metodologías Ágiles
◦ Extreme Programming
o Calidad de Procesos con Metodologías Ágiles
◦ Scrum
◦ Lean
o ISO & las Metodologías Agiles
o CMMI & las Metodologías Agiles
o Material de Soporte
4. Los valores del manifiesto ágil
Valoramos:
Individuos e interacciones por sobre procesos y herramientas .
Software funcionando por sobre documentación exhaustiva .
Colaboración con el cliente por sobre negociación contractual .
Responder a los cambios por sobre el seguimiento de un plan .
“Si bien hay valor en los ítems de la derecha,
valoramos más los de la izquierda”
Agile Manifesto – Febrero 2001
5. Procesos en Metodologías Agiles
Valoramos:
Individuos e interacciones
por sobre procesos y herramientas
.“Si bien hay valor en los ítems de la derecha,
valoramos más los de la izquierda”
Agile Manifesto – Febrero 2001
6. Documentación y planificación
La documentación y la planificación siguen siendoimportantes:
o Respecto de la documentación la regla podría ser: “no producir documentos a menos que sean
requeridos o necesarios”.
o En cuanto a la planificación, es importante que no sea estricta, sino mas bien abierta y flexible.
o Documentar los procesos es fundamental para estandarizar y propagar las buenas practicas
7. Los 12 principios agiles
I. La mayor prioridad es satisfacer al cliente mediante la entrega
temprana y continua entregas de software que aporte valor.
II. Aceptamos que los requisitos cambien, incluso en etapas tardías del
desarrollo. Se capturan los cambios para que el cliente tenga una ventaja
competitiva.
III. Entregar software que funcione de manera frecuente, entre 2 semanas
y 2 meses, con el menor intervalo de tiempo posible entre entregas.
IV. Los responsables del negocio y los desarrolladores deben
trabajar juntos en forma cotidiana durante todo el
proyecto.
V. Loa proyectos se desarrollan en torno a individuos motivados. Darles el entorno
y el apoyo que necesitan y confiar en ellos para conseguir finalizar el trabajo.
VI. El diálogo cara a cara es el método más eficiente y efectivo
para comunicar información dentro de un equipo de
8. Los 12 principios agiles (cont.)
VII. El software funcionando es la medida principal de progreso.
VIII. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores
y usuarios deberían ser capaces de mantener un ritmo constante de forma indefinida.
IX. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
X. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
XI. Las mejores arquitecturas, requisitos y diseños emergen de los equiposauto-organizados.
XII. A intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, paraa
continuación ajustar y perfeccionar su comportamiento en consecuencia.
9. ¿Y la calidad?
IX. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
X. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
VII. El software funcionando es la medida principal de progreso.
Calidad del
productoVIII. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y
usuarios deberían ser capaces de mantener un ritmo constante de forma indefinida.
Calidad del
producto
XI. Las mejores arquitecturas, requisitos y diseños emergen de los equiposauto-organizados.
XII. A intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, paraa
continuación ajustar y perfeccionar su comportamiento en consecuencia.
Calidad del
proceso
10. Beneficios de las metodologías ágiles
o Mayor satisfacción del cliente
o Mas motivación e involucramiento del equipo de desarrollo
o Valor agregado inmediato y sostenible para el negocio
o Mejora en la calidad del producto (se eliminan características innecesarias)
o Detección temprana de errores o problemas
o Mayor adaptabilidad al cambio
o Aprovechamiento de nuevas oportunidades (mas competitividad y diferenciación en el mercado)
o Mejora en la comunicación y colaboración en los equipos
o Reducción del time to market
o Incremento de la visibilidad y transparencia entre los equipos y la organización
?
12. Calidad en Metodologías Ágiles
El concepto de calidad en las metodologías agiles contempla:
1. La satisfacción de las expectativas del cliente, usuarios finales o consumidores,
2. El comportamiento correcto del producto
3. La garantía de su mantenibilidad.
Las metodologías ágiles priorizan y promueven prescindir de requerimientos de baja prioridad
antes que tener que degradar la calidad del producto.
15. Backlog Priorizado
Porcentaje de utilización de features
Mas
beneficio
Menos
beneficio
Product Backlog
The Standish Group - 2002
http://www.standishgroup.com
Always
7%
Often
13%
Sometimes
16%
Rarely
19%
Never
45%
16. Desarrollo evolutivo y adaptativo
Inicio Resultado planificado
B
Plan original
[Enfoque tradicional] se
corrigen el rumbo para llegar
al resultado planificado
[Enfoque adaptativo] se busca la
necesidad real del cliente,
aunque difiera del plan inicial
C
Necesidad real
del cliente
A
Product Backlog
No es lo
que pedí!
18. Mínimum Viable Product
El Mínimum Viable Product (MVP) es la versión mínima de un producto que nos permite
recolectar información de nuestro mercado con el menor esfuerzo posible.
Son las características mínimas y necesarias que tiene que tener un producto para poder
lanzarse al mercado.
Esto nos permite:
o Evitar construir productos que nadie necesita
o Maximizar el aprendizaje por $ invertido
19. Conceptos agiles relacionados a lacalidad
Fail Fast:
Si fallo rápido, aprendo rápido, mejoro rápido
Technical Debt:
Reducir la deuda técnica para generar software de calidad y mantenible
Refactoring
Restructurar, “limpiar” y optimizar el código sin cambiar su comportamiento
Pair programming
Programación de a pares
TDD
Desarrollo dirigido por pruebas
Integración Continua
Integrar código y ejecutar pruebas automatizadas frecuentemente para detectar fallos
Entregas tempranas
Entregables pequeños y frecuentes para obtener feedback y ajustar.
21. ¿Qué es XP?
Es una metodología de desarrollo ágil creada en 1999 por Kent Beck, que se apoya en 4 valores
y 13 practicas o principios fundamentales.
XP se basa en la simplicidad y sus objetivos principales son la satisfacción del cliente y
potenciar al máximo el trabajo en equipo.
La principal meta que persigue XP es entregar el software requerido a tiempo y con calidad.
La filosofía de XP promueve que los cambios son un aspecto natural del desarrollo y asume que
es posible escribir buen código a pesar del cambio continuo.
The development of a piece of software changes its own requirements”
Kent Beck
26. ¿Qué es Scrum?
Scrum es un marco metodológico pensado para construir productos de forma incremental, en
una serie de periodos de tiempo o ciclos llamados Sprints.
Un Sprint es un período fijo de tiempo (1 a 4 semanas). En cada Sprint el equipo Scrum
construirá y entregará un Incremento de Producto.
Cada incremento es una versión mejorada del producto que alcanza criterios de aceptación y el
nivel de calidad requerido.
Conjunto de principios y practicas que requiere:
o Inspeccionar y adaptar
o Transparencia y visibilidad
o Equipos auto-organizados
o Dirigido por el cliente
27. ¿Que nos provee Scrum?
DEV
TEAM
SCRUM
MASTER
PRODUCT
OWNER
<
3 ROLES 4 CEREMONIAS
Sprint Planning Daily Meeting
Sprint Review Sprint Retrospective
Incremento de Producto
Sprint Backlog
3 ARTEFACTOS
Product Backlog
28. El marco metodológico
Scrum Diario
24 horas
Sprint
1-4 semanas
Revisión de la Sprint
Retrospectiva
Product Backlog Sprint Backlog
Incremento Funcional
Visión
de negocio
Incepción (Sprint 0)
Identificación de requerimientos funcionales y no funcionales
Creación de User Stories
Valorización
Estimación de esfuerzo de alto nivel por complejidad
Priorización
Sincronización de actividades
Actualización Taskboard
Burn Down chart
Presentación de SW funcionando
Feedback de los stakeholders
Validación de las funcionalidades
Se plantean posibles cambios
Planificación del sprint (iteración)
Definición del objetivo del Sprint
Revisión de Capacidad del equipo y velocidadhistórica
Definición de SprintBacklog
Armado del Taskboard: descomponer en tareas y estimarlas
Revisión del proceso
Definición de acciones
Asignación de responsables
30. ¿Qué es Lean?
o Lean es un modelo que propone que los procesos y todo lo que hacemos debe generar valor al cliente.
o Las preguntas que se plantea Lean son: ¿Que es el valor? Y ¿Quien lo define?
Stability: estabilidad de los procesos,los
clientes, los trabajadores
Hejunka: estabilidad en la producción.
Fabricar de todo todos los días.
Standarized work: definir la base
estándar (punto de partida) sobre lacual
vamos a empezar a construir y mejorar
Kaizen: mejora continua
Just in Time: hacer el producto correcto,
en la cantidad justa y en el momento
indicado.
Jidoka: actuar frente a las anomalías.
Automatización con intervención
humana.
31. Principios de Lean
o Valor: Preguntar al usuario final
o Cadena de Valor: eliminar todo lo que no aporta valor
o Flujo (continuo): trabajar sin prisa pero sinpausa
o Pull: Actuar en el momento adecuado
o Perfección: Mejorar continuamente
o El flujo de valor se basa en la eliminación de los 7
desperdicios o MUDA:
Sobreproducción
Tiempo de espera
Transporte
Exceso de procesos
Inventario
Movimientos
Defectos
32. Beneficios de Lean
o Menos esfuerzo de las personas
o Menos equipos necesario
o Reducción de tiempo
o Requiere menos espacio
o Reducción de costos
o Provee flexibilidad en el programa de producción
o Eliminación de riesgos por seguridad
o Mejora la calidad, ya que la calidad es asunto de todo el personal y no de un departamento.
o Aumenta el compromiso del empleado, ya que el operador termina conociendo el proceso
productivo y logra tomar decisiones para mejorarlo.
o Reduce el desperdicio
o Mejora la confiabilidad del equipo.
o Reduce los niveles de inventario
o Reducción de tiempo de respuesta ya que nos permite reducir los tiempos de cambio.
34. CMMI & Agile
o CMMI (Capability Maturity Model Integration) es un modelo
para la mejora y evaluación de procesos que contiene las mejores
prácticas de la industria para el desarrollo, mantenimiento,
adquisición y operación de productos y servicios.
o Fue desarrollados por equipos de trabajo formados por
especialistas de la industria, el Ministerio de Defensa de EEUU y
el Software Engineering Institute (SEI)
o CMMI se orienta a procesos y su institucionalización para
conseguir objetivos.
o Scrum y XP se orientan a conseguir objetivos en base al trabajo
en equipo (personas)
o CMMI pueden complementar a Scrum en áreas que este no
contempla, como por ejemplo la gestión de riesgos, la
estandarización de la documentación y los procesos, la gestión de
proveedores, etc.
o CMMI lista “QUE” practicas una organización eficiente y efectiva
debería tener en cuenta, pero no describe “COMO” debería
implementarlas.
35. CMMi & Scrum
Un punto clave es que cada organización debería interpretar las prácticas que CMMi plantea de acuerdo a sus
propios principios y valores. CMMi hace las preguntas correctas para que una organización encuentre las
soluciones que encajen con su cultura y permitan cubrir las buenas prácticasplanteadas.
Combinando CMMi y Scrum, se pueden tomar las practicas que CMMi propone como requeridas en cualquier
organización eficiente y usar Scrum para encontrar una metodología ágil emergente que defina el “COMO”
implementar dichas prácticas.
CMMi provee estructura a nivel organizacional y mecanismos para:
o Preservar información y conocimiento a través del tiempo.
o Estructurar y proveer criterio para la toma de decisiones
o Fortalecer y normalizar la gestión de riesgos
o Aplicar soluciones técnicas de forma metódica
o Desempeño de procesos cuantitativos
36. CMMi & Scrum
CMMI Practicas de Scrum
Planificación de Proyectos
• Planificación del Sprint
• Backlog del Producto
• Backlog del Sprint
• Fases del ciclo de vida Scrum
• Gráficos Burndown y Burnup
• Históricos de backlogs
Gestión de Requisitos
• Backlog del Producto
• Backlog del Sprint
• Planificación del Sprint
• Reunión de Revisión
• Reunionesretrospectivas
• Propietarios del Producto
• Cliente in-situ
Gestión de Riesgos
• ReunionesDiarias
• Revisión de Sprint
• Scrum Master
• Propietarios del producto
Un punto clave es que cada organización debería interpretar las prácticas que CMMi plantea de acuerdo a sus
propios principios y valores. CMMi hace las preguntas correctas para que una organización encuentre las
soluciones que encajen con su cultura y permitan cubrir las buenas prácticasplanteadas.
37. CMMi & Scrum
CMMi Process Area Specific Goals Specific Practices Scrum Practices Coverage
Requirements Management (REQM)
[Level 2]
[5 Practices]
SG 1 Manage
Requirements
1.1 Understand Requirements
Review of Product Backlog
(requirements) with PO and team.
Satisfied
1.2 Obtain Commitment to Requirements
Release planning and Sprint planning
sessions that seek team
member commitment.
Satisfied
1.3 Manage Requirements Changes
Add requirements changes to the
Product Backlog.
Manage changes in the next Sprint
planning meeting
Satisfied
1.4 Maintain Bidirectional Traceability of
Requirements
Satisfied
1.5 Ensure Alignment Between Project Work
and Requirements
Daily standup meeting to identify issues.
Release planning and Sprint planning
sessions to address
inconsistencies.
Sprint burndown chart that tracks effort
remaining.
Release burndown chart that tracks
story points that have been
completed. This shows how much of the
product functionality
is left to complete.
Satisfied
Cobertura de Scrum en el área de proceso de Gestión de Requerimientos
40. ISO & Agile
o ISO 9001 es una norma
internacional que se centra en
todos los elementos de gestión de
calidad con los que una empresa,
de cualquier tamaño o sector
debe contar para tener un sistema
efectivo que le permita
administrar y mejorar la calidad
de sus productos o servicios.
o ¿Para que sirve?
o Dar confianza a sus clientes sobre
su capacidad de cumplir con lo
que prometen.
o Mejorar su desempeño general.
o Acceder a mercados más
competitivos.
o Aumentar la satisfacción del
cliente.
o Dar un fuerte impacto positivoa
la imagen de la organización. ISO plantea el ciclo Plan-Do-Check-Act (PDCA) como la base del sistema de gestión de
calidad, el cual es perfectamente adaptable a un proceso ágil.
41. Agilidad & ISO
o Cada uno de estos procesos, está compuesto por un conjunto de actividades, roles y documentos que deben ser contemplados
para la ejecución del mismo
Norma ISO 9001 Requiremientos de la norma Practicas Agile
4.2.1 Datos generales
La documentación del Sistema de Gestión de Calidad debe incluir:
(d) Los documentos identificados como necesarios para una eficaz
planificación, operación y control de nuestros procesos.
Durante la Incepcion Agil (Sprint 0), ademas de crear y documentar el backlog,
se puede docuementar acuerdos en el DoD y fechas e hitos importantes en el
HLRP, incluyendo informacion de longitud de las Sprints, como registrar y
trackear los requerimientos, etc.
4.2.4 Control de los
Registros de Calidad
Los registros de calidad se conservan para demostrar la conformidad
con los requisitos y el manejo eficaz del sistema de administración de
calidad.
Este procedimiento exige que los registros de calidad permanezcan
legibles, fácilmente identificables y disponibles.
Define los controles necesarios para la identificación, almacenamiento,
protección, recuperación, tiempo de permanencia y eliminación de los
registros de calidad.
Al finalizar cada Sprint el Product Owner evalua los requerimeintos y los
registros de conformidad se deberian guardar como evidencia.
5.2 Foco en el cliente
La organización debera asegurar que los requerimientos son alcanzados
con el objetivo de mejorar la satisfaccion del cliente.
La creacion del Product Backlog, el refinamiento constante y las Sprint Reviews
cubren este requerimiento
5.3 Política de Calidad
La Dirección General deberá asegurarse de que la política de calidad:
(a)Sea adecuada al objetivo de la empresa.
(b)Abarque un compromiso con el cumplimiento de los requisitos y la
mejora constante del QMS.
Un proceso agil bien implementado asegura compromiso con los
requerimeientos del negocio, puesto que satisfacer al cliente es prioridad.
Adicionalmente, los requisitos del negocio son continuamente evaluados
basndose en la experiencia del desarrollo y el testing.
42. Agilidad & ISO
o ISO/IEC 29110 Perfil Básico define estándares de procesos de software que aplican a pequeñas y medianas empresas
desarrolladoras de software.
o ISO/IEC 29110 está compuesto del Proceso de Administración de Proyecto (AP) y del Proceso de Implementación Software (IS)
o Cada uno de estos procesos, está compuesto por un conjunto de actividades, roles y documentos que deben ser contemplados
para la ejecución del mismo
ISO Scrum Product Owner ScrumMaster Dev Team
Cliente X
Líder de Proyecto X X
Equipo X
Analista 0
Desarrollador 0
Programador 0
Comparativa de Roles entre ISO y Scrum
43. Agilidad & ISO
Comparativa de documentos
ISO/IEC 29110 Scrum Observaciones
Declaración de trabajo Product Backlog
No posee una estructura definida, por lo tanto se puede
acercar tanto como se desee al producto en cuestión.
Configuración del software
Cada uno de los elementos de la configuración del software
representan un producto en la norma, que no se
corresponde con ningún artefacto en la metodologíaScrum
Solicitud del cambio Sprint Backlog
Dado que en cada sprint puede incorporar
modificaciones/mejoras en los requerimientos, es posible
considerarlo una solicitud de cambio
Plan de Proyecto Product Backlog
No posee una estructura definida, por lo tanto se puede
acercar tanto como se desee al producto en cuestión.
Registro de Acpetacion
Scrum no presenta un documento formal para registrar la
aceptación de productos, pero en la práctica se deja
constancia informal
Minutas de reunión
Scrum no presenta un documento formal para registrar las
minutas, pero se deja constancia de las reuniones Daily
Scrum
46. Referencias
o Agile Manifesto: http://agilemanifesto.org/
o Agile Alliance: www.agilealliance.org
o Agile Atlas: http://agileatlas.org/images/uploads/corescrum-es.pdf
o Scrum Alliance: www.scrumalliance.org
o Scrum.org: https://www.scrum.org
o Ron Jeffries. What is Extreme Programming?.
Online: http://ronjeffries.com/xprog/what-is-extreme-programming/
o Extreme Programming: A gentle introduction.
Online: http://www.extremeprogramming.org/
o The application of ISO 9001 to agile software development
Online: https://www.sintef.no/globalassets/upload/hansen_stalhane-iso-9001-smidige-metoder-stalhane-and-hanssen-to-
profes-2008.pdf
o Blending Scrum practices and CMMI project management process areas
Online: http://www.cin.ufpe.br/~mmsml/TG/fulltext.pdf
o Implementing Scrum and CMMi together
Online: http://www.processgroup.com/pgpostmar09.pdf