viernes, 5 de diciembre de 2014

Incepción Ágil: estimación global

Tamaño

Ahora que ya tenemos una idea general del alcance, el tipo de solución a construir, y los riesgos principales que anticipamos, podemos empezar a pensar qué tan grande será el proyecto.

Nuevamente dividimos equipos (recordemos que lo ideal es combinar gente diferente a lo largo de la Incepción) y cada grupo hace una estimación de alto nivel, teniendo en cuenta:

  • ¿Cuánta gente necesitamos en el equipo? ¿Cómo debería estar compuesto?
  • Si vamos a ejecutar con Scrum, podemos pensar quienes serían el Scrum Master y el Product Owner
  • Dado ese equipo que imaginamos ¿Cuánto tiempo duraría el proyecto?

Aquí cabe una aclaración: el equipo final deberá revisar la estimación, pero como estamos pensando un proyecto ágil, lo importante es que sabemos que en el tiempo que pensemos no esperamos resolver necesariamente todo el alcance, si no lo más valioso del alcance, por lo que aceptamos que no sabemos el detalle total. Es importante que todos los participantes comprendan que no están tomando una decisión, sino realizando un ejercicio para analizar lo que el proyecto implica. 

  • Podemos pensar alternativas de equipos y fases, e incluso alternativas de solución, para diferentes extensiones de proyecto.

Al finalizar, y una vez que cada grupo expuso su estimación, se discuten y seleccionan las mejores alternativas, para usarlas como referencia, y probablemente tomemos un márgen de unas a otras.

El objetivo que buscamos es tener un rango general:

  • ¿será un solo equipo de 5~6 personas?
  • ¿serán 4 equipos de 8~9?
  • ¿podemos tener resultados en 6 semanas, 6 meses, 2 años?
  • ¿tenemos una idea al menos general de qué es lo más valioso resolver en cada etapa?

Aunque suene insistente, esto nos sirve para discutir si el proyecto es viable o no según estos parámetros, y eventualmente revisar algunos de los ejercicios anteriores. Como esto es una Incepción Ágil, sabemos que todo va a tener variaciones cuando el proyecto comience, y sobre todo cuando se entreguen los primeros resultados y el proceso de aprendizaje se potencie.

jueves, 4 de diciembre de 2014

Incepción Ágil: manejo de riesgos

Los Miedos

Llegamos a la actividad de la Incepción donde nos dividimos en grupos y nos ponemos todos el sombrero negro, pensando en todo lo que puede salir mal.

Trataremos de discutir todo lo que potencialmente podría quitarnos el sueño durante el proyecto, desde todos los puntos de vista. La gente de tecnología aportará riesgos de conocimiento del equipo, de complejidad tecnológica, de requisitos difíciles por distintos temas; la gente de seguridad pensará en las vulnerabilidades, potenciales brechas, criticidad de datos; la gente de negocio analizará costos, oportunidades, dependencias con otras áreas, necesidad de flexibilidad; y así diferentes actores expondrán miedos respecto al inicio, desarrollo, puesta en marcha, ejecución, mantenimiento y evolución del proyecto.

Al finalizar, cada grupo comparte los resultados y volvemos a tener una discusión abierta en la que tratamos de consensuar cuáles son los principales problema potenciales, y anotamos algunas de las medidas con las que podríamos mitigarlos.

 

miércoles, 3 de diciembre de 2014

Incepción Ágil: ¿y entonces qué hacemos?

La Solución

Esta actividad de la Incepción se puede realizar en grupos si tenemos gente con buena visión técnica como para ayudar en conceptualizar la solución a desarrollar.

Cuando digo "técnica" me refiero al punto de vista de lo que vamos a construir (si es un sistema, un arquitecto o líder técnico; si es de marketing o publicidad, un diseñador o experto en campañas; si es un proceso, alguien experto en ese área).

Si en la audiencia contamos con una sola persona con esas características, podemos realizar esta actividad todos juntos. La idea es que en grupo, y con la ayuda del experto, analizamos el tipo de solución a construir, a muy alto nivel.

