19 de mayo de 2017

¿Cómo nos organizamos para presupuestar un proyecto en un entorno Ágil?

Las organizaciones están inmersas en una etapa de cambios, denominada Transformación Digital, asumir esto conlleva ser más flexibles y poder adaptarnos rápidamente para dar respuestas al mercado; pero aún hay muchas organizaciones que no están preparadas para dar ese salto; debido su manera de trabajar, es decir, su cultura dificulta el cambio.

Uno de los procesos tradicionales de todas las organizaciones es la financiación de los proyectos, que responde a una gestión poco flexible y lejos de esta nueva filosofía de trabajo.

El objetivo de este artículo es mostrar un modelo de Agile Budgeting, que permita a las organizaciones pasar de un proceso centrado en el coste a un enfoque Agile, que soporte los procesos financieros y presupuestarios de la organización, donde se trabajará con equipos estables, permitiendo la flexibilidad y la toma rápida de decisiones.

En la actualidad, en muchas empresas para gestionar un presupuesto se utiliza el Contrato de Precio Fijo, que es aquel en que el cliente y el proveedor firman el contrato a un precio que no se modifica, suceda lo que suceda durante el proyecto. El precio del contrato se fija en base a los requerimientos. Los impedimentos que aparecen durante el desarrollo del proyecto no nos permite cumplir con ese contrato, todo esto genera desconfianza y malestar entre las partes implicadas.

Otra opción es hacer un Contrato Tiempo y Materiales, este tipo de contrato tiene dos componentes: un componente fijo como puede ser el precio por hora, el precio por unidad, el precio por metro cuadrado,… y otro componente variable, el número de horas o metros cuadrados que se invertirán finalmente.  Aquí el precio final está en base al alcance que se quiere conseguir en el proyecto y como en un proyecto ágil el alcance no está totalmente definido, ya es una situación que conlleva a la desconfianza de una buena gestión.

Ante la insatisfacción de los resultados y la desconfianza que permiten estos tipos de contratación se busca algún modelo de gestión de costes que se pueda desarrollar dentro de un enfoque Agile.

En los proyectos de desarrollo de software es común que se parta de una figura difusa de lo que se quiere obtener, teniendo en cuenta al mercado y a los feedback de nuestros stakeholders; esto conlleva continuos ajustes, que debe ser soportado por un modelo de gestión, que nos permita hacerlo sin trampas.  Lo que he visto que más se adapta a esta situación, es utilizar un modelo de inversión, que consiste en entregar un producto, que sea atractivo en el mercado, se invierte un capital que servirá para la construcción del producto y luego se mide el retorno de inversión y así se tiene un modelo enfocado en la inversión que permita gestionar proyectos Agile.

Lo que se intenta, es que ante los cambios, se realicen las menos gestiones posibles y que nos dé la suficiente flexibilidad para adaptarnos al mercado y poder entregar resultados que impacten en él. Para una organización que está arraigada a procesos tradicionales se hace complicado llegar a desarrollar un modelo de inversión.

Entonces…..

En base a la estrategia de la organización se analizan el porfolio y se determina qué productos aportarán mayor beneficio a la organización y en función de esto empezamos a segmentar nuestro presupuesto.

Una vez determinados los productos que merecen nuestra atención el siguiente paso es identificar los recursos necesarios para llevarlo adelante.
El equipo debe estar basado en un tipo de producto y ser estable, por ejemplo si tenemos tres productos serán tres equipos los encargados de priorizar y construir el producto. Estos recursos deberán ser multifuncionales, es decir, que atiendan varias cuestiones como tecnológicas, negocio,  riesgos, cuestiones legales, etc.

Las iteraciones de los diferentes equipos deben tener la misma cadencia. (Por ejemplo 2 semanas), para que el modelo de financiación sea sencillo.
A nivel de financiación de producto, la revisión del producto se hace cada cierto tiempo (por ejemplo cada 3 o 4 meses).
Estableciendo una iteración y revisión de producto a tiempo fijo esto nos facilitará el modelo de financiación. Por lo tanto cada cierto tiempo se decide si se tiene que quitar o agregar capacidad de un proyecto  o en otro. De esa manera estabilizamos el presupuesto cada cierto tiempo adecuándonos a los cambios.

Ya tenemos un coste fijo,  de esta forma al saber cuánto me sale un sprint, teniendo en cuenta la duración de este y además teniendo en cuenta que cada tanto tiempo revisamos la financiación del producto, ya esto simplifica mucho la gestión del dinero.
Otro aspecto a considerar,  que las personas se deben contratar a nivel porfolio y no a nivel proyecto, esto permite que podamos desplazar los recursos sin vernos afectado por temas de contratación y teniendo en cuenta las necesidades de otros proyectos.
Otro aspecto muy importante a considerar y que cierra el modelo de inversión, es medir el retorno de inversión. Para ello debemos a integrar a todas las unidades de negocio que participan el ciclo de vida del producto. Estas unidades de negocio están orientadas al negocio y participan desde un primer momento hasta la entrega de resultados al cliente.

