Escogiendo al socio-proveedor de Software para tu compañía
Muchas son las empresas que dependen de proveedores en el área de tecnología y software para conseguir sus objetivos. Temas como nuevas líneas de negocio o la operación continua de su tecnología actual son casos generales donde un proveedor puede entrar en la ecuación y apoyar. Para cualquier compañía que hoy toca el tema tecnológico sigue siendo un gran reto el proceso de atracción, contratación y retención de gente en esta disciplina. Aunado a ello, el expertis de desarrollar software y lo que conlleva, es un gran reto para todas las organizaciones e industrias ajenas a este tema.
Existe una percepción por parte de otras industrias que las compañías de de desarrollo de software aprovechan el desconocimiento técnico de los clientes, fallan en el tiempo y forma de los proyectos que se planean, o abusan de estrategias y técnicas que demuestran el poco profesionalismo y conocimiento tecnológico del proveedor y sus involucrados.
Hoy es más difícil que nunca encontrar equipos comprometidos y transparentes que trabajen por empujar a los clientes y a la misma industria de software a mejorar. Con una industria que pronostica un crecimiento de hasta $101B USD, muchos son los interesados en estar en la fiesta de negocios de desarrollo de software. Es importante que quienes tomen la decisión de con quién colaborar, lo hagan con los equipos que se alineen a sus objetivos. Aquí el desglose de la presentación que hicimos como equipo de Icalia Labs en WeWork Seattle en Febrero de 2015.
Por qué considerar a un proveedor externo
¿Qué hace que una compañía tome la decisión de apoyarse de compañías externas en desarrollar software? Hay diferentes razones para seleccionar a un proveedor externo que apoye en el desarrollo tecnológico. Típicamente las que he visto y puedo destacar son:
- Necesitas enfocarte en tu core business sosteniendo las operaciones diaria de negocio y pensar plenamente en tu propuesta de valor, pensando en correr diversos experimentos y validar diferentes hipótesis.
- Recursos/gente/cultura no adaptada o adecuada para provocar el crecimiento. Esto sucede típicamente cuando has levantado capital y la naturaleza de invertir en los recursos adecuadamente ha sido sobrepasada por la necesidad de moverse rápido por cambios en el mercado, producto o industria.
- Quieres reducir costos en tu operación diaria mientras mantienes un crecimiento. Mucha gente prefiere en aumentar o reducir la capacidad de la fuerza laboral dependiendo del volumen del pipeline de ventas, retos operativos o estratégicos de la misma organización.
- Necesitas ayuda de una fuente externa no sesgada por la cultura y operación interna. En el mundo empresarial, típicamente para un intrapreneur, no existe alguien con el perfil de haber construido un producto digital en el pasado, mucho menos dentro de la organización. Tener un equipo dedicado a esta tarea puede ayudar a acelerar las intenciones y planeas.
- Quieres mejorar en el área de desarrollo de software como organización: decisiones, prácticas y procesos. Aún y si tienes un equipo interno dedicado a esta tarea, tu core business no necesariamente depende de software (aún). Empresas dependiendo de la construcción de software como parte de su día a día encajan aquí perfectamente, para aprovechar su expertis y transferirlo hacia dentro de tu organización.
Estar en una de las categorías anteriores es la razón por la cuál se debe seleccionar a un socio-proveedor de Software. La razón de la combinación “socio-proveedor” es porque se requiere desarrollar una relación a largo plazo.
Desde una perspectiva de proveedor, ser un elemento que simplemente se contrata o despide dependiendo de las necesidades del cliente, hace la operación del lado del servicio muy difícil: arreglos operativos, búsqueda de disponibilidad, asignar al talento adecuado. Desde la perspectiva del cliente, una dinámica así convierte la relación en algo efímero, sin ser prioridad o parte de la estrategia de la compañía que requiere de apoyo en Software; para etapas iniciales de las compañías puede ser que sea una estrategia que ayude a dar los primeros pasos, pero eventualmente el valor que podría obtener de una relación disminuiría a través del tiempo.
Antes de seleccionar a un proveedor, es importante también considerar los factores internos en la compañía. Los más esenciales son:
- Persona técnica a cargo del proveedor externo, preferentemente el Product Owner y dedicado al menos tiempo parcial a un producto o proyecto que está atendiendo un proveedor
- Bases e inicios de cultura ingenieril en la compañía. Al menos el buen uso de herramientas y prácticas para mantener la calidad y rumbo de lo que requiere la compañía que contrata.
- Aceptar el cambio como una constante.
Elementos a considerar en la selección
Una vez que comiences a hacer tu búsqueda o un proceso de licitación más formal, los puntos en los cuales debes enfocarte son para estar consciente que estás sumando con un equipo que es el mejor para TU SITUACIÓN. No será lo mismo para una organización grande con sistemas legado el ser comparada con una startup que aún no tiene siquiera un producto operando.
Cultura
Como cualquier otro aliado y proveedor, la cultura es esencial para que la química suceda. Visiones compartidas, valores y la misión del día a día vale la pena conocerlas.
Trabajo Previo
Es importante ver trabajo relevante del aliado y encontrar la forma en la que están agregando valor a cada uno de los clientes involucrados. Hay diversas compañías que hacen outsourcing de gran parte de propuesta de valor (tema delicado como negocio), y no es claro como un partner de software podrá manejar entes externos o la relación con entidades que tocan esa propuesta. Es muy bueno preguntar por clientes pasados y poder entrevistarlos, retos afrontados y cómo se resolvieron, así como estrategias y soluciones a nivel tecnológico para dimensionar las capacidades del aliado.
Herramientas y prácticas
Más que hablar de herramientas y prácticas modernas, diría que el factor más importante aquí es la capacidad de decidir por las mejores herramientas y prácticas dependiendo de la situación. Hay diferentes lenguajes de programación, frameworks, engines, y demasiadas prácticas constantemente compartiéndose para la implementación de Software. Implementar el mejor medio para el fin es lo que tu compañía necesita.
Gente detrás de la compañía
Pregunta al aliado acerca de la historia de los fundadores, mentores, el consejo directivo, los miembros que operan la organización y el trabajo del día a día en la compañía. ¿Cuáles han sido sus logros? ¿Pueden compartir contribuciones a áreas de open source de esta industria? ¿Existen blogs, libros o artículos que hayan hecho para compartir conocimiento? ¿Workshops, conferencias? Toda esta información es muy relevante. Una compañía comprometida con la industria es una compañía ayudando a otros a triunfar y sobresalir.
Calidad de su trabajo
Pregunta al aliado sobre sus métricas — cómo miden la calidad del trabajo que entregan a los clientes. Muchas compañías no tienen ningún tipo de medición sobre la calidad de su trabajo, ni siquiera pueden calificarla de alguna manera. Hay factores muy importantes a considerar: Tiempo de lanzamiento de productos a mercado, satisfacción de los clientes, velocidad por entregable, garantía en entregas, atención, entre otros. Nuevamente, hablar con clientes previos, incluso actuales, del aliado que buscas tener para entender la experiencia de colaboración. Espera buenos y malos comentarios — hay que entender que muchas veces el cliente (particularmente el Product Owner) afecta el valor que se trabaja, pero siempre contrasta estos comentarios con los puntos previamente descritos.
¿Y de precios qué tal?
El factor de precio depende de distintas variables. Los factores principales alrededor del precio que podrías obtener están basadas en:
- Locación geográfica del equipo que provee el servicio
- Tipos de experiencias que puedan proveer durante la relación
- Tipos de servicio que puedan ofrecer durante la relación
- La suma de los puntos anteriores
En términos de propuestas, encontrarás sólo 2 enfoques: 1) Servicios por entregables, y 2) Tiempos y Materiales (precio por hora-hombre). El primer esquema considera un alcance en términos de esfuerzo, metas y un entregable concreto, probablemente con una garantía en el servicio, dependiendo del aliado. El segundo esquema es el más típico para Mantenimiento y Operación de productos existentes, pero muchas empresas de software determinan el precio de sus servicio basados en esto. Típicamente es el cálculo de gente involucrada con un cliente multiplicado por las horas y multiplicado por precio por hora que se tenga establecido en la empresa.
Personalmente el primer esquema es mucha más sano para ambas partes: el aliado se compromete a entregar, con sus debidos mecanismos para clarificar los entregables y avances del alcance determinado, y por otro lado el cliente tiene perspectiva de lo que se está trabajando. El segundo esquema puede ser muy caro para compañías que no tienen experiencia en desarrollo de software o en manejo de equipos ingenieriles. Se pueden mal interpretar los esfuerzos y la priorización del proyecto podría ser mla hecha si el Producto Owner no tiene la capacidad de tomar decisiones fuertes de producto.
Temas adicionales deben ser importantes para la evaluación de precio tales como lo legal, manejo de husos horarios, cultura de la región del partner, entre otros, pero esos factores pasan a segundo plano a comparación de los primero mencionados. Esta respuesta en Quora explica con gran detalle las diferentes situaciones que ocurren en servicios de software respecto a proyectos y precios.
Manteniendo el valor de tu equipo de tecnología
No hay que pensar que esta estrategia de alianza es un sustituto para tener un equipo interno en la organización. La estrategia de la que hablamos debe promover la colaboración y el beneficio de la compañía que requiere apoyo en desarrollo de buen software. Esto significará una inversión para acelerar su camino hacia más talento y conocimiento por sus enfoque continuo en desarrollar software, potencialmente para múltiples empresa con diversos retos.
Ten en consideración:
- Tu proceso de reclutamiento debe estar sucediendo constantemente
- Entrena y motiva a tu equipo, siempre
- Define procesos y documenta conocimiento listo para ser compartido
- Empieza y/o crece tu equipo interno a la par con la estrategia de tu aliado de software
Más que proveedores, hay que buscar aliados con los cuales crecer. Más allá de una compañía a la cual se le delegue el trabajo, hay que contar con el apoyo de expertos que reten el status quo, cuestionen las decisiones y propongan lo que ayudará a cumplir la misión del producto o de la compañía misma.