Ajedrez - antoniomartel.com

Archivos por Etiqueta: SCRUM

El equipo de trabajo Scrum

En un proyecto gestionado con Scrum el equipo de trabajo estará formado por tres perfiles: el Dueño del Producto (Product Owner), el Scrum Master y el Equipo de Desarrollo (Development Team).

Ninguno de esos perfiles es el de jefe de proyectos o rol similar ya que estos equipos Scrum son autoorganizados. Esto quiere decir que ellos mismos deciden cómo llevar a cabo el trabajo y se reparten las tareas ¿Quién mejor que el Dueño del Producto para saber lo que hay que hacer y lo que se quiere conseguir? ¿Y quién mejor que el Equipo de Desarrollo para saber cómo hay que las tareas? Ellos dividirán las funcionalidades en tareas más pequeñas, las priorizarán y se las asignarán a si mismos. Ellos mismos se organizan el trabajo cada dos o tres semanas, lo que dure el Sprint.

Los equipos de trabajo también son multifuncionales. Esto significa que dentro del mismo equipo de trabajo encontraremos todos los perfiles necesarios para hacer el trabajo. Si hay que analizar algo lo hará algún miembro del equipo de trabajo. Si hay que realizar una tarea de administración de base de datos lo hará algún otro miembro del equipo (como en DevOps).

Por ejemplo, si necesitamos que se realicen frecuentemente este tipo de tareas de base de datos en el trabajo diario tendremos que contar con alguien con formación de DBA en el equipo. De esta forma el equipo de trabajo puede también autoorganizarse al no depender de otro departamento que tendrá sus propias prioridades y por el que habría que esperar a que realice la tarea. Mientras espera el equipo de desarrollo tendría que dedicarse a otras cosas, quizás menos importantes, hasta que se lleve a cabo la tarea por otro departamento o área de negocio.

Este modelo de equipos de trabajo de Scrum mejora la flexibilidad y la productividad al no estar tan encorsetado y tener un equipo más creativo e independiente.

Al realizar entregas iterativas e incrementales, es decir, realizar una entrega del producto cada vez mayor al finalizar cada Sprint, el equipo de trabajo obtiene feedback de la opinión de los usuarios y los interesados de forma frecuente. Este feedback le permitirá priorizar las próximas tareas y corregir la línea a seguir si es necesario. Estas entregas incrementales son de producto «Terminado» y probado. De esta forma siempre hay disponible una versión plenamente funcional del producto lista para ser usada.

Teoría de Scrum

Scrum es un marco de trabajo basado en el control de procesos empírico y por tanto no basado en predicciones o suposiciones. Esto quiere decir que el conocimiento procede de la experiencia, la observación de los hechos y de tomar decisiones basándose en lo que se
conoce. Las decisiones se toman en base a los resultados que se están viendo en el proyecto y no en base a planificaciones a largo plazo y a fechas de entrega supuestas al principio del proyecto.

Si en un proyecto tenemos que decidir si eliminamos o no una característica nueva de un producto o si es necesario dedicar más esfuerzo al desarrollo de una parte del proyecto para llegar a cumplir los límites establecidos, esta decisión la tomaremos basándonos en los datos sobre el esfuerzo que ya nos ha costado construir esta característica o similares o en los datos reales del tiempo que nos ha llevado construir las tareas ya realizadas. No nos basamos en un diagrama de Gantt con la predicción realizada al inicio del proyecto con lo que supuestamente iba a costarnos realizar estas tareas y con los límites que tenemos para cumplir la planificación, sean estos ya reales o no.

Todos los proyectos intentarán ser lo más previsibles posible y predecir cuando estarán acabadas las cosas pero, si con el objetivo de mejorar la previsibilidad usamos diagramas de Gantt, estimaciones y fechas de entrega a largo plazo con la información que teníamos al empezar el proyecto, podríamos estar teniendo el efecto contrario y volver al proyecto más imprevisible de lo que debería.

Si en lugar de trabajar y trabajar para que los planes sean exactos, asumimos que esos planes pueden estar equivocados y que son sólo eso, planes, podemos tomar las decisiones basándonos en los datos reales que vamos conociendo del proyecto para intentar ser lo más previsibles posible con los que tenemos actualmente.

Para mejorar la predictibilidad del proyecto y poder prever más fácilmente cuando vamos a acabar un conjunto de tareas o todo el proyecto, Scrum se basa en tres pilares:

Transparencia

