BLOG

Guía para elegir una tecnología de desarrollo con éxito (o cualquier otro proyecto estratégico)

Por [N4] dfalvarez el | Añadir comentario

Una problemática recurrente en casi cualquier empresa, por lo que hablo con amigos y conocidos, es encontrar una forma eficaz de avanzar en proyectos que se consideren estratégicos.

Las frases típicas que escuchamos cuando le preguntamos a alguien el motivo por el que un proyecto no avanza y que yo mismo he pronunciado en multitud de ocasiones son:

  • Es que el día a día me come
  • No tengo tiempo
  • Tengo mucho trabajo
  • Afecta a varios departamentos y no nos ponemos de acuerdo
  • Me surgió algo urgente
  • Eso puede esperar
  • Otros varios…

Esto es lo mismo que pasaba en Velneo hasta hace no mucho tiempo. Durante los últimos años hemos ido probando diferentes fórmulas, iterando y adaptando procesos, buscando formas de “forzarnos” a avanzar en ese tipo de proyectos, de alguna manera obligarnos a destinar una parte de nuestro tiempo y esfuerzo a aquello que consideramos importante para el futuro de Velneo, buscar los espacios y los tiempos que nos permitan trabajar a medio y largo plazo.

Un ejemplo muy claro se puede ver en el departamento de Soporte. Su principal tarea es responder a las consultas de los clientes, que entran durante todo el día. ¿Cómo hacemos para que puedan destinar parte de su tiempo a proyectos que aporten valor a largo plazo como fue en su día la migración a una nueva herramienta y adaptación con ejemplos de toda la documentación técnica de Velneo o la participación en la creación del curso de Velneo en campusMVP?

Otro ejemplo de un proyecto de gran envergadura y que implica un nivel de dedicación y esfuerzo titánico, aplicable a cualquier empresa de desarrollo de software, sería la migración de la herramienta o plataforma de programación usada, en un escenario en el que la empresa ya tiene sus productos desarrollados e implantados en decenas, cientos o miles de clientes. ¿Cómo podemos aislarnos de las siempre urgentes tareas del día a día y sacar adelante una decisión tan importante y estratégica para una empresa de desarrollo como es el cambio de plataforma?

Este artículo se basa en nuestra experiencia en Velneo, no pretende ser una lección para nadie. La cultura empresarial, por supuesto, es clave para que el proceso funcione eficazmente. Sin valores o competencias como el trabajo en equipo, el respeto, la participación, la aportación de ideas o la escucha, se hace prácticamente inviable conseguir el éxito del proyecto.

Este es nuestro proceso, espero que alguien pueda encontrar alguna idea que aplicar en su empresa y le funcione. Si es así, ya valió la pena este artículo del blog.

Problema nº 1: ¿qué son los proyectos estratégicos?

En Velneo consideramos proyecto estratégico cualquier iniciativa, de cualquier departamento (comercial, desarrollo, soporte…) de la empresa, que cumpla las siguientes características:

  • Estar alineado con los valores o estrategia de la compañía, los que sean.
  • Dedicación mínima de 150 horas de trabajo.
  • Implicar la participación de varias personas para su desarrollo, normalmente se requiere la colaboración de personal de diferentes áreas o departamentos.

Algunos ejemplos, para hacernos una idea de proyectos reales que hemos llevado a cabo en los últimos años con estas características:

  • Sustitución de la tienda web de Velneo
    • Investigación, pruebas y selección de proveedor tecnológico (prestashop, woocommerce…).
    • Integración con el ERP.
    • Integración con pasarela de pago.
  • Creación de curso online de Velneo en campusMVP
    • Elaboración de todo el contenido teórico (texto).
    • Elaboración de todo el contenido práctico (vídeos).
    • Negociación de condiciones con plataforma de formación.
    • Definición de políticas comerciales en relación al curso.
  • Gráficos nativos
    • Desarrollo e integración en la plataforma.
    • Pruebas y documentación.
    • Elaboración de ejemplos e integración en vERP.

