miércoles, 21 de enero de 2015

                                                                Yolanda Euzárraga
                          Directora del Centro Avanzado de Ingeniería de software (C.A.I.S)

Ágil, es la palabra que la mayoría de los directores de tecnología de grandes corporaciones tiene en mente cuando piensa en hacer alguna innovación en sus modelos de desarrollo de software, y una crítica recurrente a las metodologías que no nacieron con la etiqueta de “ágil”, es que, la  adopción de las metodologías como Personal Software Process (PSPSM)  y Team Software Process (TSPSM)  puede parecer ir en contra de los principios y prácticas del movimiento ágil.

Sin embargo el enfoque PSP/TSP no los contradice, si no que, se puede alinear muy bien con ellos y  ofrece otros beneficios que aportan mejora continua a los modelos de desarrollo a través de la mejora de personas, equipos y organizaciones.

La metodología ágil más usada actualmente es Scrum, por lo que revisaremos los principios de esta metodología y sus semejanzas con TSP.

Aunque Scrum se basa en los conceptos de procesos empíricos y TSP está basado únicamente en procesos definidos, su aplicación es sorprendentemente similar, ambas metodologías:

·         Promueven negociación con la gerencia acerca de las características prioritarias frente las fechas y estimación del equipo.
·         Equipos pequeños auto-gestionados, y auto-motivados (<10) proactivos y con la completa confianza de la gerencia.
·         Granularidad de las tareas.
·         Añadir nuevas tareas según sea necesario y eliminar tareas que ya no son necesarias.
·         Los  puntos abiertos  (issues) son identificados y asignados (No resueltos) en reuniones cortas.
·         Mejora continua de Procesos vía retrospectiva.

Existen también similitudes en la planeación y ejecución de los proyectos con ambas metodologías.

Similitudes en la planeación del Proyecto:

·         Scrum: Reunión de “Planeación de Sprint”, fase de planeación inicial con un “Arquitecto Chief ” y un borrador de Arquitectura.
·         TSP: “Lanzamiento/Relanzamiento”, Diseño Conceptual y “Administrador de Diseño” identificado en el Lanzamiento.

·         Scrum: “Sprints” en base a: Un objetivo y a un Producto liberado visible y usable.
·         TSP: “Re-Lanzamiento” en base a: Uno o más objetivos de equipo, Productos de trabajo que se desarrollarán en la fase.

·         Scrum: Lista de tareas actuales que deben ser realizadas (Sprint Backlog) y requerimientos del proyecto (product Backlog).
·         TSP: Lista de tareas para un corto plazo (fase) y tareas para un plazo mayor.

·         Scrum: Identificación de riesgos al inicio del sprint.
·         TSP: Identificación de riesgos, planes de mitigación y contingencia en lanzamientos y re-lanzamientos.

·         Scrum: Observa sprints anteriores para hacer la planeación del sprint actual.
·         TSP: Planeación y estimación basada en datos anteriores.


Similitudes en Ejecución del proyecto:

·         Scrum: Reunión diaria de entre 15 y 30 min.
·         TSP: Reunión de seguimiento semanal de 1 hora.

·         Scrum: Rol “Scrum Master”.
·         TSP: Roles : Facilitador, Time Keeper, Secretario, Administrador de planeación, Administrador de Procesos, Coach de TSP.

·         Scrum: Backlog para monitorear el avance.
·         TSP: Valor Ganado EV(Planeado, Real, Predictivo) para monitorear avance.

·         Scrum: Eliminar obstáculos , discutir riesgos e issues.
·         TSP: Monitoreo, mitigación y contingencia de riesgos e issues.

·         Scrum: Promueve la iniciativa de los miembros del equipo.
·         TSP: Balanceo de carga de trabajo dinámica.

·         Scrum: "Reunión de Revisión de Sprint" - informal, incluye Demo - y retrospectivo.
·         TSP: “Fase de Postmortem” qué se realizó?, qué no se hizo bien?, captura de datos y lecciones aprendidas.


Metodologías de gestión de proyectos como TSP, no sólo logran los beneficios de las prácticas ágiles si no que además aportan otros beneficios que impactan en la mejora continua real de las organizaciones en el desarrollo de software donde:

·         TSP posee un enfoque de identificación y corrección temprana de defectos para entregar productos de muy alta calidad.
·         En TSP interesa que todos los miembros del equipo mejoren su proceso personal de desarrollo.
·         Es importante recolectar datos históricos de esfuerzo, calendario, tamaño y Calidad.
·         Seguimiento y monitoreo de riesgos, como enfoque para mejorar el cumplimiento de los compromisos.



Así que, la próxima vez que alguien cuestione la agilidad de Team Software Process, la mejor respuesta que podemos dar es: TSP es tan ágil como tu proyecto lo necesite!!!

0 comentarios:

Publicar un comentario