Scrum entrega de forma iterativa pequeños incrementos del producto de forma que va añadiendo nuevas funcionalidades o características al producto final. La lista de cosas pendientes de terminar es pública, la lista de cosas terminadas y su estado es pública también. Se comparte además un lenguaje común entre todos los participantes en el proyectos de forma que sea claro y transparente para todo el mundo en qué estado está todo.

Cuando se dice que algo está ‘terminado’ debe significar lo mismo para todo el mundo y que no se barren dejabo de la alfombra con tal de hacer una marca en su casillero funcionalidades hechas pero que no han sido lo suficientemente probadas o no son prácticas. Las cosas están en estado ‘Hecho’ o ‘Terminado’ de forma transparente para todo los usuarios de Scrum sin ocultar nada a ninguno. Por eso se habla de tener una definición de ‘Hecho’ o de cuando algo puede decirse que está terminado.

Inspección

Otro pilar básico de Scrum, lo que se ha entregado y el estado en el que están las cosas se puede inspeccionar por los interesados en el proyecto o el dueño del producto (Product Owner) de forma que compruebe que está en perfecto funcionamiento y que el estado es real. Esto se hace en parte con la reunión de demo, con la transparencia de los entregables que se entregan de forma iterativa para que puedan ser probados y con las revisiones de lo que queda por hacer.  Estas revisiones no deben realizarse de forma tan frecuente que la inspección ralentice el trabajo.

Adaptación

Si en las revisiones de la inspección se comprueba que el producto, el plazo para construir o la nueva característica que se está construyendo se desvían de límites
aceptables, o que el producto resultante no será aprobado, deben hacerse cambios para intentar volver a límites dentro de lo aceptable. Estos ajustes deberán hacerse cuanto antes para evitar mayores desviaciones sobre lo que quede por realizar.

Adaptaciones o ajustes como estos son los que hacen que Scrum no sea predecible y no puedan darse largos plazos de predicción porque siempre se está adaptando el producto para mejorarlo y evitar mayores desviaciones sobre el producto ideal con el presupuesto que tenemos.

Para poder realizar estas inspecciones y sus correspondientes adaptaciones Scrum prescribe cuatro eventos o sucesos dentro de cada Sprint. Estos eventos son descritos con más detalle en otros post de este blog:

  • Reunión de Planificación del Sprint (Sprint Planning Meeting)
  • Scrum Diario (Daily Scrum)
  • Revisión del Sprint (Sprint Review)
  • Retrospectiva del Sprint (Sprint Retrospective)

Curso práctico Scrum – Agile 101

Publico en esta entrada los posibles contenidos que tendría el curso sobre Scrum/Agile 101. Los que me conocen o han leído mi libro saben que no será un curso de Scrum para seguir al pie de la letra, para eso ya están las guías de Scrum que publican Scrum.org o Scrum Alliance.

Será una guía práctica que te permite saber cómo implementar el Scrum que ya conoces de oídas o del que incluse ya tienes un certificado pero no sabes muy bien cómo llevarlo al día a día de tus proyectos.

El contenido estarían divididos en unidades y capítulos como los que pongo a continuación. Sólo falta que ustedes voten por añadir o incluir nuevos capítulos (aún faltan algunos):

  • Introducción y fundamentos de Scrum
  • Descripción reuniones, artefactos, participantes y roles de Scrum (con cheat list o hoja de resumen)
    • Tres capítulos: El rol de Product Owner, El rol de Scrum Master, El rol de los interesados o stakeholders.
    • Tres capítulos: El product backlog, el sprint backlog y la gráfica burndown
  • Cómo implantar Scrum en tus proyectos (con checklist para comprobar que se está haciendo lo importante)
  • Sección cómo… o qué hacer cuando… con Errores y dudas más habituales.
    • Capítulos Buenas prácticas del software (todo no es Scrum en un proyecto).
  • Qué certificación Scrum elegir
  • Scrum ventajas e inconvenientes
  • Estimaciones ágiles en tus proyectos
  • Lecciones aprendidas
  • Kanban
  • Entender y cómo usar la gráfica burndown.
Será un curso fácil de seguir en el que cada capítulo o unidad contaría con:
  • Uno PDF con texto explicando el contenido de la unidad
  • Otro PDF con texto y contenidos adicionales que no son estrictamente temario pero que ayudarán a completar y entender la información del temario.
  • Un vídeo en el que explico de viva voz los contenidos de la unidad siguiendo gráficas o slides de presentaciones.
  • Un ejemplo práctico basado en un caso real en el que pongo en contexto el contenido de la unidad.
  • Una batería de tests de 10 preguntas sobre la unidad y un ejercicio propuesto sobre el contenido de la unidad. En el siguiente paso a estos tests se darían las soluciones o claves al ejercicio propuesto.