Habitualmente dentro de la gestión del software tenemos un área de desarrollo y de mantenimiento, pero para conseguir esto a nivel estructural, debemos integrar a todas unidades de negocio involucradas (por ejemplo: marketing, Operaciones, áreas de negocio, etc.), enfocados en el mercado, con cadenas de valor, en donde un mismo equipo actúa desde que el cliente solicita algo hasta que se le entrega. Esta integración conlleva gran cantidad de gente, teniendo en cuenta la demanda.

Una vez integradas las unidades de negocio podremos determinar el retorno de inversión generado en cada unidad de negocio y así de esta manera creo que podemos mejorar y cambiar el modelo de Budgeting dentro de las empresas hacia un enfoque Agile. No es una tarea fácil, hay que hacer muchos cambios dentro de la organización, pero veo que este es el camino para armonizar la gestión de desarrollo  con un presupuesto Agile.

23 de febrero de 2017

Product Owner - Responsabilidades I

La transformación digital en las empresas trajo consigo nuevos actores que son importantes conocerlos y tener sus responsabilidades debidamente definidas. 
Hace unos años la figura de Comunity Manager no existía como tampoco la del Product Owner. 

Como todo lo nuevo trae consigo la confusión hasta comprender y situar la figura del Product Owner dentro de la empresa. En mi experiencia voy identificando muchas dudas y malas decisiones respecto de este rol; situaciones clásicas que se da en organizaciones con un enfoque tradicional, que están afrontando cambios y buscan una  solución fácil o una figura que cubra el rol entre los que ya existen en la empresa. 

En este caso me centraré más en el Product Owner, que me es más a fin, por dar formación en Scrum. Siempre que doy un curso de Scrum, cuando llegamos al punto de las descripción de roles el de Product Owner es el que genera más interés y consulta. Qué hace el Product Owner, cuáles son sus responsabilidades, qué características debe tener el rol?

El Product Owner es responsable de entregar el máximo valor del Producto desarrollado en el proyecto, a tal fin gestiona el Product Backlog, donde se encuentra definida la calidad y el alcance del proyecto.

Una de las actividades, que realiza dentro del Product Backlog, es desarrollar las Historias de Usuario y Criterios de Aceptación que van a permitir mejorar la interpretación de los requisitos del cliente por parte de los miembros del Scrum Team. Esta acción no estará completa si el Product Owner no está disponible para el Scrum Team a fin de resolver dudas que se tenga acerca del producto. Es necesario que se desarrolle un verdadero compromiso entre el Product Owner y los Scrum Team a fin de resolver todas las dudas que se presenten.

En otro orden de cosas el Product Owner debe controlar el presupuesto del proyecto, cualquier decisión de contratación o inversión que se tome debe tener el su visto bueno.  Por ejemplo un Product Owner debe conocer  cuánto se invierte en la realización de un Sprint.

Como en toda metodología relacionada con los proyectos se debe hacer una gestión de los interesados del proyecto que permitan una comunicación fluida y por supuesto una mirada favorable al proyecto que se está desarrollando. Para mejorar esta visión es necesario muchas veces reportar a los interesados.


Es un rol de total relevancia dentro proyecto representa la visión del producto y es considerado la voz del cliente. 

El próximo artículo continuaré describiendo y profundizando dentro de este rol.

29 de agosto de 2016

Transformación Digital


Es un cambio cultural que involucra tecnología y personas. En donde la aparición de nuevas tecnologías permite la transformación digital y una nueva manera de relacionarnos entre nosotros y con dicha tecnología.

La transformación digital está cambiando, como en tantas cosas, la forma en que la gente se comunica e informa. Las redes sociales como Whatsapp, Twitter nos mantienen constantemente comunicados y sumado a los Smartphone aumenta aún más estas posibilidades. Ya no hace falta comprarse el periódico para estar informado, lo tenemos en diferentes plataformas que nos permiten estar informados al minuto. Hoy comprar un billete de avión, reservar un hotel y tantas acciones más, se canalizan a través de Internet, piensen como hacían todas estas tareas hace unos 5 años atrás. Internet se ha convertido en un lugar de acción, de ejecución de actividades.

Esta transformación digital se observa en las organizaciones, en las empresas, que les obliga a repasar sus procesos que utilizan para comunicarse y desarrollar sus actividades, como análisis de mercado, relación con los  proveedores, procesos de innovación, formación del personal, atención al cliente, relación con proveedores, etc. Cambios en el modelo de relación de las personas con las organizaciones, tanto con el cliente como entre los empleados.

La transformación digital es un proceso que aún no ha acabado. Cada día aparecen novedades tecnológicas y se incorporan más y más personas y dispositivos al inmenso flujo de datos e interacciones que configuran la actual Internet.
La aparición de tecnologías disruptivas ha multiplicado exponencialmente la habilidad de conectarnos lo que permitió un cambio en las organizaciones y en la gente que usa dicha tecnología.

En el pasado las grandes organizaciones generaban una ventaja competitiva realizando importantes inversiones que permitían el éxito. Las empresas aseguraban su éxito en función del volumen de sus inversiones.