Siguiendo con el ejemplo de un proyecto para la migración de plataforma de desarrollo, éste podría implicar las siguientes fases:

  • Definición de características o requerimientos de la nueva tecnología. Sabemos que en el mercado existen multitud de opciones, partiendo de las más estándar o extendidas, como .NET o Java. También que existen tecnologías obsoletas pero aún con millones de aplicaciones funcionando, como Visual Basic o FoxPro. Muchas de las empresas que usan estas herramientas obsoletas se están haciendo esta pregunta ¿A qué plataforma me paso sin morir en el intento?.
    • Ejemplo de requisitos:
      • Madura.
      • Especializada en aplicaciones empresariales.
      • Con soporte y actualizaciones incluidas.
      • Con lenguaje, documentación y soporte en español.
      • Con ejemplos de código abierto.
      • Que funcione en la nube o en local.
      • Que permita conexión desde dispositivos móviles.
      • Multiplataforma solo programando una vez.
      • Abierta e integrada con otras tecnologías.
  • Investigación de mercado sobre las opciones disponibles, ventajas, inconvenientes y costes de cada una.
  • Preselección de 2 ó 3 opciones para testear.
  • Desarrollo de una aplicación de ejemplo con las diferentes opciones.
  • Comparativa de costes y productividad.
  • Elección de la nueva plataforma.

Problema nº 2: ¿cómo elegir los proyectos a llevar a cabo?

Este es uno de los grandes retos. Podemos encontrarnos con miles de ideas de todos los departamentos.

En Velneo escogemos proyectos 2 veces al año, con cada iteración semestral, haciendo coincidir el final de la iteración con la salida de la versión.

¿Cómo lo hacemos en Velneo?

  1. El Responsable de Producto habla con todo el mundo para recopilar ideas y revisa el foro de ideas, elaborando así una prelista de proyectos.
  2. En coordinación filtramos los proyectos que cumplen las características mencionadas anteriormente y se priorizan en base a importancia y esfuerzo necesario para, al final, dejar una lista de 5 ó 6 proyectos candidatos por cada departamento.
  3. Elaboramos un documento explicando en qué consisten los proyectos candidatos y se realiza una reunión donde participamos todos los trabajadores de Velneo para explicar los proyectos y resolver las dudas que puedan surgir.
  4. Ya estamos todos en condiciones de votar aquellos proyectos que se van a abordar durante los próximos 6 meses. Se envía formulario y todos los votos pesan lo mismo.
  5. Se escogen los dos proyectos más votados para cada departamento.
  6. Se elaboran equipos de 3 personas, preferiblemente de diferentes departamentos, con el objetivo de incorporar una visión global al proyecto. Procuramos confirmar con cada uno que está a gusto en el proyecto que le ha tocado y se hacen ajustes si hace falta. Nombramos siempre a uno de los miembros como LÍDER, responsable principal de que se ejecute el proceso adecuadamente, planificar las reuniones, asignar las tareas, etc… Cualquiera puede ser líder de un proyecto estratégico.

En el caso de un proyecto para migrar de plataforma de desarrollo, uno de los factores más importantes es la elección del momento adecuado para abordarlo, dadas todas las implicaciones que tiene una decisión de este tipo en la estrategia y el futuro de la compañía.

Si los máximos responsables deciden que ha llegado el momento, el proyecto puede comenzar con el equipo adecuado, que podría estar formado por un programador experto, un consultor encargado de las implantaciones en clientes y alguien del equipo comercial que debe conocer los requerimientos de la nueva plataforma, sus costes, sus tiempos de programación, etc… por el efecto que pueda tener en costes y plazos de desarrollo, con la mirada puesta en las consecuencias para los clientes o para la estrategia de marketing y ventas de la compañía.

Problema nº 3: ¿por dónde empezamos?

Una vez escogidos los proyectos a abordar durante la iteración vamos a empezar por una primera reunión llamada Inception, un concepto relacionado con el desarrollo ágil.

Esta reunión es básica para que el proyecto arranque con buen pie y su finalidad principal es centrar las expectativas de todas las partes. En esta reunión deben participar los miembros del equipo del proyecto y cualquier otra persona que tenga interés en el mismo y quiera aportar su punto de vista o sus expectativas.

