Implementando SCRUM

Implementando SCRUM En un post anterior que publiqué, compartí con ustedes un video que encontré donde explicaban SCRUM

Views 90 Downloads 3 File size 340KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Implementando SCRUM

En un post anterior que publiqué, compartí con ustedes un video que encontré donde explicaban SCRUM en 5 minutos. Pues bien en este post vamos a detallar lo que se decía en ese video y suponiendo que quieran usarlo en una organización, darles los pasos necesarios para utilizar SCRUM. Esta metodología se basa en una filosofía del desarrollo ágil y fue creada por Hirotaka Takeuchi e Ikujiro Nonaka en el año 1986 , para desarrollo de software. SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Un principio clave de SCRUM es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan, y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, SCRUM adopta una aproximación pragmática, aceptando que el problema no puede ser completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes. Lo primero que debemos saber de SCRUM es que tiene un „lenguaje‟ propio como cualquier metodología nueva y que tiene 03 características bien definidas:

  

Roles Artefactos (documentos) Reuniones

A continuación, iremos viendo cada una de esta caracterícticas sin ir a mucho detalle. Roles SCRUM En SCRUM se definen varios roles, estos están divididos en dos grupos: cerdos y gallinas. El nombre de los grupos están inspirados en el chiste sobre un cerdo y una gallina que se relata a continuación:

Un cerdo y una gallina se encuentran en la calle. La gallina mira al cerdo y dice: “Hey, ¿por qué no abrimos un restaurante?” El cerdo mira a la gallina y le dice: “Buena idea, ¿cómo se llamaría el restaurante?” La gallina piensa un poco y contesta: “¿Por qué no lo llamamos “Huevos con jamón?” “Lo siento pero no”, dice el cerdo, “Yo estaría comprometido pero tú solamente estarías involucrada”. De esta forma, los cerdos están comprometidos a construir software de manera regular y frecuente, mientras que el resto son gallinas: interesados en el proyecto pero realmente irrelevantes porque, si éste falla, no son un cerdo, es decir, no son los que de manera comprometida ponen su propio pellejo (y carne) para sacar el proyecto adelante. Las necesidades, deseos, ideas e influencias de los roles gallina se tienen en cuenta, pero no de forma que pueda afectar, distorsionar o entorpecer el proyecto Scrum.

Dicho de la forma anterior, tenemos los siguientes roles SCRUM:





Roles cerdo o Product Owner o SCRUM Master (o Facilitador) o SCRUM Team (o El Equipo) Roles gallina o Usuarios o Stakeholders (Clientes, Proveedores, Inversores) o Managers

Los roles principales en SCRUM son: el SCRUM Master, que mantiene los procesos y trabaja de forma similar al director de proyecto, el Product Owner, que representa a los stakeholders (clientes externos o internos), y el SCRUM Team que incluye a los desarrolladores. Artefactos (Documentos) SCRUM Los artefactos o documentos con los que se trabaja en SCRUM son:

     

Visión del Producto Backlog del Producto Objetivo del Sprint Backlog del Sprint Lista de impedimentos Burndown Chart

Los artefactos importantes en SCRUM son: el Backlog del Producto, es lo QUE se va a construir y contiene las descripciones genéricas de todos los requerimientos, funcionalidades deseables, etc. priorizadas según su valor para el negocio (business value). Luego está el Backlog del Sprint es un documento detallado donde se describe el COMO el equipo va a implementar los requisitos durante el siguiente sprint. Y finalmente la Lista de Impedimentos que contiene el listado priorizado de todas aquellas cosas que disminuyen la productividad del equipo.

Reuniones SCRUM Las reuniones que se definen en SCRUM son las siguientes:

    

Reunión diaria (Daily Scrum) Scrum de scrums (Post- Daily scrum) Reunión de Planificación del Sprint (Sprint Planning Meeting) Reunión de Revisión del Sprint (Sprint Review Meeting) Retrospectiva del Sprint (Sprint Retrospective)

Las principales reuniones en SCRUM son: la Reunión diaria o Daily Scrum que tiene duración de 15 minutos y sólo los roles „cerdo‟ pueden hablar, luego está la Reunión de Planificación del Sprint o Sprint Planning Meeting donde se selecciona que trabajo hacer en el siguiene Sprint y finalmente la Reunión de Revisión del Sprint o Sprint Review Meeting donde se revisa el estado del trabajo del sprint actual. Pasos para “instalar” SCRUM Ahora cómo lo prometido es deuda, a continuación los pasos para “instalar” SCRUM en tu organización. 1. 2. 3. 4. 5. 6. 7.

Cambiar la mentalidad de la organización. Asignar roles. Configurar el sistema. Poner en marcha el sistema. Comienzo de Sprint (primer día). Desarrollo del Sprint. Finalización del Sprint.

En un siguiente post, iremos detallando cada paso. Mientras tanto les dejo esta ficha sinóptica de SCRUM:

SCRUM Cambiar la mentalidad de la organización

