Scrum Master

Scrum Master

En este post explicaremos qué es un Scrum Master en Quarksoft, sus responsabilidades dentro del equipo ágil, así como las actividades en las que debe enfocarse para garantizar el logro de los objetivos.

¿Qué es un Scrum Master?

De manera general, un Scrum Master es el coach del equipo, también conocido como facilitador del proyecto. Será la figura que lidera y guía al equipo en la ejecución de las prácticas ágiles durante el proyecto con el fin de alcanzar los objetivos establecidos.

Apoya al equipo en resolver cualquier impedimento que se les presente para que al término de cada sprint se entregue la funcionalidad esperada que le da valor al cliente.

¿Qué hace un SM en Quarksoft adicional al rol convencional?

En Quarksoft contamos con una metodología ágil para administrar nuestros proyectos que es una combinación de varios frameworks o metodologías como SCRUM, Kanban, PSP y TSP principalmente. Debido a esto, existen varias tareas o funciones adicionales que nuestro Scrum Master hace:

  1. Garantizar la completitud y confiabilidad de los datos recolectados por el equipo (tiempos, tamaños, defectos y US Points terminados).
  2. Realizar análisis cuantitativos de las métricas obtenidas combinando los datos recolectados.
  3. Generar análisis de causas y resolución de problemas para poder definir estrategias correctivas, pero principalmente preventivas.
  4. Utilizar técnicas estadísticas para analizar la información recolectada.
  5. Realizar auditorias internas al equipo del apego al proceso definido.

¿Cuáles son las principales responsabilidades de un Scrum Master en Quarksoft?

Entre sus principales responsabilidades están:

  • Conocer la metodología Agile by QS.
  • Facilitar las juntas de las diferentes ceremonias: Sprint Planning, Sprint Review, Sprint Retrospective, Daily, Backlog Grooming.
  • Dar seguimiento a los riesgos identificados.
  • Resolver cualquier impedimento que tenga el equipo.
  • Ayudar al Product Owner a gestionar el Product Backlog.
  • Asegurar que los recursos necesarios están disponibles para el equipo.
  • Trabajar de la mano con el Product Owner.
  • Retroalimentar al equipo en cuanto a su rendimiento y determinar áreas de mejora.
  • Realizar análisis cuantitativos de la información que recolecta el equipo para que en conjunto tomen decisiones más asertivas.
  • Gestionar las propuestas de mejora que el equipo proponga y analizar los resultados obtenidos.
  • Decidir si se realiza alguna adecuación al proceso definido.

Por lo tanto, un Scrum Master debe contar con un conjunto de habilidades como:

  • Capacidad para resolver problemas.
  • Adaptabilidad para conseguir el mejor resultado según las circunstancias.
  • Talento para mantener al equipo motivado.
  • Facilidad de comunicación.
  • Ser una persona organizada, para poder gestionar reuniones, tareas, planes, etc.
  • Capacidad analítica para poder identificar las causas de los problemas o defectos que se presenten comúnmente en el proyecto basándose en las métricas generadas por el equipo.
  • Apego a procesos.

Si quieres saber más del tema te recomendamos acercarte a nuestra área de Desarrollo Operativo e Innovación (DOI) para conocer más sobre Agile by QS.

 

Product Owner

Product Owner

En esta ocasión explicaremos qué es un Product Owner, sus principales actividades y por qué es tan importante su participación al estar ejecutando un proyecto ágil.

¿Qué es un Product Ower?

Es uno de los roles más importantes al desarrollar proyectos ágiles, es responsable de optimizar el valor del producto que será desarrollado y de defender y comunicar “la voz del cliente”.

Su participación debe garantizar que el equipo aporte auténtico valor al proyecto, administrando de manera correcta el Product backlog y definiendo las características y funcionalidades que tendrá el producto. Por lo tanto, debe ser una persona muy estratégica capaz de entender y visualizar el proyecto completo y la funcionalidad esperada, identificar lo realmente importante, estructurarlo y priorizarlo.

Debe enfocarse en garantizar la mejora constante del producto y que éste se mantenga alineado con la parte estratégica de su organización. 