De forma resumida, al final de la reunión de inception debe quedar claro y consensuado lo siguiente:

  • Motivación del proyecto
    • ¿Por qué lo vamos a hacer?
    • ¿A quién va dirigido? ¿A clientes? ¿A potenciales clientes?
    • ¿Qué va a aportar de valor a la empresa, a los clientes, a la organización?
    • Ejemplo para un proyecto de migración de plataforma de desarrollo: Para actualizarnos tecnológicamente, de forma que podamos dar soluciones modernas y más integradas a nuestros clientes actuales, reduciendo así el ratio de abandono (Churn), y aumentar nuestra productividad y competitividad con el objetivo de conseguir nuevos clientes.
  • La lista de los NO
    • Aquí se trata de centrar expectativas y alcance.
    • Tan importante como lo que SÍ se va a hacer, hay que dejar claro lo que NO se va a hacer, en que NO consiste el proyecto. Nos permite definir el marco de actuación para concentrar los esfuerzos en aquello que aporte más valor.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • No se trata de contratar más programadores que conozcan la nueva herramienta, sino que debemos formar a los programadores actuales.
      • No es migrar a todos nuestros clientes actuales al nuevo software de forma gratuita.
      • No es copiar la aplicaciones actuales y migrarlas a la nueva plataforma, tenemos que aprovechar el cambio para crear nuevas y mejores soluciones.
  • Personas con las que se va a interactuar.
    • Se trata de definir aquellos agentes externos con los que vamos a tener que trabajar para el proyecto. Pueden ser colaboradores, clientes, proveedores, etc…
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Proveedor de la nueva plataforma
      • Plataforma de formación online para la capacitación.
      • Empresa o página web de selección de personal, si queremos contratar a alguien con experiencia.
      • Comunidad de la nueva plataforma, para solicitar consejos o ayuda.
  • Qué nos quita el sueño:
    • En este apartado se recogen los aspectos que cada uno entiende que pueden poner en riesgo el éxito del proyecto o dificultar su desarrollo.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Que no seamos capaces de dedicar el tiempo que se requiere para analizar y validar las opciones tecnológicas del mercado que mejor se adaptan a nuestra compañía.
      • Que nuestros clientes no quieran quitar su software actual a pesar de que esté obsoleto.
      • Que no lleguemos a tiempo con el cambio y nuestros clientes nos abandonen.
      • Que no seamos capaces de “cambiar el chip” para adaptarnos a la nueva tecnología.
  • Tiempo de dedicación, equipo y coste
    • En este apartado, para finalizar, nombraremos a todas las personas que deberían participar en el proyecto, con su dedicación estimada, de forma que podamos calcular un coste estimado del proyecto y para que las personas implicadas lo tengan en cuenta de cara a su planificación del semestre. En muchas ocasiones no solo los miembros del equipo del proyecto tienen que destinar esfuerzos al mismo, sino que se requiere la participación de otros compañeros.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Responsable del Departamento de Desarrollo: 200 horas
      • Programador: 200 horas
      • Consultor/implantador: 100 horas
      • Coste total aproximado de personal: 15.000 €.
    • También se deberá indicar si es necesario para el proyecto la contratación de proveedores o colaboradores y el coste estimado.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Suscripción a la nueva plataforma: 3.000 €/año
      • Formación: 5.000 €

YA TENEMOS TODO LO NECESARIO PARA ARRANCAR EL PROYECTO

Problema nº 4: ¿cómo hacemos el seguimiento del proyecto?

Ahora viene lo más complicado, hemos decidido cuales son los proyectos a abordar, y los recursos teóricos a destinar para llevarlos a cabo.

Hay que ponerse manos a la obra y avanzar sin pausa para que el proyecto sea un éxito.

El primer compromiso que asumimos es la REUNIÓN SEMANAL DE SEGUIMIENTO, máximo de media hora (nosotros las hacemos los viernes), donde los miembros del equipo del proyecto además de Responsable de Producto y en el caso de Velneo también con mi participación como Coordinador, tendrán que ir revisando y documentando el avance, y decidiendo los pasos a seguir.