La semana pasada publiqué el primer post del artículo “Instalando” SCRUM paso a paso, en el cual realicé un resumen de lo que trataba SCRUM detallando sus roles (cerdos y gallinas), artefactos (documentos) y reuniones (sprints); mencionando en la última parte los pasos necesarios para que la metodología SCRUM pueda ser instalada y utilizada en una organización. Aquí hago un paréntesis para comentar que antes que nada la organización debe evaluar muy bien si SCRUM va con ella. Es decir, si la organización lleva 15 años con una metodología de desarrollo de software basado en RUP tal vez le convenga hacer una customización de la metodología adaptando los procesos, roles y artefactos a sus necesidades. En este post explicaremos todo lo relacionado al paso 1 que se definía como: Cambiar la mentalidad de la organización. Antes de decidirse a instalar SCRUM dentro de una empresa u organización, se debe plantear un debate sobre si interesa hacer el esfuerzo de realizar el cambio de mentalidad, de abrazar las metodologías ágiles, de cambiar los conceptos del pasado. Es muy importante que todos las personas, departamentos o grupos que trabajan en una empresa están de acuerdo en querer implementar Scrum, en querer modificar sus hábitos, en saber que se varían las reglas de la organización y gestión de la producción. El cambio de mentalidad para introducir Scrum es un gran paso para la empresa u organización, y debe ser asumido por todos. Scrum no se puede aplicar a medias, es un gran error, se aplica o no se aplica, no valen la medias tintas. Esto requiere un gran nivel de compromiso por parte de todas las personas implicadas. El cambio de mentalidad comienza por romper los esquemas tradicionales de: cadenas de mandos, organización de trabajo, control de la productividad, confianza en las personas, delegación de responsabilidades; en fin, una vuelta total a los planteamientos del desarrollo del software tradicional. Este cambio de mentalidad implica el hecho de ACEPTAR o RECHAZAR una forma de trabajar diferente.

SCRUM - Asignar roles

En el anterior post les explicaba que el cambio de la mentalidad de las personas que conforman la organización es bastante prioritaria, incluso me atrevo a decir que es el paso MÁS IMPORTANTE, ya que con ese paso se ACEPTA un cambio en la forma de trabajar. Como sabemos SCRUM rompe con el tradicional esquema piramidal de la organización de una empresa, dejando sin sentido la cadena de mando. En SCRUM todos están a la misma altura formando parte del mismo esfuerzo aunque con distintas funciones. En este post explicaremos todo lo relacionado al paso 2 que se definía como: Asignar roles.

Recordemos que SCRUM tiene los siguientes roles:





Roles cerdo o Product Owner (o Propietario del Producto) o SCRUM Master (o Facilitador) o SCRUM Team (o El Equipo) Roles gallina o Usuarios o Stakeholders (Clientes, Proveedores, Inversores) o Managers

Los roles gallina, es decir los clientes o usuarios no dependen de nosotros directamente, pero se tienen que tener en cuenta. En cambio con los roles cerdo tenemos que tener en cuenta el grado de funcionamiento que puede tener SCRUM en la organización y que depende directamente de estas tres condiciones:

  

Características del entorno (organización y proyecto) adecuadas para desarrollo ágil. Conocimiento de la metodología de trabajo en todas las personas de la organización y las implicadas del cliente. Asignación de responsabilidades: o Del producto. o Del desarrollo. o Del funcionamiento de Scrum

Responsabilidad del producto: El propietario del producto En el proyecto hay una persona, y sólo una, conocedora del entorno de negocio del cliente y de la visión del producto. Representa a todos los interesados en el producto final y es el responsable del Product Backlog. Se le suele denominar “propietario del producto” y es el responsable de obtener el resultado de mayor valor posible para los usuarios o clientes. Es responsable de la financiación necesaria para el proyecto, de decidir cómo debe ser el resultado final, del lanzamiento y del retorno de la inversión. En desarrollos internos puede ser el product manager, o responsable de marketing quien asume este rol. En desarrollos para clientes externos lo más aconsejable es que sea el responsable del proceso de adquisición del cliente. Responsabilidad del desarrollo: SCRUM Team Todo el equipo de desarrollo, incluido el propietario del producto conoce la metodología Scrum, y son los auténticos responsables del resultado. Es un equipo multidisciplinar que cubre todas las habilidades necesarias para generar el resultado. Se auto-gestiona y auto-organiza, y dispone de atribuciones suficientes en la organización para tomar decisiones sobre cómo realizar su trabajo. Responsabilidad del funcionamiento de Scrum: SCRUM Master La organización debe garantizar el funcionamiento de los procesos y metodologías que emplea, y en este aspecto Scrum no es una excepción. En el modelo de Scrum definido por Jeff Sutherland, esta responsabilidad se garantiza integrando en el equipo una persona con el rol de ScrumMaster. Considerando que las realidades de unas y otras empresas pueden ser muy diferentes, y que siempre que sea posible es mejor optar por adaptar las prácticas de trabajo a la empresa, y no al revés, en ocasiones puede resultar más aconsejable: Que en lugar de una persona con la función de “ScrumMaster”, sean las personas y puestos más adecuados en cada organización los que reciban la formación adecuada y asuman las funciones correspondientes para cubrir esta responsabilidad. Que al compromiso de funcionamiento del proceso se sume también la dirección de la empresa, con el conocimiento de gestión y desarrollo ágil; y facilitando los recursos necesarios. SCRUM Master designa por tanto, más que al rol, a la responsabilidad de funcionamiento del modelo. Puede ser a nivel de proyecto o a nivel de la organización; y en algunos casos resultará más apropiado un rol exclusivo (tipo ScrumMaster) y en otros, puede ser mejor que la responsabilidades de funcionamiento las asuman los responsables del departamento de calidad o procesos, o del área de gestión de proyectos.