Cita:
. Y la explicación es muy simple, yo reutilizo módulos ya programados pero al primer cliente no le cobré el 100% del coste en horas del proyecto, ni al 2º ni al 3º, sino que voy amortizando las horas de trabajo entre todos los clientes. Proporcionar el código fuente de mi trabajo sería regalar cientos de horas que no he cobrado a cualquier hijo de vecino que tubiera acceso al ftp, y yo solo cobro por trabajos de programación web.
|
Creo que esta claro que todos aqui reciclamos código de proyectos viejos pero no por eso quiere decir que el código sea libre. De hecho eso se debe indicar en la licencia. Por otro lado, muchos lo que hacemos es simplemente entregar lo que no queremos "regalar" como tu dices precompilado en dcus, dlls o similares de manera que el cliente puede reconstruir la aplicación pero sin necesidad de conocer nuestro código.
Cita:
Proporcionar el código fuente de mi trabajo sería regalar cientos de horas que no he cobrado a cualquier hijo de vecino
|
Entonces todo el software libre que utilizas y del cual sacas provecho no implicó cientos de horas???? las cuales por cierto te regalaron sin siquiera saber que existías??.
Que pasa si yo visito a tu mejor cliente y le ofrezco lo mismo que ya tiene, algunas mejoras (que no se pueden hacer con software libre) y además de eso le digo que "le regalo" el código fuente....le doy facilidades para pagarme, le ofrezco soporte, le garantizo sus aplicaciones contra bugs y otras cosas por al menos 1 año y le garantizo además que no saldré del mercado y podré asesorarlo (con costo claro) si lo desea en la modificación o adecuación de su software al menos durante los próximos 18 meses.
Creo que dificilmente podrías igualar la oferta...verdad??
Lo que dices es obvio que no se amortiza el 100% de un proyecto con el primer cliente pero esto solo aplica cuando realizas un producto que planeas vender a mas de un cliente o bien que lo liberaras como una aplicación comercial en la que esperas vender muchas copias (al menos mas de 10).
Si es un proyecto "a medida" SIEMPRE se debe tomar en cuenta el coste como si se arrancara de cero ya que de lo contrario el coste total va a estar subvaluado y si mas adelante el mismo cliente te pide algo para lo que no tienes absolutamente nada y necesitas invertirle más tiempo simplemente no podrás cobrarle más caro que la primera vez so pena de tener que dar explicaciones que al cliente no le interesan como "Es que la vez pasada utilice casi 50% de código de otra aplicación que se le hizo a otro cliente".
Precisamente cuanto más código podamos reutilizar en nuestros proyectos mayor será la utilidad que nos proporcione. Esto es tan simple como el carpitero que fabrica una silla o mesa con madera sobrante de otros proyectos, la silla o mesa la vende al costo normal.
Ejemplo:
Cliente : Fabrica de Mesas y Sillas "La Española"
Aplicación: Programa de facturación.
Software usado: Delphi y solo Delphi (tablas planas)
Precio de venta : 2,000 Dls. (es un ejemplo)
Costo aprox : 1,500 Dls.
Utilidad esperada: 500 Dls
Tiempo estimado: 6 meses
No tenemos nada asi que todo se programa desde cero.
Siguiente cliente:
Fabrica de Muebles de Hierro "La Colonial"
Aplicación: La misma
Precio de Venta: 2,000 Dls.
Costo Aprox. 800 Dls
Utilidad esperada 1,200 Dls
Tiempo estimado: 3 meses (pero al cliente = se le dice que 6 meses)
Aqui como se ve nos quedó mas utilidad, simplemente porque requerimos menos tiempo y personal ya que reutilizamos gran parte del código.
Tercer Cliente:
Fabrica de Sillas de playa "Riviera Co"
Aplicación: Lo mismo
Precio de Venta: 2,000 Dls
Costo Aprox: 200 Dls
Utilidad: 1,800 Dls
Tiempo estimado: 1 mes.
En este caso al cliente se le mostró el producto que ya se tenía y se le convenció de que como está es el más adecuado para su empresa. Obviamente con pequeñas adecuaciones. Por lo que en este caso nuestra utilidad creció grandemente. Hasta aqui el programa ya nos dejó: 3500 Dls de utilidad neta libre para invertir en lo que queramos...podría ser una licencia de Delphi 2007 para actualizar o bien esas bibliotecas tan guapas que vimos y que darán una mejor cara a nuestros productos.
Ahora veamos que pasa si lo hacemos de otra forma:
1er Cliente:
Precio de venta: 1,000 Dls (barato barato barato)
Costo Aprox: 1,500 Dls
utilidad esperada: -500,...ejem, la recupero con tros clientes
2o Cliente:
Precio de venta: 1,000 Dls
Costo aprox: 800 Dls
Utilidad: 200
Costo acumulado: -500 Dls
Utilidad Neta: -300 Dls ...
3er Cliente:
Precio Venta: 1,000 Dls.
Costo Aprox: 200
Utilidad: 800 Dls
Utilidad acumulada: -300 Dls
Utilidad neta: 500 Dls.
Como podemos ver, despues de tres clientes apenas recuperamos lo invertido con el primero y nos ha dejado una "gran" utilidad de 500 Dls... Sin meternos en rollos de curvas de oferta y demanda puntos de equilibrio, vemos como este modelo efectivamente arroja utilidades pero no es viable para proyectos que duran varios meses como ya vimos. Sin embargo, si hablamos de un software comercial, esta última forma es la correcta y diriamos que despues de la tercer copia vendida alcanzamos nuestro punto de equilibrio y a partir de aqui toda copia vendidad es utilidad.
Por que no es el modelo ideal para desarrollos a medida?
Bueno, pues cuando iniciamos con el primer cliente no teniamos absolutamente nada de código. Si usamos este enfoque de distribuir los costos, necesitaremos forzosamente contar con un fondo o capital de trabajo para que permita a nuestra empresa sobrevivir (mas bien a los que trabajan en ella) hasta que se alcance a recuperar la inversión.
Por otro lado, en el enfoque propuesto al principio, aunque también se requiere una inversión inicial, esta calculado para recuperarla rápidamente y mantener unas finanzas sanas para la empresa.
Finalmente bajo el esquema ya citado al inicio, es mucho más facil que más adelante en un proyecto adicional se le pueda ofrecer al cliente un mejor costo basado en que ya tenemos algunas cosas avanzadas. Por ejemplo, si el cliente quiere ahora, un sistema de consultas en línea de facturas para sus clientes. El estara esperando un coste alrededor de lo que se cobró inicialmente por lo que tenemos margen para cobrar un poco menos si en realidad es menos el trabajo requerido.
Ahora bien, hablando de los famosos códigos fuentes, por experiencia propia es de poca o nula utilidad contar con ellos ya que muchas veces viene documentado de formas poco ortodoxas, sin comentarios o bien enmarañados a propósito. Además si este código es de algun lenguage que no sabes simplemente de nada te sirve. Por otro lado, contar con código no quiere decir que la aplicación esté bien diseñada.
Una opción muy simple es vender el producto sin código dando oportunidad de adquirirlo en forma separada si se requiere. Normalmente el cliente no lo va a necesitar en el momento de la venta, de hecho, hay casos donde la aplicación está tan bien diseñada que nunca es necesario tocar el código fuente. Pero suponiendo que el cliente lo llegue a necesitar, siempre será mejor que lo compre justo en el momento que lo requiera verdaderamente. Claro que aquí se le debe garantizar que dicho código lo tendremos disponible al menos por un periodo de tiempo.
Bueno, creo que ya me explayé mucho, pero espero haber expuesto mi punto.