Ingeniería de proyectos con metodología colaborativa y evolutiva

Ingeniería de proyectos con metodología colaborativa y evolutiva

Ningún cliente sabe con absoluta certeza en alcance de sus proyectos.

Bajo esta premisa los proyectos hoy en día se presentan en un escenario completamente abierto no basados en predicciones iniciales ni etapas completamente claras, es más; deben planearse con el cliente de forma abierta, colaborativa y aplicando ingenierías de software ágiles y flexibles. Ahora los desarrolladores tenemos que ser capaces de entender qué es el proyecto, para qué le sirve al cliente y ponerse en su propia piel.

La idea es crear un producto, de rápida implantación y en donde el cliente vea progresos prácticamente en semanas, en donde pueda acceder, colaborar, mencionar y corregir sobre la marcha.

Tengo que reconocer que siempre he sido un poco anárquico a la hora de gestionar proyectos, siempre me ha gustado contar con el cliente de forma clara, tácita y con poca documentación. Desde mucho antes que la metodología Ágil se implantara cual virus en internet, yo ya las usaba sin saberlo. Reconozco también que ha habido proyectos en los que esta forma de trabajar ha supuesto un trauma para muchos clientes, y que a veces se ha ido de las manos, no obstante desde que trabajo con metodologías Ágiles, los clientes están más satisfechos porque son ellos los que presentan sus ideas, las trasmiten, y enseguida las ven y las pueden “tocar”.

Entendiendo al cliente y su idea de proyecto

La mayoría de los proyectos errados, han sido consecuencia de pretender crear una monstruo de proyecto, perfectamente definido y descrito y con cientos de funcionalidades predictivas, sin el ánimo de adaptarse a los cambios y evolucionar. Como si el cliente tuviera realmente claro lo que quiere y lo supiera absolutamente todo sobre su empresa o cómo si éste fuera informático que necesita que le documenten la arquitectura o el modelo de datos. Los clientes, quieren una solución adecuada a su problema, no hay más!
No debemos hablarles en términos técnicos, debe ser más bien todo lo contrario. Ejemplo: a mi me gusta, sentarme a tomar un café con el cliente, escuchar, y ver como, con sus palabras , te explica su proyecto, la mayoría de las veces ni hablo. Es más me encanta imaginarme qué haría yo en su lugar. Me lo imagino e intento ponerme en su lugar, me gusta ver como el cliente está entusiasmado con su proyecto y quiere contagiármelo. Este ambiente es perfecto para que el cliente, se vaya dando cuenta de los retos que conlleva y lo que se consigue así es crear un entorno que esté por encima de los procesos técnicos o de un presupuesto o de un contrato.

Es importante valorar de verdad al cliente y que entienda que apreciamos su idea. En ningún caso haré un proyecto que no se adapte a su necesidad o que imponga nuestra filosofía de trabajo al suyo.

Otra cosa que me gusta hacer habitualmente es presentarme sin avisar en su oficina y volver a hablar del origen del proyecto y de las siguientes entregas. Soy claro, hablo de cómo vamos y de lo que falta, lo que no está hecho y lo que va debemos cambiar.

La mayoría de proyectos no tienen un objetivo absolutamente cerrado y en estos casos las prácticas Ágiles se convierten en un metodología de trabajo ideal porque no intentan prever nada, sino más bien la idea “no tengas miedo, vamos a comenzar a trabajar y vas a ir viendo los progresos”.

Decálogo para gestionar un proyecto

Desde mi punto de vista, estos son los 10 aspectos más importantes a la hora de gestionar un proyecto:

  1. Entablar con el cliente una relación en un ambiente y escenario en el que encuentre cómodo.
  2. Entregar software que suponga valor rápido para los clientes y que puedan trabajar casi desde el inicio del proyecto.
  3. El cliente debe saber que estamos dispuestos al cambio , que nuestro software es escalable y está abierto a una evolución constante y consensuada.
  4. Tener personas motivadas que desarrollen el producto entendiendo las necesidades casi tan bien como el propio cliente.
  5. Desarrollar un software simple y excelente.
  6. Hablar claro con el cliente, y siempre en persona, hacerle partícipe para que conozca al grupo de trabajo y cómo van lo progresos en su proyecto.
  7. Una atención y servicio continuados, intentando mantener un ritmo de trabajo constante.
  8. Implementar una estrategia de desarrollo incremental informando de lo conseguido.
  9. Menos documentación y más código.
  10. Evitar en lo posible fases de desarrollo, en su lugar implementar módulos funcionales que permitan al cliente trabajar lo antes posible.
No Comments

Post A Comment