¿Por qué un Product Ower es importante?

Entendiendo el rol y las actividades que desempeña queda claro que la colaboración y comunicación entre él y el equipo es vital para que el proyecto sea exitoso. Sin embargo, es importante entender que el Product Owner no es el jefe del equipo de desarrollo ni del Scrum Master, sino un colaborador que de igual a igual, vela por el éxito del proyecto.

Su participación es de vital importancia en varios momentos del sprint:

    • Durante el Sprint Planning muestra las Historias de usuario y sus criterios de aceptación y deja claro al equipo el alcance esperado del sprint.
    • En las Backlog Grooming va refinando para el equipo las historias de usuario y puede apoyarse de los stakeholders que tengan mayor dominio de la regla de negocio para establecer el nivel de detalle adecuado.
    • Durante los trabajos del sprint, resuelve las dudas al equipo de desarrollo.
    • En la Sprint Review, donde el equipo le muestra el trabajo terminado, valida que se hayan cumplido los criterios de aceptación.
    • En cualquier momento del proyecto, es el único responsable de actualizar y priorizar el backlog.

 

¿Cuáles son las principales responsabilidades de un Product Ower?

Entre sus principales responsabilidades están:

    • Tener una participación activa y de colaboración con el equipo de desarrollo y el Scrum Master.
    • Mantener el Product backlog en buen estado, es decir que esté actualizado, priorizado y claramente definido.
    • Definir el contenido y la funcionalidad que el equipo de desarrollo deberá implementar cada sprint según lo que mayor importancia tenga para el proyecto y lo que da más valor.
    • Estar disponible para resolver las dudas durante el desarrollo.
    • Garantizar la calidad del producto y la completitud del mismo definiendo los criterios de aceptación de cada Historia de Usuario al inicio y validándolos al momento de la entrega.
    • Ser el único medio de comunicación entre los involucrados del proyecto (stakeholders) y el equipo de desarrollo. Evitar con esto múltiples canales de comunicación que solicitarán tareas sin prioridad y/o cambios de contexto que solo provocarán desperdicios.
    • Garantizar que cada Historia de Usuario está bien definida, con un alcance claro y con criterios de aceptación entendidos por todos.
    • Tener siempre una visión a largo plazo, para poder controlar el sprint actual, el siguiente, el producto backlog completo y al mismo tiempo siempre mantenerse alineado a la estrategia de su organización.
    • Ser capaz de entender las ideas, peticiones y funcionalidades que todos sus stakeholders le solicitan para comunicarlas y definirlas de manera correcta al equipo de trabajo.

Por lo tanto, un Product Owner debe conocer perfectamente las actividades a desempeñar durante el proyecto, es necesario que esté capacitado en los procesos y ceremonias que serán ejecutados para garantizar que se desarrolla el producto esperado dando el mayor valor a su organización.

Debe poder decidir qué incluye y qué no incluye en el proyecto, saber decir NO a una petición de un usuario, gerente o cualquier stakeholder si ésta no aporta valor.

Para finalizar, es importante que se aclare lo que un Product Owner no debería:

    • Dejar que el equipo o el Scrum Master definan las Historias de Usuario y sus criterios de aceptación.
    • Cambiar prioridades durante el sprint.
    • Cuestionar al equipo las estimaciones de las Historias de Usuario.
    • Asignar las historias de usuarios a los integrantes del equipo.
    • Querer involucrarse en las decisiones técnicas de cómo el equipo dará solución a la funcionalidad solicitada.

Si quieres saber mas del tema te recomendamos acercarte a nuestra área de Desarrollo Operativo e Innovación (DOI).

 

 

 

Implementando agilidad con prácticas nivel 5 de CMMI

Implementando agilidad con prácticas nivel 5 de CMMI

Quarksoft y Contexto de Aplicación.

 

Quarksoft fue fundada en el 2001 con los principios de Personal Software Process (PSP) y Team Software Process (TSP) en donde la propuesta de PSP para la calidad de productos de software es el enfoque en las habilidades individuales de los desarrolladores, su compromiso y disciplina hacia el proceso personal y como consecuencia la formación de equipos auto-dirigidos comprometidos con la calidad de los productos generados.

