Remando para el mismo lado

Remando para el mismo lado

Remando para el mismo lado 618 1024 ResIT

El impacto de la transformación digital

Ningún sector empresarial es inmune al impacto que produce la tecnología. Nos encontramos en una era en la que los cambios son cada vez más raudos, y adaptarse o no adaptarse se convirtió en una decisión de vital importancia para todas las empresas. Cuando escuchamos hablar de transformación digital, nos imaginamos nuevas estrategias de negocio que surgen gracias a la aparición de nuevas tecnologías, pero en la práctica, esto se traduce a la realización de proyectos de adquisición o desarrollo de software, integraciones cloud, diseño de productos con experiencia de usuario, automatización de procesos, entre otros servicios que mejoran la productividad de la empresa y generar un real valor agregado al negocio. Es así como el tema de la transformación digital nos concierne tanto a las empresas de tecnología como a los líderes de cada compañía. Pero, ¿estamos realmente preparados para liderar este tipo de proyectos?

Según nuestra experiencia, muchos profesionales encargados de liderar este tipo de iniciativas, entienden bien la necesidad que hay sobre tecnología e innovación en su propio negocio, pero muchas veces no logran comprender todo lo que hay detrás. Y no sólo hablamos de temas técnicos, sino que también sobre algunos conceptos que son clave para el desarrollo del producto o servicio solicitado (como por ejemplo, entender acerca de metodologías ágiles, experiencia de usuarios, etc.). Al referimos a líderes, hablamos de nuestros propios clientes, que son los que solicitan el desarrollo de software a medida, pero que también son los líderes en sus empresas y encargados de llevar a cabo los requerimientos del proyecto. En nuestro caso, trabajamos con equipos auto-organizados, donde el equipo toma las decisiones y cada miembro puede convertirse en líder en las áreas y situaciones específicas que se van dando, pero los clientes que son parte fundamental del proyecto y principal factor del triunfo o fracaso de este, deben comprender de qué se trata todo esto. Deben comprender lo que significa estimar esfuerzos, cómo expresar de manera efectiva sus requerimientos, cómo funciona un equipo de trabajo de ésta índole, entre otras definiciones que son relevantes al momento de llevar un proyecto a cabo.

Este artículo tiene como principal objetivo compartir la experiencia que hemos tenido como empresa con distintos tipos de clientes, algunos más experimentados y otros con menos pericia en el liderazgo de proyectos tecnológicos. Este testimonio da pie a oportunidades de mejora para la realización de nuevos proyectos y permite comprender ciertos aspectos importantes sobre la realización de proyectos de transformación digital, los cuales afectan tanto a la empresa que presta el servicio como al cliente que lo lidera. En este artículo, comprenderemos algunas señales que sirven para detectar algunos patrones de comportamiento y que permiten tener alguna noción sobre el rumbo de nuestro proyecto. Se mostrarán algunas preguntas clave, que en su momento, nos sirvieron para al menos, sentarnos a conversar sobre este tema.

Hacerse estas preguntas en las distintas etapas de un proyecto, permite tener una noción de si este va o no por buen camino, permite comprender con mayor facilidad qué fue lo que falló o lo que salió bien, para que de esta manera no se cometan los mismos errores y no se vuelvan a repetir ciertas actividades que no funcionaron bien. El cliente y la empresa deben estar siempre alineados, deben tener el mismo objetivo de querer sacar el proyecto adelante y por lo tanto, deben estar en todo momento, remando para el mismo lado.

El rol fundamental del cliente

La experiencia que entregan los proyectos de desarrollo de software es vasta y provechosa, no sólo desde un punto de vista técnico con aspectos tecnológicos como foco principal, si no que también desde una visión de gestión, optimización, diseño, y por sobre todo, social. ¡Sí, social! Todo lo que involucre relaciones humanas, inteligencia emocional, gestión de personas, es parte importante del aprendizaje que generan los proyectos TI. Y este aprendizaje es fundamental para mejorar ámbitos como la comunicación y el trato con nuestros pares para lograr el principal objetivo, que es sacar adelante el proyecto. Según nuestra experiencia, uno de los desafíos más grandes en la creación de proyectos de software no es técnico, sino más bien humano.

