Asimetría de la información Parte II: Se puede aprovechar la economía de escala en el desarrollo software? Que alternativas hay?
Primeramente, pensé que el truco tenía que encontrarse en el concepto de economía de escala, los tostadores, refrigeradores, etc, son menos costosos por que se producen en grandes cantidades. Claro, eso explica por qué es más barato comprar un tostador que construir uno por mí mismo, pero ¿Qué pasa con el software que construyen las consultoras? ¿Aplica ahí el mismo principio? ¿Y con el software de procesador de textos que podría estar usando para escribir esto?
Un procesador de textos puede tomar, si se acumulan las horas necesarias para fabricarlo, décadas de esfuerzo, ciertamente yo no podría financiar la construcción de uno. Y sin embargo, Microsoft vende miles de copias de Word cada día… el costo unitario de fabricarlo solo le permitirá a personas como Carlos Slim tener uno, pero gracias a que se venden millones, el costo baja drásticamente… entonces la economía de escala también aplica al software? ¿Por qué cobran entonces tanto las consultoras? (Y más misterioso aun…¿ porque les pagan?) Bueno, la cuestión es que las consultoras no suelen fabricar software como Word… el nombre correcto para una empresa que vende eso es “vendedora independiente de software empaquetado” cosas genéricas que pueden copiarse una y otra vez, mucho más fácil de lo que se fabrica un tostador. Una consultora en cambio, construye productos a la medida de sus clientes. Si a cada cliente se le hace un producto distinto, la economía de escala no te puede ayudar.
Muy bien, entonces, ¿podemos concluir entonces que para la fabricación de bienes en serie, la economía de escala reduce los precios, mientras que para los bienes (o servicios) individualizados no aplica? Ciertamente esto podría explicar porque las consultoras cobran más caro que los desarrolladores individuales, pero deja volando a la pregunta fundamental ¿Por qué pagan las empresas para contratar una consultora, si contratar a los programadores individuales (aparentemente) seria más barato?
Investigando más, la razón más aceptada parece primeramente ser la noción de que una empresa especializada en desarrollo de software, aun pagando sueldos y cobrando margen, construirá con menor costo para el cliente el software a la medida por que absorberá la carga administrativa de llevar el proyecto, reduciendo el costo para los clientes y apalancando el gasto en los desarrolladores involucrándolos en varios proyectos a la vez. ¿Suena como una explicación satisfactoria no?
Pero entonces entra en escena el Chaos Report, estudios sobre el desarrollo de software concluyen una y otra vez: La mayoría de los desarrollos de software a medida fracasan, si acaso no exceden el tiempo y el presupuesto, la mayoría de todas formas termina dándole al cliente lo que pidió, y no lo que realmente necesita, y el modo más efectivo que hemos encontrado para evitar esos fracasos, el desarrollo ágil, mantiene entre sus elementos que debemos valorar más la Colaboración con el cliente sobre negociación contractual, esto quiere decir, que para que el proyecto sea exitoso se requiere un contacto continuo, los más cercano posible, con el cliente y su personal. Esto aparentemente echa por tierra nuestra intención de “absorber la carga administrativa de llevar el proyecto, reduciendo el costo para los clientes y apalancando el gasto en los desarrolladores involucrándolos en varios proyectos a la vez”. Si queremos que un proyecto de software a medida entregue lo que el cliente realmente necesita, aparentemente necesitamos personal dedicado a atenderlo, que se empape de la problemática a resolver, y sobre esa base ofrezca soluciones que ataquen de raíz los problemas del cliente…
Me resulta difícil ver como algo así (gente dedicada a un cliente/proyecto) podría escalar…
¿Como superan este problema las consultoras de desarrollo de software?
Bueno, una posibilidad se basa lo siguiente: puesto que hacer software es un tema complicado, los equipos que desarrollan software, necesitan, para ser realmente muy productivos, para llegar a ese punto es necesario pasar primero por un proceso de “cuajado”, que lleva un tiempo (semanas… a veces meses) si se realiza correctamente, y que le otorga al equipo una productividad mucho mayor que si fuera un grupo de personas que acaba de conocerse por que fueron contratadas todas para hacer un proyecto.
Ahora bien, si el giro de una empresa no es el desarrollo de software a la medida, es poco probable que esté interesada en contratar desarrolladores y cultivarlos hasta que “cuajen”, y aun después de cuajar, es poco probable que los conserven después de entregado el proyecto, de modo que el beneficio del “cuajado” acaba perdiéndose….
En teoría, de ahi podría provenir la ventaja de comprarle el desarrollo de software a una consultora, los beneficios de tener gente que aprende a trabajar junta y a “cuajar” entre si, le darían un tipo de beneficios similares a la economía de escala, que justificarían su existencia. Hemos encontrado por fin la solución ¿Pero que tiene Shaw algo que decir al respecto?
- TW figures out it can make a mint doing RoR projects for dumb ass MBAs at dumbass companies.
- TW goes for it and gets 60% of its business now all RoR.
- TW realizes that they can’t hire enough Ruby people to do that. Actually, they didn’t really try too hard since that’d mean paying the new people a fair salary.
- Yet, somehow they put 6-20 people on projects and claim that these people are Rails experts with a high standard of quality. These people actually had two weeks of training.
Shaw nos indica que en su experiencia, las consultoras (como TW) tienen tanta demanda de trabajo, que sencillamente no tienen tiempo para cultivarla, para esperar a que cuajen como equipo y dominen la tecnología con la que van a trabajar…
Sospecho que ahí está el problema que percibe Shaw. Las consultoras si tienen modo de ofrecer un valor muy por encima del que ofrece el contratar personas de forma directa, el problema es que al parecer no tienen tiempo para prepararla al grado que se requiere.
Pero… ¿Cómo es que entonces sobreviven? ¿Es que acaso solo aquellas que se toman el tiempo para cultivar a su personal realmente sobreviven? En el mundo de las consultoras TW (ThoughtWorks) es claramente reconocido como un líder de industria… creíamos que habíamos encontrado la raíz, pero Shaw nos ha presentado lo contrario… Tal vez la industria del software es demasiado nueva y no entendemos cómo funciona todavía estas cosas… ¿Quizá esto pasa en otras industrias?
¿Sienten Uds. que la gente que llega de consultoras esta mucho mas preparada y sabe trabajar mejor en equipo?
¿O dirían Uds. que la experiencia de Shaw coincide con la que han vivido y la gente que llega de consultoras llega tan desubicada como si la hubieran contratado directamente?
¿Si han trabajado en consultoras de desarrollo software y en empresas con otro giro: Sintieron que el proceso de reclutamiento era muy diferente cuando fueron contratados por consultoras de desarrollo de software? ¿era mas estricto? ¿o menos? ¿se notaba que tenían personal especializado realizando la búsqueda personal? ¿o parecían seguir el mismo proceso que si estuvieran contratando para cualquier otra area de la organización?
No se pierdan la tercera parte de esta serie...
- luxspes's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
a ver
En consultoras es bien raro el proceso de contratación. Si llegas tú a buscar chamba, se pueden poner super estrictos y al final "luego te llamamos". Pero si necesitan ellos gente, quién sabe de dónde carajos sacan tus datos... nunca se me va a olvidar un día en 2004 cuando estaba en su apogeo el proyecto del IMSS, que me hablaron 3 consultoras distintas por celular en un espacio de 1 hora, cada una me ofreció un sueldo mayor que la anterior. Yo no les había mandado mi CV ni estaba buscando chamba (y a fin de cuentas las 3 me ofrecieron menos de lo que ganaba en ese momento y preguntando un poco a cada una, las 3 me dijeron que era para el IMSS así que la neta ya no hubiera importado cuánta lana, algo olía muy mal ahí).
Me estaban ofreciendo chamba, con una llamada al celular, sin entrevista ni nada, directo al proyecto. Así de estrictos pueden ser.
En una empresa... pues yo estoy en una empresa que no es consultora y te puedo decir mi experiencia nada más: sí soy estricto para contratar gente, prefiero ser paciente y estricto y al final conseguir a gente que valga la pena, que por urgencias contratar a alguien que medio cubre los requisitos. Incluso el proceso abarca 2 entrevistas (yo hago una nada más, la técnica). A veces pasan esa primera entrevista, y no pasan la segunda (donde hablan de condiciones laborales, sueldo, aptitudes, etc). A veces no pasan ni la primera. Estuve buscando un programador durante un año exactamente, y al final creo que conseguimos a la persona más adecuada para el trabajo. Es un lujo que una consultora por lo general no se puede dar, porque los cabrones van y le venden al cliente que tienen un chingo de expertos y luego andan viendo de dónde carajos los sacan.
Creo que las consultoras no están del todo mal. El principal problema es esa gente que va y vende lo que no tiene, primero hacen promesas y luego ven si las pueden cumplir y le quieren echar la bolita a otros. Eso puede haber en donde sea, se llaman vendedores, pero pues en consultoras es donde nos toca verlo a los programadores porque somos el producto que venden.
En cuanto a la experiencia: la gente que ha trabajado en consultoras generalmente aprecia más trabajar en una empresa, y lo que veo de mi lado es que pues reaccionan mejor en emergencias, trabajan mejor bajo presión (creo que esto es debido a que ya lo han hecho antes y a que es algo que no ocurre seguido en la empresa), es como en todo: aprecian lo bueno porque han vivido lo malo.
Ley de la oferta y de la demanda, La vida te da sorpresas
je je je
Ley de la oferta y de la demanda ;-) ¿y la calidad? eso eso son cuento de hadas... aquí afuera, en el mundo real, peor es mejor
Ya te vas acercando a la perspectiva desde la cual Shaw ve las cosas... así como al punto al que llegare en la tercera parte de esta serie...
La paciencia tiene su recompensa claro...
Supongo que Shaw a vivido esto tantas veces, que por eso se pregunta si la existencia de las consultoras no sera algún tipo de histeria colectiva...
A menudo me pregunto si el famoso sentido común no es mas que el karma del sesgo de confirmación en el que tan a menudo caemos los humanos...
Ahhh, los vendedores, cuantas emociones negativas llegue a tener al respecto de ellos en mi primer trabajo... todo para convertirme por un tiempo en uno (y sorpresivamente en uno... bastante efectivo...) una década después :-S
La vida te da sorpresas, sorpresas te da la vida" ¡ay, Dios!...
...matón de esquina, el que a hierro mata a hierro termina...
Antes creia que todo vendedor en una consultora tendría que haber sido programador... ahora creo que todo programador debería tener que vender unas cuantas veces...
En fin... de estas presiones a las que están sujetos los vendedores... y los clientes... y de la asimetría de la información de la que disponen surge un curioso y agrio efecto...
Coincido
Sospecho que este es el origen de la furia de Shaw
aprecian lo bueno (trabajar en una empresa) porque han vivido lo malo (trabajar en una consultora) ? Ya empiezas a sonar como Shaw ;-)
Mi punto de vista
Trabaje un tiempo en gobierno y por lo menos donde me encontraba todos habian salido de consultoras y sinceramente son los mejores programadores que he conocido. Saben mucho, les apasiona su trabajo, estan dispuestos a enseñar y se organizaban muy bien... pero nadie queria regresar a consultoras! Uno de sus dichos era algo como "De aqui me voy solo patas por delante". Claro, porque en gobierno es muy poco probable que te corran. Si acaso te mandan a la oficina de los "castigados" i.e. el lugar donde mandan a la gente indeseable.
Por otro lado, he estado en consultoras donde parece que contratan gente recien egresada y para mi sorpresa hay personas que aunque tienen mi edad ignoran completamente cualquier otra cosa que no usen a diario en su lugar de trabajo e.g. no saben de git, TDD, scrum, et al. Y el peor ejemplo fue quizas uno de mis primeros trabajos: todos eramos recien egresados a excepcion del lider. Basta decir que no termino bien.
Me ha tocado de todo. En un lugar entre practicamente por las certificaciones que obtuve en la escuela. En otros nunca pude entrar (las entrevistas son abrumadoramente tecnicas) y en otros con que tengas una recomendacion de alguien bien parado puedes llegar hasta con un buen puesto.
Hay de consultoras a consultoras
Que tema tan interesante, luxpes siempre pone post debatibles y pues quiero compartir mi comentario con uds.
Yo he trabajado en diversas consultoras y actualmente me encuentro en una que le trabaja a un banco en Coyoacán donde realmente son muy negreros y no por la consultora sino por el cliente que así lo exige (ya que hay que quedarse a veces muy tarde e incluso venir fines de semana), pero claro también tienen otros clientes donde cubren el tiempo que les corresponde. Y como bien menciona ezamudio nosotros los programadores pagamos las consecuencia de los vendedores que hacen hasta lo imposible por cerrar el contrato se ponen a merced de lo que pide el cliente, pero no todo es malo por que si lo vemos de otro enfoque se aprende.
Caso contrario estuve en otra consultora que también le trabajaba a otro banco pero curiosamente ahí el ritmo de trabajo no era tan intensivo como en la que estoy ahora, incluso los viernes daban medio día y nunca tuve que ir un fin de semana a laborar, es ahí donde coincido nuevamente que uno aprende a valorar lo que se tuvo y a diferenciar las cosas.
Creo que todo depende de que tan exigente sea el cliente y de que tan comprometido se encuentre el proyecto, además me parece que las consultoras mas conocidas se van dando su propia reputación, así como los lugares de trabajo donde de entrada se trabaja 12x12 y fines de semana.
Si se puede aprovechar la economìa de escala
Enfocando mis respuestas al tema principal:
Muy bien, entonces, ¿podemos concluir entonces que para la fabricación de bienes en serie,
la economía de escala reduce los precios, mientras que para los bienes (o servicios) individualizados no aplica? Ciertamente esto podría explicar porque las consultoras cobran más caro que los desarrolladores individuales, pero deja volando a la pregunta fundamental ¿Por qué pagan las empresas para contratar una consultora, si contratar a los programadores individuales (aparentemente) seria más barato?
COMENTARIO: Es cierto que la economía de escala puede proporcionar productos más baratos que si los pidiéramos
individualmente "a medida", pero no siempre son muy buenos tales productos, por ejemplo:
La ropa no suele ser de buena calidad y los diseños suelen repetirse (esto afecta la vanidad de las personas)
El pan bimbo es una porquería
La Coca Cola es carísima a largo plazo porque hay que pagar endodoncias e implantes.
El sistema Windows deja mucho que desear y es el más vulnerable a virus
Si mandamos a hacer ropa a medida, naturalmente es más cara pero podemos obtener originalidad.
Investigando más, la razón más aceptada parece primeramente ser la noción de que una empresa
especializada en desarrollo de software, aun pagando sueldos y cobrando margen, construirá
con menor costo para el cliente el software a la medida
COMENTARIO:No necesariamente. Al utilizar intermediarios lógicamente el costo se tiene que elevar.
Sale más caro comprarle la sandía al intermediario del super, que comprársela al que las cosecha
o a mi tío que tenga una planta de sandías junto a mi casa.
No creo que la razón más aceptada sea la de que salga más barato contratar a una consultora
para que desarrollo algún software. Opino que la razón más aceptada es que se les contrata
porque tienen más experiencia. Claro que tratándose de proyectos grandes y complejos, porque,
como comenté anteriormente, puede no ser costeable contratar a una consultora para proyectos
pequeños.
Aunque también hay que considerar la poca experiencia en Administración de Proyectos que pudiera
tener la empresa que necesita que le desarrollen software. Si no se tiene mucha experiencia puede
ser más costeable pagarle a una consultora aunque aparentemente cobre "muy caro".
Pero entonces entra en escena el Chaos Report, estudios sobre el desarrollo de software concluyen
una y otra vez: La mayoría de los desarrollos de software a medida fracasan,
si acaso no exceden el tiempo y el presupuesto, la mayoría de todas formas termina dándole
al cliente lo que pidió, y no lo que realmente necesita,
COMENTARIO: Opino que si eso es cierto, entonces la mayoría de las veces, según esos estudios, la culpa es
del cliente porque si lo que pidió no lo necesita, no es culpa de quien le fabrica las cosas.
Es como si yo pidiera que me hicieran un traje con ciertas características, y que el sastre
me recomendara otra cosa adecuada para mí, pero finalmente tuviera que hacer lo que yo quiero, aunque no fuera adecuado para mí.
En cuanto a excederse del tiempo y el presupuesto, en proyectos grandes y complejos, no hay ninguna garantía de que no suceda
si se contrata directamente a los desarrolladores.
Pero… ¿Cómo es que entonces sobreviven las consultoras?
COMENTARIO: Pues al menos aquí en México vemos que muchas consultoras ofrecen el servicio de outsourcing.
Otras obtienen buenas o excelentes ganancias debido a los fraudes informáticos en los que colaboran.
¿Sienten Uds. que la gente que llega de consultoras esta mucho mas preparada y
sabe trabajar mejor en equipo?
COMENTARIO:En cuanto a la preparación, es relativo, depende del tiempo que se lleve trabajando en consultoras
y de la experiencia que se tenga con alguna tecnología.
Sobre el trabajo en equipo pienso que se tiene el mismo nivel, excluyendo al Gobierno, en el que
muchas veces se andan dando patadas entre sí para quitarse la chamba, aunque hay honrosas excepciones.
¿La gente que llega de consultoras llega tan desubicada como si la hubieran contratado directamente?
COMENTARIO:Opino que sí, porque hay que familiarizarse con los procedimientos de la empresa.
.
.
Y enfocándonos en el tema principal, pienso que sí se puede aprovechar la economía en escala en el desarrollo de software. De hecho se hace: Ahí está J.D. Edwards y SAP. También lo podemos ver con los productos de Oracle, Los frameworks en java.
Opino que sí se aprovecha la economía en escala, pero no se puede aprovechar en todos los casos debido a que los requerimientos de los clientes suelen ser muy específicos. Haciendo la comparación con la ropa: No quieren o no pueden cambiar. No pueden o no quieren engordar o enflacar y quieren ropa que les acomode y de cierta personalidad. No pueden ser más altos o más bajitos. Quieren tener una imágen original.
Saludos,
Efectivamente se les da lo
Efectivamente se les da lo que pidio y no lo que necesita, y ese es el temor de las empresas que contratan a un empleado, tienen miedo a que fracacen sus proyecto...
Pero como les comentaba en el post anterior es de nosotros el que cambien eso, yo ofreci ideas, cambios asegurar que lo que necesita sea lo que se desarrolla (si el clientes es medio terco), haces lo que te pide y demuestar en operacion por que no funciona (despues te dira que sugieres) como lo hemos visto con luxspes dar suposiciones que el cliente las sepa.
Otra cosa como dicen las economias de escala, pues bien por que absorver la empresa tu sueldo cuando lo puede realizar sus clientes. Esa fue otra idea que sugeri.
Como se realizo, hacer el estudio de valor de la aplicacion (valorar la cantidad de informacion que maneja la aplicacion) no solo el precio que tiene el desarrollarla.
De esa manera se realizan microlicencias de uso por cliente, que con cada contrato nuevo se mete en los costos de servicios estas microlicencias :)
En nuestro caso yo sugeri una micro licencia de 80 pesos mesuales diran que barato ( pero con 12 clientes ) que en total se manejan 600 sucursales y que por cada sucursal se aplica en el contraro de servicio esos 80 pesos, tenemos una cantidad de 48000 pesos. Costo aplicado al cliente que pagaba mi salario, paga la depreciacion fiscal del servidor, costos de luz del servidor, la conexion de internet dedicada al servidor y aparte hay un margen de ganancia por el uso de la aplicacion, uds diganme si eso no es hablar en el dialecto de las empresas el "dinero".
Tecnicamente la elaboracion y mantenimeinto de la aplicacion no es un gasto para la empresa si no una inversion y que ya esta dejando ganancias!
Vuelvo a lo mismo nosotros tenemos que aprender el dialecto dinero, vender lo que podemos ofrecer a las empresas y como podemos hacer que ganen dinero.
Les habia comentado que con el sistema podian realizar la operacion en menor tiempo y por lo tanto tener mas tiempo para poder generar mas dinero.
Pues esto paso; cuando yo entre a la empresa teniamos
4 clientes cerca de 200 sucursales.
1000 problemas para poderlos atender adecuadamente.
1 administrativo que no se daba abasto
1 coordinador que tampoco se daba abasto
Personal de operacion que andaban locos de aqui para haya sin saber que hacer
y el jefe arriando a todos
despues de un año de operacion de la aplicacion
12 clientes de 600 sucursales
Menos problemas para poderlos atender adecuadamente
1 administrativo que no se daba abasto ya es mas facil pero tomen encuenta que ahora atiende a 12 clientes
2 coordinadores que ahora estan mas coordinados (jejeje)
Personal de operacion que sabe que hacer pues las notificaciones llegan al telefono celular :) desde el sistema.
Y el jefe ahora coordinando a larga distancia la ultima vez desde china (nunca lo habia pensado que podia hacerlo)
Y bueno eso fue mi experiencia no se si tuve suerte, relamente me vendi bien, o tuve la gran oportunidad que nadie quizo