Erhalten Sie Zugang zu diesem und mehr als 300000 Büchern ab EUR 5,99 monatlich.
Esta es una guía simple y fácil de entender para cualquiera que quiera aprender sobre Agile y el marco Scrum. Cubre los conceptos y principios subyacentes, junto con los roles y responsabilidades de Scrum, eventos, artefactos y enfoques a cómo escalar, así como prácticas y técnicas generales. ❶ En lugar de elogiar Agile, el libro se enfoca en comprender qué es Agile de verdad, de una manera simple y consistente, y examina los tipos de proyectos para los que funciona y aquellos para los que puede no funcionar. Es una base que le ayuda a navegar por los problemas cotidianos que nos encontramos en el mundo real. ❷ El libro es una guía completa del núcleo del marco de Scrum, basado en la Guía Scrum (edición de noviembre de 2017). Cubre todos los roles y responsabilidades, eventos y artefactos, con una breve sección sobre Scrum Escalado. ❸ Hay un capítulo sobre Programación eXtrema, que sirve para explorar de manera integral, algunos de los métodos y técnicas Agile más importantes, como el Desarrollo guiado por pruebas y la Programación en pareja. ❹ El cuarto capítulo es una descripción general de la metodología DSDM®, que se centra principalmente en el enfoque y la gestión del alcance y los contratos de precio fijo de manera estructurada. ❺ En el último capítulo hay una descripción general de Kanban y ScrumBan. Este libro está alineado con el programa de certificación de EXIN Agile Scrum Foundation
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 153
Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:
Los Fundamentos de Agile Scrum
Van Haren Publishing (VHP) specializes in titles on Best Practices, methods and standards within four domains:
- IT and IT Management
- Architecture (Enterprise and IT)
- Business Management and
- Project Management
Van Haren Publishing is also publishing on behalf of leading organizations and companies: ASLBiSL Foundation, BRMI, CA, Centre Henri Tudor, Gaming Works, IACCM, IAOP, IFDC, Innovation Value Institute, IPMA-NL, ITSqc, NAF, KNVI, PMI-NL, PON, The Open Group, The SOX Institute.
Topics are (per domain):
IT and IT Management
ABC of ICT
ASL®
CATS CM®
CMMI®
COBIT®
e-CF
ISO/IEC 20000
ISO/IEC 27001/27002
ISPL
IT4IT®
IT-CMF™
IT Service CMM
ITIL®
MOF
MSF
SABSA
SAF
SIAM™
TRIM
VeriSM™
Enterprise Architecture
ArchiMate®
GEA®
Novius Architectuur
Methode
TOGAF®
Business Management
BABOK ® Guide
BiSL® and BiSL® Next
BRMBOK™
BTF
EFQM
eSCM
IACCM
ISA-95
ISO 9000/9001
OPBOK
SixSigma
SOX
SqEME®
Project Management
A4-Projectmanagement
DSDM/Atern
ICB / NCB
ISO 21500
MINCE®
M_o_R®
MSP®
P3O®
PMBOK ® Guide
Praxis®
PRINCE2®
For the latest information on VHP publications, visit our website: www.vanharen.net.
Título:
Los Fundamentos de Agile Scrum
Autor:
Nader K. Rad y Frank Turley
Editorial:
Van Haren Publishing, ‘s-Hertogenbosch
ISBN Copia impresa:
9789401805346
Edición:
Primera impresión, primera edición, 1 de octubre de 2019
Diseño:
Van Haren Publishing, ‘s-Hertogenbosch
Derechos de autor:
© Van Haren Publishing 2019
Para más información sobre Van Haren Publishing, pueden contactar por correo electrónico a: [email protected] o visitar nuestra web: www.vanharen.net
Se reservan todos los derechos. Queda prohibida la reproducción en cualquier formato impreso, por impresión fotográfica, por microfilm o por cualquier otro medio sin el consentimiento escrito de la editorial.
Aunque esta publicación se ha redactado con mucho cuidado, ni el autor, ni el editor, ni la editorial aceptan responsabilidad alguna por los daños causados por posibles errores y/o posibles imperfecciones que pueda contener la publicación.
Avisos de marcas registradas:
BiSL® es una marca registrada de ASL BiSL Foundation.
CMMI/SVC es una marca registrada de Software Engineering Institute
COBIT® es una marca registrada de ISACA.
Emotional Intelligence Appraisal® es una marca registrada de TalentSmart
ISO/IEC 20000® and ISO/IEC 27000® son marcas registradas de ISO.
ITIL® es una marca registrada de AXELOS Limited.
IT4IT® es una marca registrada de The Open Group.
NPS® es una marca registrada de Net Promoter Network
PMBOK® es una marca registrada de PMI Inc.
PRINCE2® es una marca registrada de AXELOS Limited.
SAFe® es una marca registrada de Scaled Agile Inc.
SIAM® es una marca registrada de EXIN.
Los demás nombres de marcas, empresas y productos se utilizan solamente por motivos de identificación y pueden ser marcas registradas, propiedad exclusiva de sus respectivos propietarios.
NOTA SOBRE LOS AUTORES
1. EL CONCEPTO AGILE
Metodología de Entrega de Proyecto y Ciclo de vida
Ciclos de Vida Predictivos vs Adaptativos
Agile vs Método en Cascada (Waterfall)
¿Es nuevo Agile?
El Manifiesto Agile
Los Principios Agile
Consideraciones prácticas de los Ciclos de vida Adaptativos
Iteraciones de Alcance predeterminado vs Iteraciones de Duración predeterminada
Duración de las Iteraciones
¿Iteraciones de una duración fija o de distintas duraciones?
¿Qué ocurre si no se acaban algunas funcionalidades?
¿Qué ocurre dentro de las iteraciones?
Empoderamiento
¿Es sólo para Proyectos de TI?
¿Agile es más rápido?
2. SCRUM
Metodología vs Marco de trabajo
Breve resumen del marco Scrum
Los roles de Scrum
Equipo Scrum
Rol 1: El Dueño del Producto (Product Owner)
Rol 2: Scrum Master
Rol 3: El Equipo de Desarrollo
Otros Roles
¿Quién es el Project Manager?
Cerdos y Gallinas
Entorno de trabajo adecuado
Comunicación Osmótica
Equipos Virtuales
Eventos Scrum
Introducción a los Eventos Scrum
Timeboxing
Evento 1: El Sprint
Evento 2: Planificación del Sprint
Evento 3: Scrum Diario
Evento 4: Revisión del Sprint
Evento 5: Retrospectiva del Sprint
Actividad: El Refinamiento del Backlog de Producto
Slack
¡El Primer Sprint!
Planificación de la entrega (Release Planning)
Pruebas de Agile
Planificación por capas (Planning Onion)
Los Artefactos de Scrum
Artefacto 1: Backlog de Producto
Elementos del Backlog de Producto (PBI Product Backlog Items)
¿Solo Características Funcionales?
Las Dos Reglas
Invierta en los Elementos del Backlog de Producto
Épicas y Temática
Estimación
Puntos de Historia
Velocidad
Horas/ Días Ideales
Velocidad vs Éxito
Velocidad vs Velocidad
Póker de Planificación (Planning Póker)
Triangulación
La Tabla de Triangulación
Estimación por Afinidad
Re-estimación
Ordenar los puntos del Backlog de Producto
Qué es Valor?
Cómo ordenar el Backlog de Producto
Jerga relacionada con el Valor
Artefacto 2: El Backlog del Sprint
Elementos inacabados al final de cada Sprint
Se han completado todos los elementos en medio del Sprint
Estático vs Dinámico
Trabajo inacabado vs Velocidad
Artefacto 3: Incremento
Definición de Terminado (Definition of Done DoD)
Definición de Preparado
Monitorizar la Ejecución del Proyecto
Monitorizar el Progreso del Sprint
Radiadores de Información
Burn-down Chart (Gráfico de Avance)
Barras Burn-down
Burn-up Charts
Diagrama de Flujo Acumulado
Calendario Niko-Niko
Scrum Escalado
Roles
Artefactos
Eventos
Planificación del Sprint
Scrums Diarios
Revisiones del Sprint
La Retrospectiva del Sprint
3. PROGRAMACIÓN EXTREMA (XP)
1. Programación en pareja
2. Asignación
3. Diseño
4. Escribir la Prueba
5. Codificación
6. Refactorización
7. Integración
8. ¡Vete a casa!
Reunión diaria
Tracking
Gestión de Riesgos
Spiking
4. DSDM®
Restricciones del Proyecto
Planificación por adelantado
Priorización MoSCoW
Excepciones
Autoorganización
Tipos de Contrato
5. KANBAN Y SCRUMBAN
Kanban
Visualizar
Limitar el WIP (Trabajo en Curso)
Pull vs Push (Arrastrar vs Asignar)
ScrumBut
ScrumBan
Nader K. Rad es escritor, conferenciante y asesor de Gestión de Proyectos en Management Plaza. Su carrera comenzó en 1997 y ha estado involucrado en multitud de proyectos de distintas industrias. Ha diseñado varios cursos de gestión de proyectos, preparado diversos cursos de formación online y escrito más de 40 libros.
Más info sobre el autor: http://nader.pm
Página web del autor: https://mplaza.pm
Perfil LinkedIn del Autor: be.linkedin.com/in/naderkrad
Frank Turley ha sido Project manager durante más de 15 años. Es PRINCE2®Practitioner, Scrum Master y formador y coach de gestión de proyectos y PRINCE2. Ha escrito varios libros relacionados con PRINCE2® y gestión de proyectos y se le conoce en el mundo de PRINCE2 por la creación del material más popular de formación para autoaprendizaje de PRINCE2.
Más info sobre el autor: https://mplaza.pm/frank-turley/
Página web del autor: https://mplaza.pm
Perfil LinkedIn del Autor: http://linkedin.com/in/frankturley
Si su objetivo es aprender algo que le pueda beneficiar en sus proyectos, debe reflexionar sobre dos temas que a menudo se malinterpretan:
1. Puede que a menudo escuche la frase, “Agile es una forma de pensar”. La verdad es que Agile requiere una determinada forma de pensar, como todo, pero no es correcto decir que es una forma de pensar. Decir “Agile es una forma de pensar”, en la práctica, solo lleva a una cosa: poder trabajar como uno quiera, llamándolo Agile, sin aceptar críticas ni buscar mejoras reales.
2. Si tiene el más mínimo conocimiento de cómo funcionan los sistemas autoritarios, sabrá que siempre tiene que haber un enemigo. Este concepto cubre los agujeros que pueda tener su sistema y ayuda a controlar a las masas. Muchos profesionales de Agile usan la palabra “cascada” para referirse al enemigo; y mientras que el concepto “cascada” no se acaba de definir del todo, se insinúa que son los sistemas de gestión de proyectos ya establecidos y conocidos. Si su objetivo es tener éxito en proyectos, no necesita crear la ilusión de un enemigo externo. Y recuerde que todo sistema de éxito se construye sobre sistemas existentes, sin tener que empezar de cero. Y aunque la crítica es absolutamente necesaria, debe hacerse desde el respeto y el conocimiento.
Así pues, hablemos de la verdadera naturaleza de Agile.
Cuando se desarrolla software, de una manera u otra, se realizan los siguientes pasos, bien para funcionalidades individuales o para la solución completa:
■ Analizar
■ Diseñar
■ Desarrollar
■ Integrar
■ Prueba (Test)
Por supuesto, se puede usar otra terminología para esos pasos, o agruparlos en menos pasos, o dividirlos en más; está bien. Estos pasos los podemos llamar procesos de entrega.
Ahora, la pregunta es, ¿Cómo vamos a gestionar y realizar estos procesos? Piense en algunas opciones antes de leer el resto de este capítulo.
¿En cuántas opciones ha pensado?
Puede que tenga muchas opciones en mente, pero todas deben pertenecer a una de las dos formas genéricas que hay. A propósito, estas opciones las podemos llamar el ciclo de vida del desarrollo.
Un ciclo de vida genérico es algo así:
En este ciclo de vida, cada proceso se debe completar antes de proceder al siguiente; es decir, analizamos por completo el requisito y decidimos qué queremos que contenga la solución. Entonces, diseñamos la arquitectura de la solución y averiguamos la mejor manera de dar forma a las características. Entonces, los programadores empiezan a trabajar en las distintas unidades y después las unidades se integran en una solución. Y esa solución se prueba.
Es obvio que los pasos se pueden solapar; por ejemplo, no es necesario esperar a que todas las unidades estén completas antes de integrarlas y probarlas. Su ciclo de vida puede tener el siguiente aspecto:
En esencia, no es distinto del ciclo de vida anterior; seguimos teniendo una secuencia de procesos de desarrollo como motor principal del ciclo de vida.
Como podrá observar, este tipo de ciclo de vida se basa en un esfuerzo inicial por entender qué es lo que vamos a producir. Tenemos una especificación por adelantado, un diseño por adelantado y, por consiguiente, un plan por adelantado. Por eso, a veces se le llama un desarrollo dirigido por el plan. También intentamos predecir qué es lo que queremos y cómo se puede producir, y por eso también se le suele llamar predictivo.
Un Ciclo de vida Predictivo es la manera habitual y apropiada de desarrollar muchos proyectos, como por ejemplo un proyecto de construcción. En primer lugar, se planifica y diseña, y luego se sigue ese plan y diseño. Sin embargo, esto no es cómodo para algunos tipos de proyectos.
Piense en el típico proyecto de desarrollo de TI. Puede dedicarle mucho tiempo a la especificación y análisis de los requisitos, y basarlo todo en eso. ¿Qué ocurre después? ¡Que el cliente no estará contento cuando vea el resultado! Pedirá cambios, y los cambios son caros en este ciclo de vida porque es posible que haya que revisar todo el trabajo anterior.
Como se suele decir en este sector, el cliente no sabe lo que quiere hasta que ve el producto. ¿Cuándo ven el producto? Hacia el final del proyecto. En ese punto, el coste de cambiar es máximo.
Para superar este problema, podemos renunciar a la comodidad y a la estructura de un ciclo de vida predictivo y usar uno que cree el producto de forma incremental, es decir en múltiples versiones, cada vez con más características. Este es un lujo que tenemos en los proyectos de desarrollo de TI que no puede tener todo el mundo: múltiples versiones de software funcional, cada vez con más características. Piense en un proyecto de construcción, no hay incrementos significativos y el producto no se puede utilizar hasta el final.
Para ser justos, esta desventaja de un proyecto de construcción se compensa con el hecho de que si se tiene que empezar un proyecto para construir un hospital, el resultado final será un hospital, con independencia de la cantidad de cambios que haga, y no, por ejemplo, ¡un parque de atracciones! Sin embargo, en desarrollo de TI, se puede empezar un proyecto para crear algo parecido a un hospital y acabar con algo parecido a un parque de atracciones.
Por lo tanto, en los proyectos de desarrollo de TI, podemos tener entregas incrementales: aprovechemos esta oportunidad mediante un ciclo de vida como el siguiente:
No hay una predicción real en este ciclo de vida. En vez de predecir el producto y depender de esa predicción, tenemos pequeños periodos de tiempo durante los cuales creamos incrementos del producto. Mostraremos ese incremento (la última versión del producto) al cliente y a los usuarios finales, recibiremos su feedback (sus comentarios al respecto), y decidiremos qué hacer en el siguiente periodo de tiempo. Así que, en vez de basarnos en la predicción, seguimos con el proyecto y nos adaptamos al feedback. ¿Cómo queréis llamar a este ciclo de vida? “Adaptativo” es un buen nombre: ciclo de vida adaptativo.
Para crear cada incremento, necesitamos ejecutar todos los procesos de desarrollo durante ese periodo de tiempo. En el siguiente periodo, repetiremos los procesos: iteramos. Por eso, este método de desarrollo se llama a veces desarrollo iterativo. Los periodos de tiempo durante los cuales iteramos, se pueden llamar iteraciones. No es el único nombre que se utiliza para ello. Puede que ya conozca por lo menos un nombre más para las iteraciones. Volveremos pronto a este tema.
Tanto el ciclo de vida adaptativo como el predictivo, tienen ventajas y desventajas. Que la selección del ciclo sea la correcta depende de muchos factores, pero el más importante es el tipo de producto.
Se pueden hacer dos preguntas esenciales antes de decidir el tipo de ciclo de vida que necesita para su proyecto:
1. ¿Necesito poder adaptarme? Porque si no, un ciclo de vida predictivo es…. ¡Pues más predecible! Es más fácil y está más estructurado. Se necesita un sistema adaptativo cuando existe el riesgo de empezar con la idea de crear un hospital y acabar con un parque de atracciones.
2. ¿Puedo adaptarme? Esta pregunta es todavía más importante. Para ser adaptativo, se debe tener la posibilidad de desarrollar de formar iterativa y de entregar de forma incremental. Pensemos de nuevo en un proyecto de construcción: ¿puede construir el edificio de forma iterativa? ¿Puede diseñar la base sin diseñar el resto del edificio que determinará la carga que debe soportar la base? ¡La respuesta es sencillamente NO! No es posible usar el desarrollo iterativo en un proyecto de construcción. Y la entrega de forma incremental tampoco es posible, como ya hemos visto. Así que no podemos usar un ciclo de vida adaptativo para construir un edificio (no nos confundamos con el diseño interior y la decoración, o incluso unas reformas, para las cuales sí es posible que podamos usar un sistema adaptativo).
Lo que quiero transmitir es que Predictivo vs Adaptativo no es una cuestión que una cosa es buena y la otra mala.
Como pequeño ejercicio, piense en un proyecto de TI para actualizar los sistemas operativos de 300 ordenadores de una organización o en un proyecto de TI para crear una infraestructura de red para una organización enorme con seis oficinas. En su opinión, ¿qué ciclo de vida de desarrollo es mejor para estos dos proyectos?
“Agile” es el nombre más común para los sistemas que utilizan los ciclos de vida Adaptativos. Así es como se puede definir de verdad “Agile”, en vez de decir “¡Agile es una mentalidad!”
Los “fans” de Agile utilizan el término Cascada para referirse a los Ciclos de vida Predictivos. La palabra Cascada se utiliza a menudo para referirse a los Ciclos de vida Predictivos usados en proyectos de TI; no se oye a nadie decir “Este edificio se construyó usando el método en Cascada”.
Para asegurarse de que conoce a fondo la terminología, debe ser consciente de que decir método en Cascada es prácticamente una grosería hoy en día, y ¡tiene derecho a enfadarse y a ofenderse si alguien le dice que está usando el método en Cascada! Por eso sugiero que usemos el concepto más formal en este libro: Ciclo de vida Predictivo.
Normalmente, Agile se anuncia como la novedad. Ciertamente, el uso del concepto Agile refiriéndose a los Ciclos de vida Adaptativos es nuevo, pero ¿el ciclo de vida en sí lo es?
No sé a los demás pero a mí me cuesta imaginar la larga historia del ser humano con tantos proyectos y programas que se habrá realizado sin que hubiera ningún tipo de ciclo de vida adaptativo. ¿Se le ocurre algún ejemplo?
Le propongo uno. Piense en una iniciativa (programa o proyecto) muy popular en los viejos tiempos: el ir a la guerra. ¿Se puede gestionar una guerra con un enfoque Predictivo? ¿Planifican y diseñan todo desde el comienzo? Desde luego que no. Puede que haya un plan inicial general que se parezca más a una estrategia que a un plan, y que se gestione la guerra de batalla (es decir, iteración) en batalla (o con varias a la vez), y en función del resultado de cada batalla, se adapta el resto de la iniciativa.
No es un ejemplo agradable pero es un ejemplo claro de que los Ciclos de vida Adaptativos no pueden ser nuevos.
Entonces, ¿cuál es la novedad?
En un momento dado, el enfoque de gestión conocido como el científico y el Taylorismo se convirtieron en la norma, tanto es así que cualquier otro enfoque se percibía como inferior e incluso equivocado. El Taylorismo se basaba plenamente en sistemas Predictivos. Por lo tanto, los sistemas Predictivos dominaban el mundo, por así decirlo.
Después, llegamos a un momento en el que se iniciaban más y más proyectos de desarrollo de TI y los Ciclos de vida Predictivos no eran la mejor manera de gestionar aquellos proyectos. Las personas intentaron aguantar, mientras que aumentaba la presión hasta que hubo manifestaciones y, finalmente, ¡la revolución! Como cualquier otra revolución, devoró a sus retoños pero ese es un tema para otro momento.
Algunas personas comenzaron a usar sistemas Adaptativos para el desarrollo de TI y, poco a poco, los fueron organizando en procesos de gestión que se podían repetir. Un grupo de pioneros se juntó en el 2001 para formalizarlos, dándoles nombre y creando un manifiesto.
Empecemos por el nombre. La leyenda dice que las dos opciones al final era Agile (Ágil) y Adaptive (Adaptativo).
Lamentablemente, se quedaron con Agile. Adaptive habría sido mucho mejor porque describe la naturaleza del enfoque y evita muchos malentendidos.
Así pues, a continuación le mostramos el Manifiesto Agile. Está disponible en la página web AgileManifesto.org, muy moderna y avanzada.
Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar:
Individuos e interacciones
sobre
procesos y herramientas
Software funcionando
sobre
documentación extensiva
Colaboración con el cliente
sobre
negociación contractual
Respuesta ante el cambio
sobre
seguir un plan
Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.
Kent Beck
Ward Cunningham
Andrew Hunt
Robert C. Martin
Dave Thomas
Mike Beedle
Martin Fowler
Ron Jeffries
Steve Mellor
Arie van Bennekum
James Grenning
Jon Kern
Ken Schwaber
Alistair Cockburn
Jim Highsmith
Brian Marick
Jeff Sutherland