En este contexto, las nuevas metodologías para el desarrollo de proyectos marcan una clara tendencia importante sobre el enfoque que se le da a las personas al momento de trabajar en algún desafío. Es importante entender que la forma de realizar proyectos y las maneras de trabajar en equipo está cambiando rápidamente. Equipos multifuncionales auto organizados, métodos basados en desarrollo iterativos e incrementales, manifiestos y conjuntos de buenas prácticas, son sólo un par de ejemplos que muestran cómo la manera de gestionar proyectos pasó de un escenario tradicional a uno completamente contemporáneo e innovador, donde las personas son el componente principal, más allá de la metodología.

Una de las tareas al finalizar cada iteración (Sprint), es presentar una demostración al cliente. Cada equipo presenta los requerimientos que se completaron durante la iteración, con el objetivo de revisar los resultados obtenidos y todos los cambios que se hayan generado en contexto del proyecto. Incluso el manifiesto Agile lo pone como prioridad: “colaboración con el cliente por encima de la negociación contractual”. Es aquí donde el cliente realiza los cambios necesarios, de manera objetiva, para replanificar el proyecto y continuar con la siguiente iteración. Esta tarea, que parece trivial, es fundamental para seguir con la línea del proyecto y mantener al equipo enfocado en el mismo objetivo. Si el cliente falla en esta etapa, o se genera algún inconveniente, la probabilidad de fracaso del proyecto aumenta considerablemente.

Sin ir más lejos, muchos de los proyectos TI desarrollados, fallan. De estos proyectos que fallan, al menos la mitad lo hacen por falta de especificación y claridad en los requerimientos. Y con respecto a fracaso, nos referimos a que el proyecto no es entregado a tiempo, no está dentro del presupuesto y/o se encuentra fuera de alcance. Es decir, se generaron atrasos en la entrega final o en la implementación, aumentaron los costos necesarios para desarrollar el proyecto y finalmente se terminó desarrollando un producto con funcionalidades no pactadas. Los compromisos de tiempo y los acuerdos que se pactan con los clientes (donde la mayoría de las veces los tiempos son ajustados a las necesidades de los clientes pero no condicen con la realidad del proyecto), tienden a generar entregas después de dichos plazos. Como el costo y el tiempo es limitado, y dentro de la metodología Agile la idea es poder iterar hasta terminar el proyecto (y que el cliente esté conforme), se comienzan a sacrificar características y funcionalidades que tienen relación con el alcance. Así surgen preguntas como, ¿Qué funcionalidad podemos sacar?¿Cuánto costará realizar este nuevo módulo?, entre otras preguntas que afectan el alcance del proyecto original.

Es así como podemos darnos cuenta de que existen 3 factores críticos para decir que un proyecto de software es exitoso o fracasó. El alcance, el tiempo y el costo. El alcance, tiene que ver con el manejo de expectativas que tiene el cliente, versus lo entendido por el equipo de desarrollo y lo pactado en las reuniones de trabajo (definición de alcances). El tiempo, implica los plazos definidos en conjunto según los tiempos que maneje el cliente y el esfuerzo realizado por el equipo para el desarrollo, y finalmente el costo, tiene que ver con el presupuesto relacionado al proyecto. Iremos viendo, cómo estos tres factores van gatillando diferentes comportamientos que ponen en peligro o potencian el desarrollo del proyecto, y cómo el comportamiento del cliente afecta directamente estos factores.

 

Las alertas (red flags)

Durante el desarrollo, nos iremos encontrando con distintas alertas que gatillarán las alarmas que nos indican hacia dónde se dirige el proyecto. Estas alarmas tienen que ver directamente con los tres factores que definen el resultado del proyecto, pero antes de entrar en las alertas, es importante tener claro cuál es la vida útil de un proyecto.

Para poder medir el avance y predecir hacia dónde se dirige el proyecto, es importante que este comience desde el primer encuentro con el cliente. Esto, corresponde a la fase de inicio, que tiene que ver con conocer al cliente (o potencial cliente), primer contacto y llegada, y el cierre del trato con reuniones para levantar requerimientos con una primera reunión de trabajo. La siguiente fase corresponde al avance, que tiene que ver con los Sprints presentados durante el proyecto. Entregas cada dos semanas, reuniones de trabajo, correos, videoconferencias, entre otras actividades donde se presentan entregables funcionales al cliente y se recibe feedback de él. Finalmente, el fin del proyecto, que tiene que ver con el cierre, la aceptación por parte del cliente y el soporte si se da el caso. Todas estas etapas corresponden a algún tipo de interacción entre el cliente y la empresa de desarrollo, por lo que es importante tener en consideración el rol de cada actor para poder llevar a cabo de manera correcta el proyecto.

