Deja de subcontratar y céntrate en la causa y no en el problema

Muchas de las empresas que me topo día a día subcontratan personal para el desarrollo de software. Básicamente, encuentro 3 motivos por el que lo hacen:

1. Quieren ahorrar costes
2. Tienen un proyecto corto y no desean contratar personal adicional y/o fijo
3. No hay personas suficientes en el país o región.

Comencemos por el principio; el desarrollo de software es una actividad creativa que prueba hipótesis con software (antiguamente llamados requerimientos), pero no es una actividad industrial manufacturera. Cada vez que se desea implementar algo, no se sabrá si ello es cierto hasta que no se ponga en manos del usuario final un producto funcionando, lo que generará un ciclo de retro-alimentación hacia el equipo y la empresa.

 

Una vez que esto pasa, algo interesante ocurre… se comienza a incrementar la base de conocimiento grupal: las personas aprenden y descubren nuevas formas de hacer y resolver las cosas y constantemente las mejoran como parte de su actividad del día a día.

Por el otro lado, existe una característica principal que reside en que la mayor parte del tiempo los desarrolladores de software invierten su tiempo en pensar como resolver un problema y no en codificar, como muchos creen. El desarrollo de software es entonces una actividad actividad social, cuanto mayor sea la conexión o interacción efectiva y honesta entre personas (hablen y se comuniquen activamente), mayor será la efectividad y velocidad para  madurar las ideas.

A este indicador se le llama densidad social e indica que tan efectiva es la comunicación entre individuos de una organización. Cuanto más alto sea este indicador, mejor estará posicionada la organización para competir y mayor será su agilidad. El hecho de intercambiar efectivamente ideas y puntos de vista entre las personas aumentará notablemente el conocimiento grupal y permitirá tomar decisiones de forma efectiva. Imaginemos entonces al conocimiento grupal como una burbuja que flota sobre los equipos y empresa y crece con el tiempo.

Éste último a mi parecer es el mayor activo que tiene una empresa, incluso más que el el software en sí.

El aumento del conocimiento grupal hace que las soluciones y crecimiento de la empresa se pueda plasmar como  software o cualquier otra actividad no relacionada de forma sostenible. Debido a ello, éste último puede y se transforma constantemente en alternativas que podrían o no ser  un producto computacional.

1. Quiero ahorrar costes

Si quieres ahorrar costes deberías pensar que una vez que subcontratas bajas la densidad social, por lo que tu producto será mucho más caro de implementar. A su vez, el conocimiento grupal que tanto te costó crear no se generará con la misma frecuenta ya que los bucles de retro-alimentación entre el proveedor y tu empresa serán menos frecuentes, ya sea porque las personas están alejadas o no se sienten ni sentirán nunca parte de tu organización. A su vez, el día que tu proveedor cambie los miembros del equipo o los rote, se habrá destruído parte o la totalidad del conocimiento grupal por el que has pagado.

2. Es un proyecto corto por lo que no deseo contratar personal adicional y/o fijo

¿Quieres mantener a tu cliente fiel? Deberías centrarte en mantener el conocimiento grupal y densidad social alta para poder ofrecer nuevas soluciones y trabajar la confianza de éste con el fin de que te vea como su aliado. En la mayor parte de los casos, no existe tal cosa como un producto que comienza y termina, todo es un beta eterno que crece cuando tu cliente trepa el mercado, y es allí donde tu estás como su ayudante inseparable.

3. No hay personas suficientes en el país o región.

Seguro que si google o apple publica un aviso en el periódico habrá una lista larga de candidatos que desearán trabajar para ellos. Quizá el foco debería ser en lograr hacer tu empresa más atractiva, apoyando a las personas para que aprendan más de lo que a ellos le parece importante, incrementar la confianza y un sueldo acorde.

Son muy raros los casos donde es buena idea sub-contratar personal y en la mayor parte de los casos, es lo que se denomina optimización local, esto es, querer mejorar algo simplemente viendo una parte del problema.

El sub-contratar a su vez agrega complicaciones y complejidad adicional en las interacciones, y como normalmente los individuos o equipos subcontratados vendrán con la cultura de la empresa proveedora pero no la tuya, nunca terminarán de encajar dentro de las creencias y valores de tu compañía.

A mi parecer, subcontratar no es una idea maravillosa sino que una forma que ataca el problema sin resolver la causa, generando asi una maraña de nuevos inconvenientes. Todavía estás a tiempo de convencerme de lo contrario 🙂

Gracias por escucharme,
Erich

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *