Definitive Guide To Scrum Development (Guía definitiva para el desarrollo Scrum)

El desarrollo Scrum evita la microgestión por parte de los superiores y hace que los desarrolladores sean responsables de su trabajo, evitando los métodos tradicionales de gestión del desarrollo de software. El resultado final es un producto de software que parece ser suficiente, tiene todas las características solicitadas y funciona como se espera.

En este artículo, vamos a explorar el desarrollo de Scrum, su marco y cómo los elementos de Scrum trabajan juntos para crear un marco para el desarrollo de software.

¿Qué es el desarrollo con Scrum?

En lugar de seguir los métodos de gestión convencionales, Scrum gestiona el desarrollo de software utilizando técnicas ágiles. Scrum da al equipo de desarrollo la libertad de resolver los problemas sin la participación de la dirección, en lugar de seguir los métodos de gestión tradicionales. Se anima a todo el mundo a actuar como un jugador de equipo y a contribuir a la resolución de problemas, lo que da lugar a un resultado aceptable.

Scrum toma prestado su nombre del juego de rugby. Un scrum es una formación de jugadores que consiste en juntar los brazos y agachar la cabeza para empujar a un grupo similar de jugadores de la oposición. La pelota de rugby se introduce en el scrum y comienza el juego. Ningún individuo es responsable de cómo se desarrolla el juego, y es este juego de rugby en particular en el que se basa el desarrollo del Scrum.

La mayoría de los modelos de desarrollo de software se basan en la jerarquía del equipo y la progresión hacia adelante. Este modelo consiste en capas crecientes de información y responsabilidad que comienzan en la parte inferior y se abren camino hacia el nivel de gestión. Los empleados de la parte inferior realizan sus tareas y deberes y se centran en cumplir una fecha específica de finalización. La dirección es responsable de asegurar que el trabajo avanza e informa a la alta dirección sobre el progreso. En resumen, se sigue un flujo de trabajo predecible y una cadena de mando para entregar un producto en una fecha determinada.

Scrum aborda el desarrollo de software de forma diferente, creando una atmósfera de desarrollo ágil que prescinde del método tradicional de desarrollo de software. En el modelo Scrum de desarrollo de proyectos, el equipo de desarrollo se libera de la supervisión de la dirección y se le da el control del proceso de desarrollo. Esto da al equipo la capacidad de resolver sus problemas de la mejor manera posible y de determinar su propio calendario sobre el tiempo que le llevará llegar al objetivo final.

¿Qué es el glosario de Scrum?

El glosario de Scrum consiste en términos que son una descripción abreviada de los elementos de desarrollo de Scrum. Algunos se consideran de uso obligatorio, tales como el backlog del producto y los sprints, mientras que otras palabras se añaden porque se utilizan comúnmente en conjunción con los elementos de Scrum. Algunos de los términos incluyen:

  • Gráfico de Burndown: Muestra cuánto trabajo queda en un backlog
  • Scrum diario: Explica el plan para el siguiente día de trabajo durante un periodo de sprint
  • La cartera de productos: Indica la lista ordenada de trabajos que hay que hacer en apoyo del producto
  • Deuda técnica: Se refiere a los gastos generales de mantenimiento de un producto

Los términos del glosario son intrínsecos al uso de Scrum como modelo de desarrollo. Son un método verbal y escrito de taquigrafía de software que indica al lector lo que está sucediendo en una o dos palabras en lugar de muchas. El uso de las palabras en el glosario puede ahorrar tiempo y puede ayudar a asegurar que todos en el equipo se entienden.

Los fundamentos del desarrollo Scrum

Los diseñadores de Scrum consideraron que los métodos tradicionales de desarrollo de software eran excesivos y no propiciaban la creación de software de calidad. Demasiado control sobre el equipo de desarrollo por parte de la dirección puede ralentizar los procesos, aumentar el coste global de la producción y limitar al equipo a la hora de crear el mejor producto posible.

El desarrollo de Scrum libera al equipo de desarrollo de la estructura de gestión y da a todos los miembros del desarrollo el control de sus funciones de desarrollo. El equipo de desarrollo se divide en varios grupos que se centran en una tarea determinada, y luego se reúne con otros grupos que están desarrollando su parte del producto para discutir el progreso y la integración. Los equipos son más flexibles, pueden poner más creatividad en el producto y se centran en crear un software de calidad.

Relacionado: Relacionado: Aprenda a ser un ingeniero de software

Marco de desarrollo de Scrum

El marco de desarrollo de Scrum reduce el papel de la dirección en las actividades diarias de un equipo de desarrollo de software y deja que el equipo tome sus propias decisiones en cuanto a las tareas de un plazo determinado conocido como sprint. Hay una variedad de procesos y técnicas que pueden emplearse, y utilizarse según sea necesario, dentro del marco de trabajo en lugar de ser requeridos por la dirección.

El marco del proceso de Scrum comienza con la revisión del sprint, pasa a la retrospectiva del sprint y luego a la evaluación del backlog del producto y de las características priorizadas en el producto. El trabajo avanza a lo largo del marco y el sprint se revisa regularmente para asegurarse de que se están cumpliendo los objetivos y de que el producto estará listo el día previsto para su lanzamiento. Este es un desglose del marco de trabajo:

Principales componentes de Scrum