Es importante aclarar que la metodología Scrum, que tiene que ver con dejar de tratar los proyectos con Cartas Gantt y en su defecto usar un Backlog, o tener entregas cada dos semanas (Sprints) para mostrar entregables funcionales, priorizando los códigos funcionando por sobre la documentación detallada, es muy difícil de internalizar en un cliente que no está familiarizado con estas formas de trabajo. Los proyectos en general no son tan ágiles, debido a que la esencia de esta metodología es iterar, pero los plazos y los costos son limitados. Esto lo discutiremos en otro artículo.

Según nuestra experiencia desarrollando proyectos tecnológicos, podemos dividir estas alertas en 10 tipos, que inciden en los tres factores críticos antes mencionados (alcance, tiempo y costo). Estas alertas nos irán diciendo hacia dónde va el proyecto, cómo manejarlo, qué hacer según los resultados obtenidos y lo más importante, nos dirán con qué tipo de cliente estamos tratando. Empezaremos a detectar la parte sutil de la gestión de proyectos, que tiene que ver con lo mencionado en un comienzo, sobre entender a las personas que hay detrás de los equipos y la relación que se tiene con el cliente. Detectar su comportamiento es fundamental!. A continuación se presentan las 10 alertas que hay que tener en consideración:

  • Definición de requerimientos: Indica la claridad que tenga el cliente en la definición de sus requerimientos. Esta alerta puede mostrarnos qué tan interiorizado está el cliente con lo que pide, por lo que es importante hacer preguntas al cliente sobre toda la información disponible que tenga acerca del producto que quiere desarrollar.
  • Manejo de expectativas: Indica lo que quiere el cliente versus lo que comunica y lo que la empresa entiende. Es fundamental entender lo que el cliente tiene en mente, preguntar por referencias, aterrizar los requerimientos y ser transparente en explicitar que lo que sí se puede hacer, no necesariamente se hará.
  • Nivel de comunicación: Relación y comunicación del cliente con la empresa durante el proyecto. Esta alerta nos indica cómo se está llevando la comunicación, si es adecuada para un entorno de trabajo profesional, o si hay comportamientos que nos hacen cuestionarnos la relación con el cliente.
  • Disposición de trabajo: Voluntad de cooperación y disposición por parte del cliente. Alerta fundamental, ya que vimos lo importante que es la participación del cliente en el proyecto, por lo que tiene que estar dispuesto a colaborar, responder a tiempo, enviar la información que compromete, etc.
  • Urgencia del proyecto: Incluye los plazos que tiene el proyecto y la presión que hay detrás por desarrollarlo. Alerta que gatilla con comentarios sobre la importancia de sacar el proyecto a tiempo, o frases sobre lo atrasados que vamos. Es clave entender los plazos del cliente y una buena estimación con holgura.
  • Equipo de trabajo: Son las personas que trabajan en el proyecto con sus roles definidos. El cliente tiene que definir en un principio todas las partes que participarán en el proyecto, para que todos estén interiorizados desde un comienzo y no haya que improvisar en la mitad de este.
  • Experticia técnica: Tiene que ver con lo que el cliente conoce desde el punto de vista técnico. Esta alerta es positiva si el cliente demuestra interés en saber más pero conoce y respeta su rol. Si es que tiene intenciones de controlar el trabajo desde un punto de vista técnico, se recomienda tener encargados en su equipo para esto.
  • Definición de precios del proyecto: Son los costos del proyecto y la actitud del cliente ante los precios establecidos. La alerta gatilla en el comportamiento del cliente frente a las estimaciones de los recursos utilizados para el proyecto.
  • Definición de responsabilidades: Son los compromisos que se adquieren por cada actor del proyecto. Esta alerta muestra qué tan definidos están los roles y las responsabilidades dentro del proyecto, y el cumplimiento de estas.
  • Planificación del proyecto: Es la manera en la que se planifica el proyecto. Esta alerta muestra qué tan estructurado es el cliente para la planificación o si sigue alguna metodología más Agile, donde se presentarán entregas en base a iteraciones.