Hoy en día esa ventaja competitiva se redujo ya que las pequeñas organizaciones no necesitan hacer grandes inversiones para ser competitivas, estos nuevos actores pueden acceder a cualquier mercado y competir sin la necesidad de hacer grandes inversiones.
Esta ventaja actualmente se ve en la rapidez que la organización puede adaptarse a los cambios en mercados competitivos. Los nuevos actores son personas que tienen un alto compromiso con la entrega de resultados.

El cambio organizativo se ajusta en pequeños grupos autogestionados:
  • Que están en constante aprendizaje e investigación.
  • Que se gestionan con gran agilidad.
  • Que permitan una escalabilidad, es decir, un crecimiento a mayores estructuras que están interconectadas y comunicadas entre ellas.


Todo esto supone la aceptación de un entorno de creciente complejidad, donde los cambios e incertidumbres impiden la planificación más allá del muy corto plazo.
La entrega de valor no se ha visto alterada, sino potenciada al entregar al  cliente un producto ajustado a sus necesidades y expectativas.
La Transformación Digital se caracteriza por clientes que reclaman a las organizaciones productos y servicios con:      
  • Plena accesibilidad desde diferentes plataformas
  • Inmediatez en el acceso a los datos, a la información
  • Un servicio ajustado a sus necesidades.
  • Mayor protagonismo del usuario, un rol activo dentro de la organización.

La transformación digital exige invertir esfuerzos para anticiparnos a las amenazas y ver qué oportunidad de beneficio hay dentro del fenómeno digital. Para ello, es esencial dominar las lógicas digitales y entender qué valor puede aportar lo digital a la empresa, ya sea en términos de eficiencia de ahorro de costes y/o de mejora de la productividad.

Aquellos que entiendan, que actúen, dentro de la transformación digital tomarán el control y serán capaces de convertirse en los líderes de mercados. La dirección de la empresa y su comprensión de la dimensión y la irreversibilidad de la transformación digital son esenciales para empujar el proceso de la transformación.

No es marketing. Es rediseño de procesos. Es la transformación del negocio.


19 de junio de 2016

El movimiento se demuestra andando

Hay dos tipos de procesos, por un lado están los procesos muy bien definidos, donde las entradas, salidas y actividades son precisas. Por otro lado están aquellos procesos que si bien tienen definido un objetivo no hay procedimiento tan definido y son producto de la observación y de la experimentación.

Scrum se centra más en estos últimos procesos, ya que se parte de la premisa que, para algo que sea exitoso, es necesario observar y analizar las diferentes variables y establecer procedimientos más adecuados, no hay verdades absolutas, ni procedimientos perfectos, es necesario inspeccionar para luego adaptar y eso se consigue cuando se tiene una mente abierta al cambio a la inquietud en la búsqueda de la mejora.

Scrum propone que los procesos están bien, pero es importante investigar y probar, cuál es la mejor forma de hacerlo, es decir, no asumir un proceso como un dogma, solo como una guía operativa, qué podemos cambiar para mejorar nuestros resultados, por eso debemos experimentar, probar y tomar las decisiones que nos lleve al éxito en la gestión de proyectos.

Es necesario tener disciplina y motivación. Disciplina para ser constantes esto no se hace una vez y luego se olvida, hay que perseverar, estar atento a cualquier desviación y tomar acciones para reconducir y por último  para tomarnos todo este trabajo necesitamos estar motivados en los resultados, verdaderamente implicados, o sino se convierte en una serie de tortuosos pasos desesperanzadores.


Como tantas veces escuché “El movimiento se demuestra andando”.

1 de mayo de 2016

La entrega de Valor en un proyecto Ágil

El resultado de un proyecto en definitiva es lo que cuenta y si este satisface las necesidades y expectativas del cliente. En una metodología predictiva o tradicional ese resultado llega al cliente al finalizar el proyecto, ya podrá gustarle poco o mucho que ya está todo hecho.

En SCRUM ese resultado puede ser visible y evaluable a las pocas semanas de haber iniciado el proyecto; esto es gracias a que el desarrollo de un proyecto ágil es a través de iteraciones o ciclos denominados SprintLas iteraciones en SCRUM permiten que cada "x" tiempo, que no debe superara las 6 semanas, se pueda entregar resultados parciales e incrementales.

El equipo de SCRUM se organiza para entregar resultados funcionales al cliente, es decir, valor que el cliente pueda evaluar y aprobar o rechazar.

EL hecho de que un proyecto tenga un desarrollo iterativo permite desde un primer momento que el cliente pueda ir apreciando los resultados, que por supuesto serán parciales y así se pueden ir tranquilizando las expectativas respecto de lo que se está haciendo y si hemos hecho una correcta interpretación de las necesidades del cliente.

Para un equipo de SCRUM es muy importante, porque obtiene en tiempo real un feedback del cliente, que indica si los pasos que vamos dando están siendo certeros o no.


La entrega de valor en SCRUM es temprana y constante, porque cada Sprint es una oportunidad de entregar valor y esto lo podemos hacer desde las pocas semanas de iniciado el proyecto y es constante porque a través de todo el proyecto, es decir, sprint tras sprint se está entregando valor.