Como la mayoría de los lectores de este blog están vinculados al software, tomemos un ejemplo de ese mundo, y supongamos que el equipo elabora un clásico diagrama de componentes, indicando que va a haber un servidor web, que hablará con una aplicación existente, que conecta con tales bases de datos e integra los servicios X, Y y Z...

Tal vez aparezcan detalles de seguridad, o se sugiera mover algo a una nube, o utilizar algún tipo de tecnología, y lo importante de exponerlo ante todos es que surjan dudas como:

  • ¿Y eso funciona en un Iphone?
  • No se si conviene conectar con Siebel... eso quiere decir que si el proyecto del CRM se demora, nosotros también
  • Antes de poner esos datos en la nube, deberíamos consultar con legales ¿Podemos dejar eso en una base local y mover lo demás?
  • Creo que en el proyecto ZYX ya resolvieron esa interconexión ¿podemos pedirles ayuda?

Como antes, no buscamos que este diagrama o visión sea definitiva. Queremos explicar algunos detalles de cómo sería el proyecto para que la gente de otras áreas, técnicas, de negocio o administrativas, vean de qué se trata y comenten cualquier problema o relación que no hayamos tenido en cuenta.

martes, 2 de diciembre de 2014

Incepción Ágil: dime con quién andas...

La Comunidad

El siguiente paso en nuestra Incepción es trabajar sobre los diferentes involucrados en el proyecto, y su nivel de participación.

Para esto volvemos a dividir en grupos a la audiencia y dejamos que trabajen en establecer su propio mapa. Suelo usar círculos concéntricos y post-its, o pueden utilizar u vector u otra representación.

La idea es que cada grupo piense en los diferentes "stakeholders", ya sean individuos con nombre y apellido, roles, sectores o áreas de una organización, otras organizaciones, instituciones o dependencias gubernamentales.

De alguna manera lo que tratamos de manera es que tanto impacto tienen sobre el proyecto. Este mapa de influencias permitirá que pensemos cada cuánto tiempo el equipo de proyecto tendrá que tener contacto con estos actores, e incluso si necesita convocar a algunos de ellos para alguna actividad posterior a Incepción, pero también fundacional del proyecto, como un taller de Story Mapping (sobre lo que escribiré al terminar esta serie).

Como en los otros casos, al terminar revisamos los diferentes mapas y tratamos de consensuar el o los más representativos.

Recordemos que lo importante es participar activamente. Dejo otra foto de un taller donde estamos haciendo alguna de las actividades. Ese es el tipo de espacio que tratamos de crear (aunque no hace falta que haga frío).

Incepción en marcha

lunes, 1 de diciembre de 2014

Incepción Ágil: delimitando el alcance

Que Si, que NoLa siguiente actividad en la Incepción es relativamente sencilla de realizar, pero suele generar más discusiones fundamentales, y tiene que ver con limitar ciertas decisiones respecto al alcance.

Como siempre, dividimos en grupos a los participantes, y en cada grupo generamos una lista de características ordenadas en tres grupos:

  • Las cosas que definitivamente queremos dentro del alcance
  • Las que estamos de acuerdo que quedan fuera
  • Las cosas que no podemos decidir (al menos por ahora)

Como siempre, al presentar los resultados parciales de cada equipo aparecerán inconsistencias que resolver.

En general prefiero ir anotando los puntos de conflicto, en lugar de discutirlos en el momento, y seguir avanzando en la comparación. Una vez que comparamos todos los resultados, podemos recorrer la lista de los conflictos y tratar de zanjarlos.

Usualmente algunos de los puntos "indefinidos" para un grupo se logran definir por si o por no entre el resto, pero siempre pueden quedar algunos que específicamente quedarán a profundizar una vez que el proyecto arranque realmente. Lo bueno es que están identificados.

La lista resultante nos sirve de input para poder comenzar a construir el backlog cuando el proyecto comience, y la lista de las cosas que están fuera de alcance nos servirá a lo largo del proyecto como filtro de alerta cuando se quieran agregar cosas al backlog. Por supuesto, no implica un rechazo automático, pero si debería plantearse siempre una discusión al respecto.