Las empresas se enfrentan cada vez más a un ritmo acelerado de cambio y a una constante necesidad de innovación. Para mantenerse competitivas, necesitan crear e implementar nuevas funcionalidades y desarrollos de forma rápida y eficiente, tanto para crear nuevos productos y servicios como para mejorar los existentes.
Esto implica que el volumen de peticiones de desarrollo aumente considerablemente, lo que supone un desafío en todos los niveles, influyendo desde el equipo de programación y el CTO hasta en un nivel superior, en lo que respecta a la empresa y la relación con los clientes.
Por ello, se hace necesario encontrar un equilibrio entre la satisfacción de las necesidades del negocio, la gestión de los recursos disponibles y la entrega de proyectos de alta calidad. La metodología de gestión de peticiones establecida y la actuación del CTO y el equipo directivo en estos casos jugarán un papel determinante en si este pico de solicitudes deriva en un caso de éxito o en un caos.
En este artículo, os contamos cómo desde Digital55 gestionamos eficazmente las peticiones de nuestros clientes y múltiples proyectos, abordando las estrategias para optimizar el proceso de desarrollo, mejorar la comunicación y mantener la satisfacción del cliente.
Desafíos de la gestión de grandes clientes corporativos
La gestión de cualquier cliente puede presentar dificultades, pero en el caso de los grandes clientes corporativos, es más habitual encontrarse con retos que pueden entorpecer el desarrollo del proyecto en relación a como se había planteado de forma inicial. Los tres motivos principales son:
- Complejidad de las solicitudes: se solicitan proyectos personalizados y complejos, desde aplicaciones a medida hasta integraciones de sistemas dispares. Esto requiere recursos especializados y una planificación meticulosa para asegurar el éxito del proyecto.
- Presión por resultados: en grandes empresas es habitual tener plazos ajustados y altas expectativas de calidad. No cumplir con estas expectativas puede tener un impacto negativo en la reputación de la empresa y en las relaciones comerciales.
- Cambios en los requisitos: existe la posibilidad de que, durante el desarrollo del proyecto, cambien los requisitos. Esto tiene un impacto grave en la planificación que se haya realizado al inicio, por lo que es necesario mostrar flexibilidad y también definir unos límites en cuanto a qué cambios se pueden llevar a cabo y cuáles no, evitando así retrasos y costes adicionales.
Cómo abordamos en Digital55 los altos volúmenes de peticiones de desarrollo
Conscientes de los desafíos que implica gestionar picos de peticiones de desarrollo, hemos implementado un enfoque estratégico para abordar todas las solicitudes de forma ágil y eficiente.
Planteamiento y delimitación inicial
Lo primero que hacemos con cualquier cliente o proyecto es la planificación. Dentro de ella, tenemos diversas reuniones con el cliente para comprender sus necesidades, objetivos, tecnologías a aplicar, punto de partida, etc. Cuando realizamos la propuesta, delimitamos el alcance del proyecto (incluyendo las funcionalidades, los plazos y el presupuesto) y explicamos claramente los recursos disponibles y cómo se gestionarán posibles cambios en los requisitos.
Planificación y asignación de los recursos
La gestión de los recursos disponibles es especialmente importante. Asignamos los recursos de forma eficiente a los proyectos, no solo considerando sus perfiles (experiencia, habilidades, etc.), sino también definiendo muy claramente las funciones de cada uno.
En los casos en los que se solicitan equipos de desarrollo completos para abordar distintas funciones, solemos hacer especial hincapié en la jerarquía y el porcentaje de dedicación de cada uno de ellos. Para abordarlo, analizamos la situación y las capacidades de tiempo y de recursos y, si es necesario, hacemos una propuesta de estructuración en bloques, segmentando a los perfiles en squads de trabajo atendiendo a la naturaleza de los trabajos.
Cuando aplicamos este método, nos aseguramos de que cada bloque esté enfocado a liderar un tipo de tareas específicas y que tenga sus recursos asignados desde el inicio. No obstante, siempre pautamos una flexibilidad, en el sentido de que, si fuera necesario, puedan ser modificados para adaptarse a las circunstancias vigentes de cada momento y ofrecer una mejor respuesta.
Priorización y gestión de peticiones
Es fundamental establecer un sistema claro de priorización para clasificar las solicitudes de desarrollo en función de su impacto en el negocio, la urgencia y la complejidad técnica.
Se deben identificar aquellos proyectos que impactan positivamente en la satisfacción y retención del cliente, asignando recursos de manera estratégica. La distinción de este tipo de peticiones será mucho más sencilla si se recopilan métricas de valor o si la categorización la realiza un perfil con experiencia en la gestión de solicitudes.
Una alternativa muy adecuada es que sea el propio cliente quien decida qué considera urgente o importante y qué peticiones pueden esperar. De cualquier modo, en caso de que no sea el cliente quien lo determine, es recomendable comunicarse con él para trasladarle la clasificación y la prioridad de cada petición. Así, estará al tanto y podrá intervenir si considera que alguna de las prioridades puede cambiar.
Uno de los sistemas de clasificación más comunes contempla cuatro categorías según la prioridad: baja, media, alta y crítica. Sin embargo, esto puede depender del proyecto y el cliente, por lo que es clave que dentro de este sistema de priorización haya flexibilidad para adaptarse a cada proyecto.
Definición de los niveles del servicio
Los niveles de servicio delinean los estándares de disponibilidad, rendimiento y calidad con respecto a las peticiones de servicio realizadas con respecto al proyecto. A través de ellos, delimitamos aspectos como los canales por los que se gestionarán las peticiones, el horario de recepción de las mismas y los tiempos de respuesta.
En nuestro caso, solemos tramitar las peticiones de servicio a través de un buzón específico o un tablero de Jira disponible 24 horas, aunque el método determinado puede variar en función de las necesidades del cliente y de lo que acordemos con él para el proyecto.
Con el objetivo de ofrecer el mejor servicio a los clientes, establecemos tiempos de respuesta para las dudas y peticiones de información, considerando que, si estas requieren de investigación o elaboración de la información, podemos solicitar al cliente un plazo superior.
Al recibir una nueva petición de desarrollo, la dirección de operaciones estima el esfuerzo necesario para resolver el problema reportado o añadir la nueva funcionalidad solicitada, así como el plazo necesario para tener el desarrollo listo. Es cuando el cliente aprueba la estimación cuando se fija la fecha de entrada en cronograma y salida al entorno de pruebas, comunicando la fecha prevista de entrega.
En cuanto a las incidencias, normalmente el plazo máximo se determina en base a su criticidad, haciendo así que sea más sencilla la priorización de las tareas urgentes. Esto, de igual modo, se acuerda con el cliente al inicio del proyecto.
Plan de gestión de cambios y versiones
Otra herramienta de gran utilidad es el establecimiento de un plan de gestión de cambios y versiones. Este establece un marco de trabajo que permita gestionar de manera eficiente las modificaciones, actualizaciones y versiones durante todo el ciclo de vida del proyecto.
Los aspectos clave en él son los siguientes:
- Identificación y unificación de los cambios: cualquier cambio o petición evolutiva requerida deberá ser trasladada a Digital55 mediante la herramienta de gestión determinada. Esto permitirá tener una visión general de las áreas donde se requieran esfuerzos de desarrollo, además de servir como guía para la planificación del tiempo y los recursos.
- Clasificación y estimación de los cambios: cada solicitud deberá ser categorizada según su prioridad (crítica, alta, media o baja). Se elaborará una estimación del tiempo de resolución o desarrollo para las mismas.
- Desarrollo y aplicación de los cambios: una vez aprobados, se procederá a realizar los cambios o evolutivos necesarios, gestionando su evolución en la herramienta que se haya determinado y realizando las pruebas pertinentes para su entrega.
- Documentación: durante todo este proceso, todos los perfiles del equipo involucrados se encargarán de completar y modificar la documentación, asegurando que se encuentre siempre actualizada. La documentación detallada de cada cambio se almacenará en un repositorio accesible para el equipo.
- Gestión y control de versiones: las versiones serán etiquetadas claramente con sus respectivas características y mejoras. Se utilizará un sistema de control de versiones (por ejemplo, Git) para rastrear y gestionar cambios en el código fuente y la documentación del proyecto.
Otras estrategias para la gestión eficaz de peticiones de desarrollo
Comunicación efectiva
Es importante definir claramente los objetivos, el alcance, los plazos y el presupuesto de cada proyecto desde el inicio. Esto permitirá establecer expectativas claras con los clientes, disminuyendo desde la propia recepción de la petición la posibilidad de incertidumbre.
Y, para mantener esta gestión de expectativas durante el transcurso del proyecto, debe darse una comunicación clara, transparente y regular. Aunque las comunicaciones pueden darse por distintos canales (reuniones periódicas, correos electrónicos, herramientas de gestión…), recomendamos que se establezca un canal de comunicación centralizado para la recepción y el seguimiento de peticiones, como un portal del cliente o un sistema de gestión de tickets para automatizar la recepción, clasificación y asignación de peticiones.
Algo que es completamente habitual en cualquier sector es que la gestión de peticiones y comunicaciones se dé a través de correos electrónicos. Aunque es un método simple y efectivo, se debería trasladar la información de este canal a la herramienta de gestión que comentamos. Para ello, son claves perfiles como el project manager o el product owner.
Flexibilidad y adaptabilidad
La capacidad de adaptarse rápidamente a los cambios en los requisitos del proyecto es fundamental para gestionar eficazmente las solicitudes de clientes corporativos. Esto puede implicar reasignar personal, cambiar la programación de entregas o incluso modificar el alcance del proyecto para adaptarse a las necesidades cambiantes de los clientes.
Aplicación de las metodologías ágiles
Aunque prácticamente todos los equipos de desarrollo actuales aplican este tipo de metodologías, no siempre se hace de la manera adecuada. Seguir las pautas de metodologías como Scrum o Kanban puede ayudar a dividir los proyectos en sprints manejables, mejorar la colaboración y la comunicación, y facilitar la entrega rápida de software de alta calidad.
Por ello, es esencial que todos los miembros del equipo tengan conocimiento en la aplicación de estas metodologías e incluso en algunos casos se hace necesario contar con perfiles clave como el Scrum Master.
Automatización de procesos
La automatización de procesos repetitivos en la gestión de solicitudes de desarrollo puede aumentar significativamente la eficiencia operativa. Herramientas de gestión de proyectos y desarrollo de software permiten automatizar tareas como la asignación de recursos, la programación de entregas, el seguimiento del progreso y la generación de informes.
Además, la automatización estandariza los procesos y minimiza los errores humanos, lo que resulta en una entrega más consistente y de mayor calidad de los proyectos. La implementación de flujos de trabajo automatizados también puede ayudar a reducir el tiempo de entrega y los costes operativos.
La importancia de la gestión
En definitiva, cuando una empresa debe afrontar un volumen de peticiones mayor de lo habitual, los factores clave son dos: la flexibilidad y tener una metodología de gestión de peticiones adecuada tanto a su forma de trabajo como a las necesidades del cliente.
Si no se cuenta con esa metodología y se recibe el pico de solicitudes de desarrollo como un imprevisto, los esfuerzos que se deben hacer por parte del equipo son mucho mayores y pueden llevar a una situación de agotamiento y estrés y, con ello, a una caída en la calidad de las entregas.
Por ello, es esencial que cualquier empresa se plantee con antelación cuál será su forma de afrontar estas situaciones. En el caso de las grandes empresas que contratan estos servicios de desarrollo a otras como consultorías de software, el peso recaerá en la elección del partner tecnológico que les acompañará.
Gracias a nuestros más de 15 años de experiencia trabajando en el desarrollo de software para grandes empresas, tenemos un proceso de gestión de peticiones definido al detalle. Nuestros programadores expertos y nuestros perfiles de gestión tech-head aseguran que se completen las solicitudes con el nivel de calidad necesario por el que apostamos en cada uno de nuestros desarrollos.
Si buscas perfiles técnicos clave expertos en desarrollo de software de calidad, contáctanos y te damos más información sin compromiso.