La idea es que el contenido del curso pueda completarse con unas 40 o 50 horas de trabajo de forma que puedas terminarlo en 4 o 5 semanas si le dedicas unas 10 horas a la semana (1 hora diaria y un par horas más el fin  de semana podría ser un ejemplo).
Al final del curso habría un test con preguntas abiertas y cerradas junto a un ejercicio práctico que corregiría personalmente. Este test sería diferente para cada alumno y si se suspende se tendría derecho a otro intento (con otro examen diferente). Se entregaría a los aprobados un PDF con mi firma y un logo del curso que podría descargarse desde mi web con un enlace como el siguiente https:antoniomartel.comcertificadosmanuel-echevarria-agile101.pdf para que puedas entregar el link a cualquier empleador o jefe tuyo y pueda comprobar por el mismo que el PDF es original.
El contenido del curso está aún abierto. Si te gusta lo que vas leyendo del curso y te animas a contestar unas preguntas para saber qué te puede interesar y qué no, pásate por el enlace a la encuesta del curso Scrum – Agile 101 y me ayudarás a saber qué puede ser más interesante para los alumnos del curso.

Curso de Scrum Agile 101

Tengo pensado lanzar pronto un curso de Scrum/Agile pero no tengo decididos aún formato en el que lanzarlo o los contenidos exactos que tendrá. Quiero que sea un curso sobre todo práctico y que incluya cuestionarios después de cada tema, hojas de trabajo en las que se planteen problemas o ejercicios para asegurarme de que se entiende cada una de las ideas que se explican y plantillas para las reuniones diarias, las gráficas burndown o la comunicación con el cliente.
Cuando uno intenta plantear un curso de este tipo el primer problema con que te enfrentas es si debes orientarlo a personas que ya tienen un cierto conocimiento de Scrum o Agile porque Scrum lleva ya un tiempo en el mercado o bien crear un curso más sencillo en el que los profesionales que aún no se han decidido a implantarlo en sus proyectos tengan una guía con la que iniciarse en esto de Scrum.
Al terminar el curso quisiera que los participantes hubiesen aprendido:
  • Los roles y artefactos mínimos para una implantación gradual de Scrum.
  • Roadmap para avanzar en la implantación de Scrum.
  • Las ventajas y razones principales para usar Scrum.
  • Las dificultades más importantes a la hora de implantar Scrum y cómo resolverlas
  • Cómo sacar el máximo partido a Scrum.
También hay otras muchas cuestiones como si se prefiere que los contenidos sean de sólo texto o contenga también vídeos, si se quiere incluir asesoramiento personalizado via email o videoconferencia o descuentos por grupos para empresas. Para intentar resolver todo esto he creado un pequeño formulario/encuesta en la que puedes ayudarme a saber qué puede hacer más interesante para ti un curso como éste. En la siguiente dirección tienes un enlace a la encuesta: Encuesta Curso de Scrum Agile 101. Tienes tres minutos y me ayudas a saber qué puede ser más interesante para ti? Gracias!

Agile 101 available for pre order

New ebook, Agile 101, is already available for pre order in Kindle stores worldwide. You can find the link to the Amazon.com page here: Agile 101 – Practical Project Management. Order it now and you’ll receive your copy on 5th of November when it will be finally released.

You don’t need a Kindle device to read it, all it takes it’s to download a Kindle reader app for PC, Mac or Android from Free Kindle reading apps or just start reading in any device typing read.amazon.com in your web browser.

It is the English version of the 3rd edition of Gestión práctica de proyectos con Scrum (Spanish edition) which reached twice number 1 in sales at Amazon Spain (across all genres), and remained in the Top 100 for five consecutive days.

With Agile 101 you’ll learn:

  • The main advantages and disadvantages when implementing Scrum. The things you should bear in mind and those you should avoid.
  • How to make agile estimates.
  • How to handle the project’s budget while allowing your client to modify the required functionality.
  • The lessons I have learned during my years as a software development professional. I will tell you what I did right but also what I did wrong, so that at least you don’t make the same mistakes I did.
  • Tips and tricks to prepare for the Professional Scrum Master certification (PSM I), so you improve your chances of landing better jobs.
Begoña Martínez translated the book into English. You can also find her on her LinkedIn profileDavid Nesbitt proofread the translation.
Cover and back cover of the new edition have been designed by Alex Caja Almonacid (also cover and back covers of Spanish editions of Gestión práctica de proyectos con Scrum and Certificación Professional Scrum Master – PSM I).

Agile 101 – Practical Project Management

Suscríbete