Conseguir y entregar grandes proyectos desde la perspectiva de una pequeña empresa
DrupalCamp Spain 2016
Por Ramon Vilar / @rvilar
Índice
Contexto
El equipo
El proceso de venta
La metodología
Trabajar conjuntamente
Cultura
Impacto en tu negocio
¿Qué es una pequeña empresa?
Para el ámbito de esta presentación, definiremos una pequeña empresa cómo aquella que...
- Equipo de 3-10 personas
- Multifuncional
- Horizontal
Tipología de proyectos
Este tipo de empresas suelen trabajar en un tipo de proyectos concretos:
- 1 a 4 meses
- Proyectos de clientes y sectores completamente distintos
- Si alguna vez se consigue trabajar para grandes clientes, suele ser a través de grandes agencias
¿Qué nos gustaría?
Queremos eliminar capas entre nosotros y nuestros clientes para poder trabajar de una forma más cercana a ellos
Queremos proyectos que duren como mínimo 6 meses para evitar el cambio recurrente
Intentar hacer más proyectos para el mismo cliente
¿Cómo podemos hacerlo? ¿Cómo podemos transformar nuestra empresa para ser la empresa perfecta para ello?
El equipo
- Es imposible tener todo el expertise en nuestro equipo (cuestión de tamaño)
- Dos alternativas:
- Generalistas
- Foco en ciertos servicios
Generalistas
- Los desarrolladores, tal y cómo defienden las metodologías ágiles, no tienen un área específica de especialización
-
Puden hacer tanto front end cómo back end
- De todas formas, en nuestro equipo, normalmente tendremos gente más especialista en back que en front, por ejemplo
Servicios
- Podemos focalizar nuestro negocio en un conjunto muy específico de servicios
- Cuánto más focalizados en unos servicios, nuestro equipo será más especialista en estos
- Los grandes clientes suelen tener necesidades específicas en algunas áreas: rendimiento, frontend, etc. Transformad vuestros equipos en una solución para esta necesidad
Planificando nuestros recursos
- Qué pasa con los deadlines y los picos de trabajo en una empresa pequeña?
- Intenta adaptar tu equipo a las necesidades de trabajo que tienes normalmente
- No caigas en la tentación de fichar nuevos desarrolladores ante picos de trabajo
- Crea una red de colaboradores (freelance) y enséñales tu metodología de trabajo
- Acude a ellos ante picos de trabajo
El proceso de venta
¿Cómo podemos llegar a este tipo de clientes?
- Puerta fría
- Utiliza referentes del mismo tipo para poder introducirte
- Sé un experto en algo e intenta ser una necesidad para ellos
Para nosotros, por ejemplo, es más fácil acceder a un cliente desde el departamento de IT que no desde el departamento de márqueting
Diferencias en la forma de organizarse
- Típicamente, las grandes organizaciones usan metodologías clásicas en su funcionamiento
- Esto implica el generar una montaña de documentación "innecesaria" y ralentiza nuestro trabajo del día a día
- Puede ser una trampa para pequeñas empresas
Nuestra metodología: internamente
- Usamos agile para organizar nuestro desarrollo
- Historias de usuario en backlog de proyecto
- Nos organizamos en sprints de 2 semanas
- Retrospectiva al final de cada sprint para prevenir problemas durante el desarrollo
Nuestra metodología: externamente
- Sólo una persona o un grupo reducido cómo contacto para el desarrollo del proyecto (incluye alguien de IT)
- Intentamos extraer todos los requerimientos antes de empezar el desarrollo
- Entramos más a fondo en cada uno de los requerimientos durante el desarrollo
- Priorización del backlog con el cliente
- Reunión de demo con el cliente después de cada retrospectiva con un plan de pruebas para el cliente
Quién debe cambiar?
- Normalmente los clientes no usan agile en sus procesos
- Adapta su workflow para usar agile
- No intentes usar todas las técnicas agile en los primeros proyectos: progresa poco a poco entre proyectos
- Retrospectiva al final de cada proyecto para mostrar al cliente las cosas positivas de agile (y aquello que necesita mejorar)
- Introduce nuevos pasos en la metodología en el siguiente proyecto
Junto con los jefes de proyecto
- Como empresa pequeña, debemos intentar eliminar todas esas capas clásicas
- Reemplaza el comercial por un técnico que venda proyectos
- Utiliza lenguaje plano y directo
- No escondas los problemas ni los beneficios
Junto con el departamento de IT
- Integrate con el departamento de IT: intenta ser su consejero
- No te quedes en ser su ayudante. Intenta ser su consejero
- Se parte de su equipo
Cultura de equipo
- ¿Cómo le explicamos al cliente que el equipo no trabajará una semana porque está en la DrupalCon? ¿O en e DevDays? ¿O en la DrupalCamp?...
- ¿Cómo le explicamos que "gastamos" tiempo en hacer fixes y parches a módulos?
- Se claro desde un inicio con esto. Es parte del proyecto
Proyecto y comunidad
- Es un beneficio para nuestros clientes que se mejore Drupal como plataforma
- Trata de introducirlos a la cultura de la comunidad
- Ayúdales a crear una página en d.o y darles crédito en los parches y módulos desarrollados para su proyecto
- Esto les beneficia a ellos en la comunidad también
Finanzas
- Los grandes clientes suelen ser lentos en los pagos o tienen procesos muy estrictos
- Esto puede ser muy peligroso para las finanzas de una pequeña empresa
- Trata de introducir agile en la facturación de grandes proyectos
- Factura al final de cada sprint
Equipo
- Los desarrolladores se puedn aburrir de trabajar en grandes proyectos
- ¡Cuidado con la rotación!
- Combina pequeños y grandes proyectos en tus equipos
- Involúcralos en todas las fases del proyecto
- La clave es la motivación
Conclusiones
- Esto no es un TODO, es una receta
- Cuida a tu equipo
- Trata de humanizar la relación con tu cliente
- El departamento de IT será mejor para entrar que no el de marketing
Conseguir y entregar grandes proyectos desde la perspectiva de una pequeña empresa
DrupalCamp Spain 2016
Por Ramon Vilar / @rvilar