DIA 11 / 2018

Cómo planificar un proyecto siendo freelance

Los sistemas de trabajo impiden que cuando entra un proyecto nos lancemos como jabatos sobre el teclado. Aunque dependen de equipos, proyectos y situaciones, he ido sacando uno que me funciona en mis proyectos para un equipo pequeño (o muy pequeño), y me gustaría compartirlo.


De primeras, de un sistema de trabajo necesito que me permita:

  1. Organizar el trabajo
  2. Gestionar la comunicación con el cliente
  3. Mantener el trabajo desarrollado
  4. Poder auditar el proyecto
  5. Sincronizar toda la información entre equipos

Voy a empezar por el último.

5.- Sincronizar toda la información entre equipos

Es importante que las herramientas que elijamos nos permitan trabajar deslocalizados; realmente da igual si eres un equipo de una sola criatura, hay una parte del equipo no suele estar en nuestro espacio: el cliente.

A día de hoy es fundamental traer al cliente al equipo y esto requiere de un cierto funcionamiento como si fuésemos un equipo remoto:

si un miembro del equipo trabaja en remoto, todo el equipo trabaja en remoto.

Incorporar estas herramientas a nuestro día a día nos van a aportar mayor agilidad en comunicación y en revisión del trabajo.

Organizar el trabajo

Doy por hecho que ya se ha pasado una fase de revisión y valoración así que debemos tener algo parecido a un planning que pasar a nuestra aplicación de proyectos.

Hay un montón de opciones disponibles, yo uso Trello porque cubre desde un uso súper simple (como si fuese una lista de tareas simple) a algo con más exigencia (con usuarios, plazos, etiquetas).

Salvo que el proyecto lo requiera (intento tener más guías que reglas) suelo tirar de cuatro grupos de tareas: Listado general, en progreso, a revisar y completadas.
El cliente debe tener acceso a esta aplicación y poder revisar las tareas para pasarlas a completadas, o de vuelta al listado con comentarios si algo no está correcto.
Generalmente todas estas aplicaciones tienen un funcionamiento común:

  • agrupar las tareas en listas
  • un sistema de etiquetas medio ágil para poder clasificar las tareas
  • posibilidad de tener usuarios para asignarlos a las tareas
  • añadir comentarios, checklists, fechas, archivos a las tareas
  • una url única para cada tarea/lista

De todos estos me gustaría resaltar dos: etiquetas y fechas.

Etiquetas

Clasificar las tareas es imprescindible para que un proyecto no nos explote en la cara. Como siempre hay muchas formas diferentes, yo sigo la norma de es mejor tener un sistema que ningún sistema así que no tengáis miedo de probar, modificar o haceros el vuestro propio. Y si uno os funciona, ese el el bueno hasta que deje de funcionar o encontréis uno mejor.

De una tarea me interesa saber principalmente:

  • su estado: completada, pendiente, bloqueada…
  • su complejidad: Fácil, difícil, incómoda (es interesante quitarle las difíciles o incómodas lo antes posible)

Fechas

Cuando valoramos una tarea en tiempos solemos pensar en “cuánto voy a tardar en realizarla” y creo que es interesante plantearlo en “cuánto tiempo voy a dedicar a esta tarea” que nos va a permitir poner los pies más en la tierra, admitirnos que no vamos a hacer obras de arte y que disponemos de recursos limitados para cada proyecto.
Además nos va a permitir mejorar en nuestros presupuestos ya que aprenderemos como funcionan nuestros tiempos; somos personas, no máquinas.

Extras

Trello además tiene dos funcionalidades que me ayudan en el día a día permitiéndome trabajar menos y mejor:

  • Activar una dirección de email para cada tablero: de esta manera, cuando el cliente me envía un email yo puedo reenviarlo a esta dirección y queda añadido como una tarea más en la lista que yo le especifique, y me añade los archivos adjuntos que incluya el correo. Esto tiene un impacto directo en la presión y en la productividad de un proyecto porque nos ayuda a ser menos reactivos y a controlar el ritmo de trabajo, nuestro ritmo de trabajo. Es fácil de activar y configurar en nuestro cliente de correo para poder reenviarlos con un par de clicks al tablero correcto de manera que ya no se pierden más emails.
  • Activar un calendario: Trello genera y mantiene un calendario que podemos importar en nuestra agenda favorita que incluye las fechas que añado a cada tarea, y a poco que seamos medio rigurosos y usemos una aplicación de calendario podemos tener todas las fechas del proyecto en un mismo lugar.