¿Cómo detectar las alertas?

Ya teniendo claridad del ciclo de vida del proyecto con sus etapas, los factores que nos indican el resultado del proyecto y las alertan que nos mostrarán las sutilezas durante su desarrollo, nos queda definir con qué tipo de clientes estamos trabajando, según su comportamiento con la información ya recapitulada. Conocer el tipo de cliente nos ayuda a tener una guía para saber cómo actuar en las distintas situaciones, para que el proyecto tenga mayores probabilidades de triunfar.

La forma de saber con qué cliente tratamos, es mediante preguntas que son clave para descubrir las alertas mencionadas anteriormente. Estas preguntas se realizan al finalizar cada etapa del ciclo del proyecto, con el objetivo de poder mirar en retrospectiva lo que fué la relación con el cliente y con el proyecto. Es importante poder tener una instancia de retroalimentación, que puede ser conversada con el equipo a cargo del proyecto, para detectar los aspectos positivos o negativos de nuestra relación con el cliente y así poder tener un plan de acción, antes de que sea demasiado tarde.

Estas preguntas tienen que ver con distintos comportamientos que se hayan detectado durante reuniones, correos electrónicos, llamadas telefónicas, entre otras situaciones de comunicación con el cliente. Por ejemplo, darnos cuenta de qué tanto entiende el cliente de su propio requerimiento, o ver qué actitud tiene ante las entregas y los deadlines. ¿Todo es urgente y para ayer?. ¿Entrega mayores antecedentes para entender mejor los requerimientos?. ¿El cliente pide descuentos?. Estas y otras preguntas nos irán entregando una pauta para conocer más al cliente con el que estamos tratando. Y las respuestas no significa hacer juicio de valor, no hay respuestas buenas ni malas, sólo hay distintos estilos que pueden tener nuestros clientes y es importante estar preparados para tomar las medidas correspondientes para que el proyecto no fracase.

Para poder tener una herramienta que genere la instancia donde sea posible discutir sobre esto con el equipo, proponemos una guía, a modo de cuestionario, para responder algunas de las preguntas clave para cada término de fase. Lo importante es ser consistente en esta evaluación y lograr generar conciencia del tipo de cliente con el que estamos trabajando. La guía se puede revisar aquí.

Los tipos de clientes

Muchas veces tenemos la suerte de trabajar con clientes que potencian y ayudan a que los proyectos salgan sin grandes problemas. Clientes proactivos, disponibles para trabajar en todo momento, racionales y seguros de sus requerimientos. Pero otras veces, nos encontramos con clientes que entorpecen la fluidez del desarrollo. Amenazas, críticas no constructivas, descalificativos, subvaloración del tiempo, deficiente entendimiento y comunicación en los requerimientos (hacerlos más simples de lo que son), estimar con su propio conocimiento, entre otras actitudes que no aportan al proyecto.

Frases como, ¡Esto es mucha plata!, y si ponen a una persona más, ¿se demora menos?, ¡hay otras empresas que cobran menos!, ¡lo necesitamos para ayer!, ¿hagamos un grupo en whatsapp para ver los errores?. Todas estas alertas, que fueron respondidas en el feedback al final de cada fase del proyecto, van mostrando el comportamiento del cliente y cómo cambia durante el proyecto. Dadas las respuestas de cada encuesta, se calcula el puntaje de cada factor y se obtienen los distintos tipos de clientes, según se vaya dando el proyecto. Es importante saber que el cliente puede cambiar de una fase a la otra, siempre y cuando logremos detectarlo a tiempo. A continuación, se presentan los distintos tipos de clientes y sugerencias para trabajar con ellos:

El difícil: Es el cliente que tiene la mayoría de las alertas. No sabe ni define bien lo que quiere. No tiene tiempo ni colabora con el proyecto. Cuestiona estimaciones, precios y metodologías de trabajo.

Sugerencias: Dejar de trabajar con él.

El indeciso: Es el que no sabe lo que quiere. No entiende sus requerimientos, no los define bien pero tiene grandes expectativas. No se comunica como corresponde, no entiende las responsabilidades ni define los roles del proyecto y a veces quiere entender la parte técnica del proyecto para controlar. Por lo general, desconfiado y arrogante.

