¿Sure Step vs Agile? Condenados a entendernos

Hace unos días tuve una conversación muy interesante con un compañero de trabajo a raíz de mi anterior post El ratoncito ágil y La ruta de los elefantes. Este compañero defendía con bastante convicción la metodología de gestión de proyectos tradicional y me proponía diferentes motivos por los que en nuestro negocio no podían funcionar otras como Scrum o en general metodologías de filosofía ágil o lean (método, sin embargo, ámpliamente reconocida en el mundo de la fabricación industrial) seguro que os suenan:

Project Management

  1. Scrum (o la gestión ágil en general) no es apropiada para proyectos grandes (en tiempos, equipos, costes, …) con diferentes equipos en diferentes roles (comerciales, analistas, consultores, programadores, jefes de proyecto, …) y a menudo en diferentes ubicaciones.
  2. Para aplicar estos métodos hay que cambiar la forma de trabajar de muchas personas integrantes de la empresa, y del equipo en particular, desde el comercial hasta el programador pasando por todos los roles intermedios, y esto tiene un coste y un riesgo a menudo inasumible.
  3. A menudo ni siquiera el cliente está preparado para trabajar de manera ágil. No entiende las implicaciones o simplemente no está dispuesto o preparado para implicarse tanto durante toda la duración del proyecto. Espera pedir lo que necesita, y que se lo den todo hecho.

Hace unos días tuve una conversación muy interesante con un compañero de trabajo a raíz de mi anterior post El ratoncito ágil y La ruta de los elefantes. Este compañero defendía con bastante convicción la metodología de gestión de proyectos tradicional y me proponía diferentes motivos por los que en nuestro negocio no podían funcionar otras como Scrum o en general metodologías de filosofía ágil o lean, seguro que os suenan:

  1. Scrum (o la gestión ágil en general) no es apropiada para proyectos grandes (en tiempos, equipos, costes, …) con diferentes equipos en diferentes roles (comerciales, analistas, consultores, programadores, jefes de proyecto, …) y a menudo en diferentes ubicaciones.
  2. Para aplicar estos métodos hay que cambiar la forma de trabajar de muchas personas integrantes de la empresa, y del equipo en particular, desde el comercial hasta el programador pasando por todos los roles intermedios, y esto tiene un coste y un riesgo a menudo inasumible.
  3. A menudo ni siquiera el cliente está preparado para trabajar de manera ágil. No entiende las implicaciones o simplemente no está dispuesto o preparado para implicarse tanto durante toda la duración del proyecto. Espera pedir lo que necesita, y que se lo den todo hecho.

Los motivos son tan apropiados y recurrentes en cualquier discusión que casi tendrían que formar parte del manifiesto ágil, ya que bien argumentadas son difícilmente discutibles. Lo voy a intentar:

Partimos de la base de que como Partners de Microsoft Dynamics, trabajamos siguiendo la metodología Sure Step, que es una adaptación a diferentes tipos y tamaños de proyecto de la ya conocida Waterfall (Metodología “en cascada”) tradicional, basada en fases secuenciales (con equipos diferenciados por fase), documentación y contratos, y “entregables” (deliverables). Mientras que las filosofías ágiles se basan en el manifiesto ágil:

  • Individuos e interacciones, sobre procesos y herramientas
  • Software funcionando, sobre documentación extensiva
  • Colaboración con el cliente, sobre negociación contractual
  • Respuesta ante el cambio, sobre seguir un plan

(Esto es, aunque se valoran los elementos de la derecha, se valoran más los de la izquierda)

También existen diferencias (o eso parece) entre los diferentes roles que intervienen en ambas filosofías. En Sure Step existen muchos roles que no siempre se aplican todos, resumiendo más o menos:

  • Equipo de Ventas (ante-proyecto)
    • Comercial, Gestor de cuentas, Consultor pre-venta, …
    • Equipo de Consultoría (ejecución del proyecto)
      • Gestor de proyectos
      • Consultor de negocio, Consultor de integración, Consultor funcional, Consultor técnico
      • Programador, Consultor de desarrollo, Técnico de soporte
      • Equipo del Cliente
        • Gestor de proyectos, Responsable de proyecto, usuarios clave, usuario final, responsable de área

