fundamentos

Slides y video del seminario de métodos ágiles en La Salle

Enlaces a los slides y video del seminario de gestión ágil de proyectos y trabajo en equipo (Scrum, Lean, Kanban, XP), realizado en La Salle:

Agile warm up

 

A continuación se puede encontrar el enlace a una presentación de "calentamiento" a la introducción de métodos ágiles: Agile warm up.

agile-warm-up

Presentación de métodos ágiles “La alternativa ágil – V5.3”

La pasada semana impartí un curso de métodos ágiles (Scrum y Kanban, con unas pinceladas de Lean y XP) en el marco de los Executive Education - Custom Programs de La Salle Business Engineering School (Universidad Ramon Llull, Barcelona).

la-alternativa-agil-V5.3

Priorización de los requisitos por valor y coste

Para que un proyecto proporcione el mejor resultado posible, y como soporte fundamental al control empírico del proyecto, es necesario repriorizar los requisitos de manera regular, cada iteración, según el valor que proporcionan al cliente en ese momento y su coste estimado de desarrollo.

Triángulo de hierro

En todo proyecto existen 3 variables relacionadas, el llamado “triángulo de hierro”:

  • El alcance: cuántos requisitos o tareas hay que realizar
  • El tiempo o planificación: cuánto durará el proyecto
  • El coste o recursos: cuanto dinero, personas, etc. se dedicará al proyecto.
Para mantener unos objetivos de calidad determinados, cualquier modificación en una de las 3 variables implica la modificación de alguna(s) de las otras dos.
 
 

Timebox

La técnica del timebox consiste en fijar el tiempo máximo para conseguir unos objetivos, tomar una decisión o realizar unas tareas, y hacer lo mejor que podamos en ese intervalo. De esta manera, en lugar de ponerse a trabajar en algo hasta que esté hecho, de antemano se acuerda sólo se dedica un tiempo limitado.

La consciencia de esta limitación temporal favorece la priorización de objetivos/tareas y fuerza la toma de decisiones.
 
timeboxing
 

Control predictivo vs control empírico

La complejidad de un proyecto puede depender de diferentes factores como, por ejemplo:

  • Requisitos poco definidos, ambiguos, incompletos, poco maduros o cambiantes.
  • Tecnologías nuevas, inestables o con muchos elementos diferentes a integrar.
  • Personas trabajando juntas con diferentes habilidades técnicas, experiencia, formación, valores, motivaciones, inteligencia, habilidades sociales, de skills de relaciones interpersonales [1], de enfoques de gestión [2], diferentes vidas personales, disponibilidad, diversidad de criterios, ... y todo esto en organizaciones con culturas determinadas que pueden estar más cerca o más lejos de la manera natural de trabajar de cada una de estas personas.
complejidad
 
El control predictivo y el control empírico son diferentes enfoques de la gestión de la complejidad de los proyectos. En comparación a los procesos de control empírico (como los utilizados en Scrum), los procesos predictivos tradicionales en cascada suelen ser más burocráticos y realizar una gestión peor de las expectativas del cliente.

Desarrollo iterativo e incremental

En un desarrollo iterativo e incremental el proyecto se planifica en diversos bloques temporales (en el caso de Scrum de un mes natural o hasta de dos semanas, si así se necesita) llamados iteraciones.

Las iteraciones se pueden entender como miniproyectos: en todas las iteraciones se repite un proceso de trabajo similar (de ahí el nombre “iterativo”) para proporcionar un resultado completo sobre producto final, de manera que el cliente pueda obtener los beneficios del proyecto de forma incremental. Para ello, cada requisito se debe completar en una única iteración: el equipo debe realizar todas las tareas necesarias para completarlo (incluuyendo pruebas y documentación) y que esté preparado para ser entregado al cliente con el mínimo esfuerzo necesario. De esta manera no se deja para el final del proyecto ninguna actividad arriesgada relacionada con la entrega de requisitos.

En cada iteración el equipo evoluciona el producto (hace una entrega incremental) a partir de los resultados completados en las iteraciones anteriores, añadiendo nuevos objetivos/requisitos o mejorando los que ya fueron completados. Un aspecto fundamental para guiar el desarrollo iterativo e incremental es la priorización de los objetivos/requisitos en función del valor que aportan al cliente.

 

valor-negocio-iterativo-incremental

Historia de Scrum

El concepto de Scrum tiene su origen en un estudio de 1986 [1] sobre los nuevos procesos de desarrollo utilizados en productos exitosos en Japón y los Estados Unidos (cámaras de fotos de Canon, fotocopiadoras de Xerox, automóviles de Honda, ordenadores de HP y otros). Los equipos que desarrollaron estos productos partían de requisitos muy generales, así como novedosos, y debían salir al mercado en mucho menos del tiempo del que se tardó en lanzar productos anteriores. Estos equipos seguían patrones de ejecución de proyecto muy similares. En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboración entre los jugadores de Rugby y su formación de Scrum (melé en español).

scrum-rugby

Syndicate content