La gestión del proyecto se come mogollón de tiempo, este sistema me permite tener un poco más de control y poder planificar el trabajo, que no se hace solo.

Gestionar la comunicación con el cliente

Que sí, que el mail se sigue usando, claro, pero no es un espacio de comunicación ágil y no es realista pedir una atención inmediata.
Con un cliente puedes tener varios proyectos y sería genial tener espacios diferenciados para cada uno de manera que no haya mensajes mezclados.

¿Que necesito que tenga esta aplicación?

  • Canales y mensajes privados
  • Aplicación móvil
  • Gifs e iconos (otro día hablamos del poder de los emojis)
  • Llamadas
  • Compartir pantalla

Como muchos, uso Slack que en general funciona decentemente bien y tiene integraciones con el resto de aplicaciones de manera que puedes tener, además, centralizadas las notificaciones de las diferentes aplicaciones que se usan en el proyecto. Por ejemplo, cada vez que realizas una acción en Trello puedes generar una notificación en un canal.

Ahora, “puedes” no es “debes”, todas estas notificaciones entorpecen la comunicación, ya sabéis: un gran poder…

Actualmente tengo un canal para cada cliente y las notificaciones van a un canal aparte de manera que gano fluidez con el cliente y tengo un “log” estupendo para consultar rápidamente si se hizo algo y cuándo.

Mantener el trabajo desarrollado

Estamos en 2018 (por poco) y usar un control de versiones con nuestro proyecto es gratis. GRATIS.

Para el sistema de control de versiones de moda, GIT, tenemos dos alternativas estupendas (hay más): GitHub y Bitbucket. Las dos tienen planes gratuitos para repositorios públicos solo que Bitbucket te permite además tener repositorios privados. Incluso si se trata de un proyecto minúsculo puedes tener el control de versiones funcionando en escasos 5 minutos y las ventajas son locura:

  • Se acabó el perder código
  • Puedes tener un proceso de trabajo por ramas que te permitan tener el trabajo organizado
  • Funciona para ti o para tu equipo incluso si tu cliente no se apaña con Git.

Las ramas nos permiten desarrollar tareas por separado y probar soluciones sin miedo a “romper algo”, como decía, estamos en 2018, ya no se pierde el trabajo.
Suelo usar dos ramas permanentes, master y dev, y luego tiro temporales dependiendo de la tarea page/loquesea, bug/loquesea, task/loquesea, y así…

Aquí hay un montón de formas de trabajar con ramas y commits, yo quiero tener un histórico de lo que he estado haciendo así que borro lo justo y no “ordeno” el historial de commits.

Poder auditar el proyecto

Esto no es buscar culpables (solemos ser nosotros) sino tener opciones a revisar cómo se ha trabajado y si se podría haber planificado mejor.
Porque mañana vendrá otro proyecto y claro que haremos cosas regulares, pero que sean otras, no?

Tampoco es una auditoría loquísma pero sí que quiero saber cuánto tiempo dedico a hacer las cosas porque no soy una máquina y me enfrento a malos días, días regulemos, tareas que son un rollo, que son importantes pero no divertidas…
Yo he detectado dos caso conflictivos: La cabecera con menú lateral mobile y que en desktop se queda fija y crear las variables y funciones SASS para empezar a trabajar.
No son dos tareas complicadas ni que exigen tres ingenierías (ni una) pero nunca las había valorado bien hasta que empecé a contar el tiempo dedicado.

Ahora no soy una máquina de valorar tareas, pero tengo más proyectos rentables que antes. Y con el extra que he ganado en el último proyecto me puedo pagar un año de una de las herramientas, concretamente la del tiempo, para poder medir mejor :)

Yo soy súper fan de Toggl. Uso la aplicación de escritorio junto con el plugin para el navegador que me da acceso a poder crear entradas de tiempo con el nombre de mis tareas de Trello (por ejemplo).

Para terminar, un apunte sobre las herramientas

Aplicaciones hay muchas, más bonicas, más baratas… Creo que es importante elegir herramientas que nos permitan aplicar nuestro sistema de trabajo y no que el trabajo con la herramienta sea un trabajo en si; Las funcionalidades están para que las usemos si las necesitamos, no por narices.


Si no tienes un sistema de trabajo claro puedes probar este, mejora lo que no te sirva y compártelo!