Sugerencias: Ofrecer servicio de UX/UI. Documento de funcionalidades detallado.

El importante: Es el cliente que no tiene tiempo para nada, pero a la vez, exige el cumplimiento de los deadlines. Todo es para ayer o ASAP, no tiene buena disposición en el proyecto, trabaja a la antigua y exige planificaciones o cartas gantt. No entiende entregas mediante Sprints ni iteraciones. Por lo general, amenaza o propone multas por retraso.

Sugerencias: Definir políticas de entrega y compromiso en conjunto. Acortar los Sprints.

El avaro: Este cliente cuestiona las estimaciones de esfuerzo y los precios entregados para el desarrollo del proyecto. Pide descuentos o sacar funcionalidades, además de agregar más gente al equipo para sacar el proyecto en un plazo menor. Por lo general, subvalora el software y le baja el perfil a los requerimientos solicitados.

Sugerencias: Mostrar la metodología de estimación. Hablar mismo lenguaje no técnico. Hacer documento de funcionalidades detallado.

El usual: Es el cliente con el que se puede trabajar sin problema. No se destaca por ser un gran comunicador pero tampoco entorpece el trabajo. Tiene claro lo que quiere, sin entrar en más detalles. Acepta la mayoría de las condiciones y no pone muchas trabas para trabajar. Por lo general, es conformista y permite un trabajo fluído, aunque es necesario guiarlo.

Sugerencias: Mantener al cliente constantemente motivado. Tomar la iniciativa con el cliente.

El seguro: Este es el cliente que tiene claro los requerimientos y apoya con mayor información (anexos como documentos, pantallas o flujos que explican mejor lo que quiere). Entiende y maneja las expectativas, tiene referencias de productos similares al que necesita, se comunica bien y comprende su rol dentro del equipo.

Sugerencias: Mantener esta relación con el cliente.

El racional: Este cliente es el que destaca por entender la metodología Agile, maneja bien los plazos con los que cuenta y es comprensivo ante los requerimientos. Comprende que las entregas son funcionales, por lo que genera buen feedback para seguir avanzando con el proyecto. Es riguroso con los deadlines pero comprende la magnitud de cada requerimiento.

Sugerencias: Mantener esta relación con el cliente.

El justo: Este cliente entiende el presupuesto solicitado y no menosprecia ni desvaloriza el software. Comprende los equipos formados para el desarrollo, y sus requerimientos son detallados desde un principio, lo que permite hacer buenas estimaciones de esfuerzo.

Sugerencias: Mantener esta relación con el cliente.

El ideal: Bueno en todo. Sabe bien lo que quiere y aporta con nueva documentación. Colabora en todo momento con el proyecto, siempre está disponible. Se comunica bien, no cuestiona estimaciones y entiende la metodología utilizada.

Sugerencias: Mantener esta relación con el cliente.

Con estos distintos perfiles de clientes, es posible comenzar a tener un plan de acción en la gestión que tenemos para los proyectos, mucho más focalizada y a medida según el tipo de cliente que nos toca. Es importante detectar al tipo de cliente según las 10 alertas que vimos anteriormente. Es importante destacar que todas las personas tienen distintas formas de ver las cosas, pero es importante lograr mejorar en los aspectos que son cruciales para el proyecto, como lo son el alcance, el tiempo y los costos. Lograr tener una buena comunicación con el cliente, ser honestos y proactivos en todo momento, generará un buen ambiente para que el proyecto salga adelante.

Cierre

En nuestra experiencia haciendo desarrollo de software, nos han tocado todos estos tipos de cliente. Desde clientes muy buenos, que generan un excelente ambiente de trabajo, hasta clientes con los que es difícil sacar adelante un proyecto. Sin embargo, cada uno de ellos, generó un aprendizaje que hoy quisimos compartir, siempre pensando en la mejora contínua de lo que significa liderar proyectos de tecnología. Cualquier experiencia en este rubro aporta mucho a lo que son los nuevos proyectos que vendrán en un futuro. Todo es aprendizaje, lo importante es poder generar un cambio para no volver a cometer los mismos errores y potenciar lo que se hizo realmente bien.

 

José Ignacio Santander – jisantander@resit.cl