Mientras que, por ejemplo, en Scrum, los roles son menos y más específicos (me extenderé sobre esto en futuros artículos), orientados más al producto que al proyecto:

  • Product Owner (propietario del producto, representa al cliente)
  • Scrum Master (facilitador del Scrum Team)
  • Scrum Team (equipo que hace posible el producto)
  • Usuarios (quien utilizará el producto)

Expuesto todo esto, es fácil comprobar por qué mi compañero está tan seguro de su argumento nº 2, expuesto al principio. Intentar cambiar una organización entera y todas las personas implicadas para cambiar la filosofía y el método de trabajo sería un suicidio. Pero estamos hablando de filosofías ágiles, donde prima el proceso incremental, ¿por qué se debería cambiar todo a la vez? Es cierto que en muchos casos no se podrá utilizar una u otra metodología para gestionar todo el proyecto, pero ¿por qué no puede aplicarse sólo en un equipo, o en un área, o en una fase?

Precisamente el trabajar con metodologías Waterfall durante tantos años nos ha llevado a tener equipos muy bien diferenciados por roles y a menudo incluso por ubicación.

¿Acaso dentro de Sure Step un equipo de consultores o de desarrollo no puede auto-gestionar su propia fase de una manera ágil? Mejoraría el resultado final, probablemente los plazos, y mantendría informado de manera frecuente a su director de proyecto y al cliente (quizás a través de un product owner interno, un consultor).

¿Acaso no se puede gestionar una fase de desarrollo (Waterfall) de una manera ágil, priorizando el “core” del desarrollo (lo que el cliente considera imprescindible para su funcionamiento) y haciendo entregas parciales del mismo? Se detectarían errores en el análisis con más antelación que haciendo una única entrega final, se detectaría trabajo que ya no se debe hacer, el cliente vería progresos antes y se haría una idea de lo que va a ser su producto, antes de verlo terminado.

¿Acaso en Sure Step no tenemos ya los roles de Scrum definidos en cada fase? En análisis el Scrum Team son los analistas, existe un jefe de proyecto (Scrum Master) y se realiza directamente en el cliente (product owner). La fase de desarrollo la realizan programadores y consultores técnicos (Scrum Team), el desarrollo se entrega normalmente al equipo de consultoría para sus pruebas (product owner) y existe un director de desarrollo o de proyecto (Scrum Master). Simplemente en cada fase, el que realiza el trabajo es el equipo (Scrum Team), y el que lo espera en la fase siguiente de la “cascada” es el “cliente” (product owner) para el equipo actual.

Creo que con esto queda clara mi postura frente a los problemas nº 1 y 2 expuestos más arriba. Efectivamente hace falta un cambio, pero no creo que sea tan radical ni que necesariamente se deba hacer de manera brusca para nadie. ¿Qué no se puede o sabe gestionar un gran proyecto con gestión ágil? Tampoco es necesario hacerlo para empezar a experimentar y descubrir que hay otras formas de hacer lo de siempre.

¿Y si el cliente no entiende, no es capaz de comprometerse o de comprender un contrato ágil, sin fechas de entrega o costes grabados en piedra? Estoy convencido de que cuando el equipo de la empresa vea los resultados de una forma de trabajar más eficiente, el propio equipo comercial comprenderá la forma de explicar al cliente las ventajas de este cambio. Cuando estás en la situación de firmar un contrato de cantidades notables de dinero es normal que no quieras arriesgarte, pero ya hay mucha gente que se ha caído “cascada abajo” y que estaría dispuesta a probar métodos alternativos, es una cuestión de confianza en sí mismo, de probar, de investigar, de perder el miedo al cambio por parte de todos.

Continue Reading…

Microsoft Dynamics AX 2012 Virtual Launch Event

Hace ya algunos meses que venimos hablando de Microsoft Dynamics AX 2012, desde su presentación en la Microsoft Dynamics AX Technical Conference 2011 de la que ya hablamos en su día, se ha publicado muchísima información sobre las novedades que nos esperan en esta nueva versión.

Aprovechando el Microsoft Dynamics AX 2012 Virtual Launch Event de esta semana se han liberado también multitud de materiales oficiales muy interesantes, algunos accesibles sólo desde Partner Source, y otros totalmente abiertos:

En primer lugar son muy interesantes las demos interactivas que se han publicado en la web oficial del producto y ofrecen una oportunidad de simular de primer mano la utilización de la nueva interfaz tanto para temas de desarrollo como funcional. Sin instalar nada, desde la propia web utilizando Silverlight, vale la pena probarlos:

Demo interactiva

Continue Reading…