En Velneo usamos como herramienta de ofimática Google Drive desde hace muchos años. La ventaja principal es que facilita la colaboración al estar en cloud y permite que varios usuarios puedan editar simultáneamente el mismo documento. Para cada proyecto se crea un único documento de seguimiento con los siguientes apartados:

  • Indicador y objetivo del proyecto
    • ¿Como vamos a medir si ha sido un éxito o no?. Se trata de definir un indicador numérico, que se pueda medir, y fijar un objetivo consensuado que nos permita contrastar si lo hemos hecho bien.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Indicador: Aplicaciones internas en producción desarrolladas con la nueva tecnología.
      • Objetivo: 2
      • Se trata en este caso de confirmar que hemos elegido y probado con casos reales la nueva plataforma, y sin afectar a los clientes.
  • Hitos
    • Vamos marcando fechas concretas y el avance que debe llevar el proyecto a esa fecha.
    • No es necesario marcar todos los hitos al principio, sino que se pueden ir decidiendo sobre la marcha. En nuestro caso lo solemos marcar cada mes, se trata de comprometerse a ir aportando algo de valor, algo tangible, para no dejarlo todo para el final.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • 31 de enero: Realizada la preselección de 3 tecnologías que cumplen con los requisitos definidos.
      • 28 de febrero: Dedicación de 40 horas por cada programador a las pruebas y formación básica de las opciones preseleccionadas.
      • 31 de marzo: Desarrollo de 2 aplicaciones sencillas pero reales de uso interno para validar los procesos de programación e implantación de las aplicaciones.
      • y así sucesivamente
  • Documentación
    • En este apartado recopilamos los enlaces a cualquier otro documento o url de interés para el proyecto. Se trata de tener concentrada toda la información relevante del proyecto en un único documento.
    • Ejemplos para un proyecto de migración de plataforma de desarrollo:
      • Enlaces a las web de las tecnologías candidatas (.NET, Java, Velneo…)
      • Enlace al documento de requisitos.
      • Enlace al documento de análisis de costes
      • etc…
  • Tareas
    • Fundamental, cada semana, en estas reuniones, hay que marcar las tareas a realizar (que, quien y para cuando) y hacer el seguimiento de las mismas.
    • En el documento del proyecto creamos una tabla con tareas pendientes y otra de tareas realizadas. Revisar el cuadro de tareas pendientes es uno de puntos fijos en cada reunión semanal.
  • Actas
    • En cada reunión se comentan los avances de esa semana y se debaten los temas que sean necesarios y que cada uno haya aportado previamente al acta.
    • En este apartado quedan registradas todas las actas, que hay que trabajar previamente durante la semana.

Tenemos un máximo de media hora, así que es importante que se prepare la reunión a lo largo de la semana, que aquel que logre un avance lo refleje en el acta, que el que finalice una tarea lo refleje en el cuadro de tareas, etc…

Lo bueno también de las reuniones semanales es que así prácticamente cualquier tema puede esperar a la reunión, no es necesario planificar otras reuniones, los temas de debate que puedan surgir durante la semana se añaden al acta y se trata en la reunión.

Esa reunión debe centrarse en decidir los siguientes pasos y concretar las tareas.

Conclusión

Después de muchos años e iteraciones, esta es la forma que hemos encontrado y con la que nos sentimos cómodos, aunque seguro que seguiremos realizando cambios y mejoras durante los próximos años.

El resultado de muchos proyectos, que no todos, avala que es un método que nos ayuda a salir del maldito DÍA A DÍA para conseguir objetivos ambiciosos, novedades de la plataforma muy importantes para nuestros clientes o mejoras radicales en productos y servicios.

Artículos relacionados

https://velneo.es/como-crear-un-buen-departamento-de-programacion-en-tu-empresa/

https://velneo.es/10-consejos-para-mejorar-destrezas-de-programacion-y-ser-mejor-desarrollador/

Velneo es el entorno ágil para el desarrollo
de aplicaciones empresariales

DESCARGAR VELNEO

Deja un comentario

Esta web utiliza cookies. Si continúa navegando acepta dichas cookies y nuestra política de cookies. Gracias. ACEPTAR

Aviso de cookies