Los artefactos de Scrum’definen el proceso general de desarrollo. Incluyen:

  • Artefacto principal: Es el producto que se está desarrollando.
  • 4. Backlog del producto: Se crea un backlog al principio del proceso de desarrollo.
  • Gráficos de Burndown de Sprint y Release: Los gráficos de burndown del sprint y del lanzamiento hacen un seguimiento de cuánto trabajo queda en un sprint que lleva al lanzamiento del producto.

Valores y pilares de Scrum

Cuando todos los valores son respetados y encarnados por el equipo Scrum, los pilares de Scrum también cobran vida.

Los valores de Scrum incluyen:

  • Compromiso
  • Ánimo
  • Enfoque
  • Apertura
  • Respetar

Los pilares de Scrum incluyen:

  • Transparencia
  • Inspección
  • Adaptación

El desarrollo de Scrum gira en torno a que todos pongan lo mejor de sí mismos y se comprometan con el proyecto con todo lo que tienen. Los equipos se liberan de la supervisión de los directivos, lo que significa que todos los individuos tendrán que hacerse responsables del trabajo que se traza en el sprint. Lo ideal es que todo el mundo esté de acuerdo en centrarse en el trabajo, ser abierto sobre los desafíos que implica la realización del trabajo y respetarse mutuamente como individuos capaces e independientes.

Encajar los roles en el desarrollo de Scrum

Los empleados que desempeñan funciones de desarrollo de software suelen tener títulos tradicionales que definen sus funciones laborales. Sin embargo, estos títulos tradicionales no encajan con los títulos Scrum de propietario del producto, equipo de desarrollo, equipo Scrum y Scrum master. Cada rol tradicional puede encajar fácilmente en el marco de Scrum con un pequeño cambio de sus expectativas.

Alguien que fue líder de equipo puede encajar fácilmente en un papel de Scrum master, mientras que los equipos Scrum son pequeños grupos de desarrolladores que trabajan juntos en el mismo proyecto. Algunos pueden encontrar que pueden tener múltiples títulos de desarrollo de Scrum a lo largo de un sprint y cambiar los roles según sea necesario.

Relacionado: Más información sobre cómo ser un desarrollador web

Creación de un sprint Scrum

El sprint es el núcleo del modelo de desarrollo de Scrum. Comienza con una reunión de planificación del sprint en la que todo el equipo se reúne para definir qué trabajo hay que hacer durante el sprint. Esto se conoce como el backlog. En lugar de ver el trabajo que hay que hacer como una lista de comprobación, el trabajo se considera como una lista de tareas pendientes que hay que despejar antes de pasar a la siguiente etapa del proyecto.

Un sprint dura entre semanas y un mes, dependiendo de la cantidad de tiempo que se necesite. La idea detrás de un sprint es mantener el trabajo en el plazo más corto posible mientras se obtiene la máxima cantidad de esfuerzo de los empleados. Scrum prefiere mantener los sprints a un mes con el fin de lograr los objetivos. Sin embargo, el concepto central de Scrum es ser flexible y ágil. Si se necesita más tiempo, hay que crear un nuevo sprint.

El objetivo de un sprint se establece durante la creación del product backlog, pero no es absoluto. Si es necesario ajustar el backlog del producto o el sprint, el equipo puede hacerlo en cualquier momento.

El scrum master crea un calendario para el sprint. La función del scrum master es mantener la caja, recordar al equipo de desarrollo cuánto tiempo queda en el sprint y asegurarse de que el equipo sigue las mejores prácticas y procesos que se establecieron al principio del sprint. El scrum master también se comunica con el propietario del producto y lo pone al día sobre el progreso del equipo de desarrollo.

Relacionado: 10 preguntas y respuestas de la entrevista de Scrum

Elementos de un sprint

El objetivo de un sprint es completar un producto que sea utilizable y tenga el potencial de ser lanzado al mercado una vez completado. Los sprints durante un ciclo de desarrollo duran la misma cantidad de tiempo sin importar si hay un sprint o varios. Si un sprint dura dos semanas, entonces cada sprint sucesivo también dura dos semanas. Cuando un sprint termina, el siguiente comienza inmediatamente después.

Un sprint se compone de la planificación del sprint⁠—que puede durar hasta ocho horas—los scrums o revisiones diarias del trabajo realizado y de lo que queda por hacer, el trabajo en sí, la revisión al final del sprint y la retrospectiva del sprint, que examina el trabajo realizado durante el mismo.

Los sprints vienen acompañados de un conjunto de reglas que es imprescindible seguir una vez que el sprint se pone en marcha. Esas reglas incluyen:

  • No se permiten cambios si ponen en peligro el objetivo del sprint.
  • Los objetivos de calidad no se pueden rebajar.
  • El alcance del proyecto puede aclararse y renegociarse entre el equipo de desarrollo y el propietario del producto a medida que avanza el trabajo y se descubre información.

Un sprint es un proyecto, y un proyecto es un sprint. Sin embargo, cada sprint tiene un enfoque específico y tiene que ceñirse a ese enfoque de principio a fin. Cada sprint sólo puede durar un mes natural. Se considera que un horizonte temporal más largo hace que los grupos del sprint pierdan el foco y corran el riesgo de retrasarse en el trabajo. Si se necesita otro sprint después del inicial, el equipo puede empezar con una nueva reunión del sprint para evaluar y determinar lo que hay que hacer a continuación para seguir desarrollando el producto. El scrum master hace un seguimiento de todos los progresos y se mantiene en contacto con el propietario del producto para conocer el estado del mismo.