Uno de los diferenciadores de QS ha sido su enfoque en programas de mejoramiento de procesos de software para generar productos de la más alta calidad que logren la satisfacción del cliente por lo tanto con base en los principios de PSP y TSP hemos establecido procesos de desarrollo de SW con enfoque en la administración cuantitativa que facilitan y mejorar la toma de decisiones.

Nuestros procesos de software se han caracterizado por estar alineados al modelo CMMI.
Desde 2005 hemos obtenido evaluaciones exitosas del modelo CMMI DEV y actualmente mantenemos vigente esa evaluación. 

Fecha

Evaluación SCAMPI CMMI-DEV

9 de Diciembre del 2005

SCAMPI A Nivel 3

27 de Febrero del 2009

SCAMPI A Nivel 3

Septiembre 2010

SCAMPI B continuo

Marzo 2012

SCAMPI A Nivel 5 CMMI-DEV v1.3

8 de Mayo del 2015

SCAMPI A Nivel 5 CMMI-DEV v1.3

4 de Mayo del 2018

SCAMPI A Nivel 5 CMMI-DEV v1.3

 La utilización de marcos de referencia que fomentan el uso de métricas nos ha dado una experiencia profunda en la administración cuantitativa de proyectos de software y tecnología en general.

 

Aplicando agilidad con prácticas nivel CMMI5.

 

Desde hace algunos años nos hemos enfocado en transformar nuestros procesos estándar de desarrollo de SW y gestión de proyectos hacia un esquema ágil que nos permita maximizar la satisfacción de nuestros clientes con un enfoque en la entrega de valor constante y en periodos cortos. Como objetivo nos hemos planteado fortalecer las prácticas ágiles con la amplia experiencia organizacional en recolección, validación, análisis y reporteo de datos históricos así como el uso de técnicas estadísticas para administración cuantitativa que cubra en mayor grado las necesidades de nuestro mercado actual.

Con ese contexto hemos experimentado que nuestras prácticas ágiles se han beneficiado y retroalimentado con la integración de prácticas relacionadas con el nivel 5 del modelo CMMI v2.0, donde la base fundamental de la administración cuantitativa se sustenta en la  recolección de información y su utilización para medir el desempeño de los procesos alineados a objetivos organizacionales y de negocio.

Si bien se han mantenido las métricas propuestas en agilidad y por el marco de referencia SCRUM como “Lead Time”, velocidad de equipo, frecuencia de liberación entre otras también hemos logrado definir métricas complementarias a nuestro contexto y necesidades de medición que nos permitan obtener una mayor claridad en el logro del cumplimiento de nuestros objetivos organizacionales de desempeño. 

Específicamente hemos  complementando nuestras prácticas con métricas básicas como tiempo, tamaño y defectos relacionados con las actividades y tareas de desarrollo. Además hemos mantenido prácticas relacionadas con la “Practice Area” (PA) de Administración del Desempeño y Medición (MPM) con las cuales las prácticas ágiles relacionadas con medición se detallan con una descripción clara sobre su relación con el objetivo organizacional, su descripción operativa y la manera en la que soportan el análisis de información hacia una toma decisiones  más efectiva. Además con prácticas relacionadas con la PA de Medición hemos podido alinear prácticas en toda la organización lo cual nos permitirá comparar información a través de diferentes proyectos.

Con prácticas en general de nivel 3 de CMMI buscamos escalar la agilidad de una manera más estructurada  a lo largo de toda la organización, a través de diferentes proyectos e industrias y compartiendo experiencias y lecciones aprendidas en el uso de ceremonias ágiles.

Nuestro cambio y transformación organizacional hacia la agilidad está sustentado en un programa de gestión del cambio basado en “Lean Change Management” que ha facilitado el proceso de cambio.

 Finalmente es importante resaltar que nuestro proceso ágil ha sido sustentado y soportado por una herramienta propietaria de gestión de proyectos ágiles que facilita la recolección de información, generación de métricas, integración de prácticas, ceremonias, experiencias y lecciones aprendidas.