Imagínate una conversación telefónica como esta:

—Buenos días.
—Buenas, me han dado tu referencia y queríamos consultar contigo sobre un negocio que queremos sacar adelante.
—¡Ah! Pues bien, cuénteme…
—Es un proyecto sencillo pero de alto valor. ¿Te cuento entonces? —vaciló por un momento esperando una respuesta— Sí, es una pena que no nos podamos ver para ponerlo en común…
—Tengo algo de lío…
—Queríamos mandar un cohete a la luna y tenerlo de vuelta para dentro de un mes.


—¿Perdone? ¿Qué dijo de la luna?
—Sí, es para enviar un cargamento, compartimos contigo esta gran oportunidad de negocio, pero necesitamos actuar antes que la competencia.
—¿A la luna dice? —respondió él aturdido
—¡Claro! Es que mire, antes trabajaba en la NASA y ahora estoy montando una empresa paralela.
—Ya, pero es que está llamando a una frutería.

La conversación es un diálogo de besugos, pero refleja bien el espíritu de este envío dominical y de una experiencia reciente que quería compartir contigo.

¿Qué podemos hacer cuando nos ofrecen un proyecto incalculable e infinito?

Da igual si es para un freelance o una empresa, ¿cómo nos metemos ahí sin acabar perdidos en el espacio?

¿Estamos capacitados para hacerlo?

Sería la primera cuestión a resolver, la más honesta de todas.

Tal vez no seas la persona adecuada o tu equipo no esté alineado con los requisitos del proyecto.

Es muy goloso pensar en positivo, vernos con un proyectazo que pague las facturas de muchos meses, pero, ¿cuál sería el coste para nosotros?

Piensa que muy probablemente necesites formar un equipo con gente de confianza o ampliar el que ya tienes para una gran magnitud.

Que no querrás meterte en complicaciones con profesionales de los que no tienes referencias. Esta parte humana es la más importante de todas.

Antes de dejarse conquistar por cantos de sirena más vale tomar lápiz y papel y dibujar (así es, con líneas y círculos) la verdadera magnitud de lo que nos proponen. Pintar el cohete, la luna, el astronauta y equipo de tierra y, a partir de ahí, con flechas sacar las implicaciones reales de enfrentarse a algo así.

Quizás sea ridículo pensar en ir a la luna como en este dibujo, pero tal vez alguien en algún momento hizo algo parecido hace siglos y mira ahora donde estamos…

Si la respuesta es un “Si”, entonces continuamos.

Evita las sorpresas

Para mí es el punto más difícil, ya que se basa en la confianza que te ofrezcan esos clientes. La grandeza de un encargo a veces esconde lagunas propicias para la trampa y la “ausencia de verdad”.

Por ejemplo, es interesante solicitar referencias de la empresa que esté detrás del pedido.

Si está conformada, su histórico.

Si no lo tiene, entonces el de las personas que te han contactado. Googlea sus nombres, actividades…

Es tan malo que no aparezca nada como que los resultados sean abultados pero de noticias negativas.

Todo lo que esté por escrito, mejor. Es cierto, hace falta hablar, comunicarse y conectar con estos nuevos clientes, pero las cosas realmente importantes deben estar escritas.

No sólo como prueba, sino como material de consulta para poder tejer las relaciones entre lo que quieren y lo que tienes que ejecutar.

No hay tecnología indivisible

En cuestiones de computadores no hay nada más pequeño que un bit, un uno o un cero. Esa es la mínima unidad. Así que todo proyecto infinito puede ser dividido en trozos más pequeños.

Hazlo en cuanto recibas la propuesta. Seguro que en la misma exposición ya te hablan de “ejes”, “líneas”, “patas” o sinónimos para distinguir partes de lo que se quiere ejecutar. Saca beneficio de ello y divide ya la tarea en principal en partes más pequeñas.

Luego, sigue iterando, para dividir en funciones más pequeñas, hasta que quede un conjunto de elementos distinguibles, entre los que puedes buscar enlaces de conexión.

Por ejemplo, una aplicación que tiene que guardar información desde el móvil, almacenarla en un servidor y poder generar informes.

En un contexto de mil empleados de una empresa. Ya tienes dos elementos de hardware diferentes: móvil y servidor. Dentro de los primeros dispositivos quizás tengas que pensar en Android e iOS. Habrá perfiles de usuario: administrador de empleados, gestor de informes y empleados.

Y así seguiríamos hasta desgranarlo todo, con o sin la ayuda del cliente. ¿Esto es mucho esfuerzo? Sí, pero para eso respondimos afirmativamente a la primera pregunta.

El entregable continuo

Me he inventado este concepto. Esta de la mano de la “integración continua” y de los métodos ágiles. Así, sin miedo .

Uno de los problemas mayores en trabajos muy grandes es la gestión de expectativas.

El cliente tiene en su cabeza una idea global y quiere tenerla resuelta cuanto antes (ir a la luna y volver). Pero no tiene ni idea de todo lo que se va a encontrar en el camino (meteoritos, tormentas solares, un astronauta poco currante…).

Hay que ir haciendo crecer ese aplicativo con pequeñas entregas de funcionalidad completa. Es muy parecido a lo que comentaba en el episodio del testing.

Como se supone tenemos dividido el proyecto en trozos más pequeños es factible poder planificar estas entregas y que tengan sentido para que hagan crecer a la aplicación. Validamos con el cliente cada paso, obtendremos un precioso feedback y la gestión de expectativas será mucho más sencilla.

Un mundo ideal, ¿has podido hacerlo así alguna vez?

Todo esto que cuento sería factible si el mundo fuera una jardín de flores donde los osos amorosos disparan corazones de colores. La realidad es otra, ¿a que sí?

Cambios no previstos, falta de financiación, compatibilidad con otro trabajo, conciliación familiar, incomunicación, falta de sinceridad… Son solo algunos de los “meteoritos” que encontraremos en el camino.

Lo más importante es tener las ideas clara, una planificación firme y llevar la iniciativa.

Dos enlaces más, por si quieres seguir tirando del hilo:

¿Te ha gustado este contenido? Apúntate a mi newsletter dominical para recibir más textos como este, llenos de la experiencia ganada con los años.

https://www.danielprimo.io/newsletter

En el enlace de arriba.

¿Quieres ser mejor desarrollador?

Escrito por Dani

Soy programador web, podcaster y formador. Especialista en frameworks basados en PHP, aunque mis favoritos son los microframeworks en varios lenguajes (Python, Javascript) en los que constuyes de verdad a la medida la aplicación de tus sueños. Aquí puedes conocerme mejor.
comments powered by Disqus