En la famosa reunión , una de las conclusiones fue la necesidad de incrementar la velocidad de desarrollo. Eso implica (al final se ha comprendido) más mano de obra.

Y ahora tengo que presentar el mejor modelo para ello. Cuando era consultor presenté unas cuantas ofertas demostrando que era mejor subcontratar (pero a nosotros, claro) que contratar . Cuando estás en el otro lado de la mesa las cosas no son tan blancas o negras y cada alternativa tiene matices de gris que no puedes obviar.

Contratar proyectos cerrados
El coste es, por definición, más alto (el consultor tiene que cubrir las eventualidades), implica tener una metodología interna para poder definir claramente los requerimientos y ser más o menos serio definiéndolos. Creo que no nos encajaría, salvo en proyectos de alcance muy claro: DataWarehouse, nueva página web para clientes, ese tipo de cosas. Pero no para el desarrollo de una aplicación de gestión de almacén de baja rotación (un ejemplo).

Desarrollo en factoría
Tampoco. Hemos tenido alguna experiencia y es un modelo muy poco flexible. Seguramente valga para procesos (y organizaciones) muy maduros, pero cuando quieres innovar en el procedimiento y sabes que la primera versión de la aplicación es poco más que una beta, se vuelve demasiado rígido. Además, yo creo que el que programa no puede ser un simple "picador de código". Tiene que conocer el negocio, la compañía y, si se puede, incluso a los usuarios. Sé que esto va en contra de las penúltimas tendencias (en las últimas vuelve el in-housing), pero, en frase tipo slogan, "las aplicaciones son la empresa".

Contratar personal
Difícil. Además de la poco flexibilidad, somos una oferta poco atractiva para un "tecnólogo", que preferirá trabajar en una consultora o empresa de tecnología pura, con, al menos en teoría, mayores probabildiades de actualizarse, conocer nuevos entornos, etc. Además, posiblemente una nueva incorporación implicaría un coste superior al de las personas que ya están dentro desempeñando funciones similares (coste de atracción), con la tensión interna que eso conllevaría.

Outsourcing in-company
Tener un par de personas de una consultora asignadas a tiempo total. A todos los efectos se integran como personal de plantilla, pero cuando hay bajas no pagas o viene otro y el asegurar el "cargable" hace que el consultor te haga descuentos de casi el 40-50% respecto al mismo precio en proyectos cerrados. Además, para proyectos concretos, se cierran plazos para evitar la procastianción habitual en desarrollos internos (y poder apretar un poco en plazos). Cuando estaba en consultoría, llegamos a estar hasta 100 personas con este modelo en grandes clientes. Más ventajas: metes cierta presión en el equipo propio, que puede ver que nadie es insustituible (por si alguno tiene esa tentación).

Así que con esto tengo que convencer al responsable de desarrollo, al que no le gusta nada ningun cambio: ni externos, ni nuevos a los que enseñar y al DG, al que no le gustará pagar la factura de un programador externo un 30% más caro que uno de plantilla, aunque tampoco querrá ampliar la plantilla.

PD: Otra solución sería encontrar un par de programadores freelance que aceptaran trabajar con un horario. Menor coste para nosotros y más ingresos para la persona. Lamentablemente, los intentos de encontrarlos han sido infructuosos.