Kanban es una palabra japonesa que significa “tarjetas visuales” (kan significa visual, y ban tarjeta).
Kanban no es una técnica específica del desarrollo software, su objetivo es gestionar de manera general como se van completando tareas.
El enfoque de XP es la satisfacción del cliente, los equipos XP logran la satisfacción del cliente mediante el desarrollo de características cuando el cliente los necesita.
Define un marco para la gestión de proyectos. Está especialmente indicada para proyectos con un rápido cambio de requisitos.
Scrum emplea un enfoque iterativo e incremental para optimizar la predictibilidad y el control del riesgo.
Planificación del Sprint
Scrum Diario
Revisión del Sprint
Retrospectiva del Sprint
Maximizar el valor del producto
Retorno de Inversión (ROI)
Priorización de los ítems del Product Backlog
Actualización de los ítems del Product Backlog
Contabiliza el avance del proyecto
Acepta el incremento entregado al final de cada sprint
Product Backlog
Plan de Release
Visión del Producto
Reunión de revisión de incremento
Actualización de Product Backlog
Presupuesto
Incremento del producto
Asegurar que Scrum es entendido y adoptado por parte de todo el equipo
Guiar hacia las buenas prácticas
Hacer que se cumpla y comprendan los beneficios del manifiesto ágil
Encontrar técnicas para un mejor manejo del Product Backlog
Comunicar claramente la visión y objetivos al equipo
El proceso de Scrum
Remover los impedimentos que surjan
Facilitar las reuniones del equipo
Creación del incremento en conjunto
Llevar el registro de todo el proceso
Responsables de las estimaciones
Contabilizar el trabajo faltante a diario
Sprint Backlog
Scrum Diario
Lista priorizada y secuencia de historias de usuario
Responsabilidad del Product Owner divide el proyecto en historias que son las que componen el Product Backlog
Lista prevista para desarrollar o ejecutar en un Sprint
Primeros ítems del Product Backlog con estimación acorde en el Sprint
Desagregado de los ítems del Product Backlog en tareas específicas y asignadas en el Scrum Team
Una HU describe una funcionalidad que será de valor para un usuario o cliente.
Se utiliza como medio para recoger los requerimientos del producto.
Las HU deben definirse con las siguientes características:
Independiente
Negociable
Valiosa
Estimable
Pequeña(Small)
Testeable
Una HU debe tener como mínimo las siguientes partes:
Título <nombre de la historia de usuario>
Cómo <usuario, persona o rol>
Quiero <tomar esta acción/actividad>
Para <conseguir este beneficio/valor de negocio>
Todos los miembros del equipo comparten y entienden el significado de “terminado” para cada ítem del Product Backlog de manera transparente.
El propósito de cada Sprint es entregar incrementos de funcionalidad que potencialmente se puedan poner en producción y que se ajustan a la definición de “Terminado” actual del Equipo Scrum.
1-4 semanas
Cajas de tiempo que tiene un inicio y finales fijos
Misma duración
Cada nuevo Sprint comienza inmediatamente después de la finalización del Sprint previo
8 horas
Reunión de revisión de Product Backlog para llegar acuerdos
Selección de común acuerdo de X cantidad de ítems del Product Backlog al Sprint Backlog
Estimación de ítems (generalmente en horas)
Duración 15 min
Cada día a la misma hora y en el mismo lugar
Revisión, inspección y adaptación
Se da respuesta a:
¿Qué hice ayer que ayudó al Equipo de Desarrollo a lograr el Objetivo del Sprint?
¿Qué haré hoy para ayudar al Equipo de Desarrollo a lograr el Objetivo del Sprint?
¿Veo algún impedimento que evite que el Equipo de Desarrollo o yo logremos el Objetivo del Sprint?
Duración 4 horas
Se realiza al finalizar el Sprint
Revisión de tareas terminadas
Información bidireccional de avance y ajuste de la dirección e importancia del Product Backlog restante
3 horas
Se realiza al finalizar la reunión de "Revisión del Sprint" y antes de la siguiente reunión de "Planificación del Sprint"
Inspeccionar y adaptar al proceso
Reunión interna del Equipo Scrum para revisar cuán colaborativo y productivo es el equipo
Identificar obstáculos y comprometerse con acciones concretas de mejora
Tiene 3 objetivos principales:
Inspeccionar cómo vivió el equipo el Sprint que acaba de terminar, en términos de: interacciones, relaciones, procesos, herramientas.
Identificar y ordenar los principales puntos positivos y potenciales mejoras
Crear un plan de acción con mejoras
Un Sprint se cancelaría si el Objetivo del Sprint llega a quedar obsoleto. Esto podría ocurrir si la compañía cambia la dirección o si las condiciones del mercado o de la tecnología cambian.
Se revisa lo que esté en Done y el Product Owner determina si lo terminado se acepta o no
Los elementos no finalizados deben ser replanificados y vuelven al Product Backlog
Se determina el compromiso de valor entregado sumando las HU entregadas y completas
Las tareas NO se cuentan como valor agregado
Es una práctica de pruebas de software que sigue los principios del desarrollo ágil de software.
Las metodologías ágiles no ven las pruebas de software como una fase separada, sino como parte integral del desarrollo de software al igual que la programación.
El testing no es una fase
El testing hace avanzar el proyecto
Todo el equipo realiza pruebas
Reducir el tiempo para recibir retroalimentación
Código limpio
Reducir la documentación de pruebas
Guiado por pruebas
Prueba | Objetivo | Ambiente | Método |
---|---|---|---|
Unitario | Detectar errores en los datos, lógica, algoritmos | Desarrollo | Caja Blanca |
Integración | Detectar errores de interfaces y relaciones entre componentes | Desarrollo | Caja Blanca |
Funcional | Detectar errores en la implementación de requerimientos | Desarrollo | Funcional |
Sistema | Detectar fallas en la implementación de los requerimientos | Desarrollo | Funcional |
Aceptación | Detectar fallas en la implementación del sistema | Producción | Funcional |
Todas las metodologías ágiles implican constantes iteraciones, en las cuales el código de programa se modifica constantemente.
En cada iteración, además de expandir las funcionalidades del sistema, podemos realizar refactorizaciones para optimizar funcionalidad que ya se ha desarrollado.
Gestión de pruebas de software
Testlink
Redmine
Zephyr/Jira
Gemini
Hewlett Packard Quality Center (HP QC)
IBM Rational Quality Manager
Automatización
1. Selenium
2. Cucumber
Seguimiento de incidencias
1. Mantis
2. Bugzilla
Ciclo de Vida del Software https://repository.icesi.edu.co/biblioteca_digital/bitstream/item/4083/1/Presentacion_ciclo_vida_software.pdf
Manifesto for Agile Software Development http://agilemanifesto.org/iso/es/manifesto.html
Kanban http://www.javiergarzas.com/2011/11/kanban.html
XP (eXtreme Programming) https://iie.fing.edu.uy/~josej/docs/XP%20-%20Jose%20Joskowicz.pdf
La Guía de Scrum http://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-ES.pdf
Agile Testing http://www.pmoinformatica.com/2015/03/que-es-el-agile-testing.html
Cuadrantes Agile Testing http://www.pmoinformatica.com/2015/04/pruebas-software-agile-cuadrantes-1.html
Herramientas de Calidad de Software http://www.pmoinformatica.com/2015/04/herramientas-gestion-calidad-software.html