Contexto



El gerente de un proyecto ha decidido realizar un análisis de costos para establecer el monto que se le cobrará al cliente por el proyecto. Por experiencias pasadas el gerente necesita realizar un ejercicio de estimación que le permita cubrir sus gastos operativos, más un porcentaje de ganancias, sin que esto provoque que el cliente considere que es un precio alto y termine por buscar otras opciones con otras compañías de software. Ante esta situación ha decidido buscar el apoyo de sus compañeros de trabajo para realizar una estimación del tamaño del software a partir del documento RFP (Request for Proposal) del cliente. Esta estimación servirá para calcular los costos del proyecto y será la base para establecer el precio.

El gerente de finanzas considera que todos los proyectos deben obtener entre un 30 y un 50% de ganancias para que pueda ser considerado como un buen proyecto. Sin embargo, el gerente del proyecto no está tan seguro de cobrar ese margen de utilidad, sino que debería depender de la situación del mercado y de la relación que se tiene con el cliente.

¿Cómo se calcula el costo de un software? ¿Qué estrategia de fijación de precios debería utilizar? ¿Es posible mantener un negocio si el precio se encuentra por debajo de los costos operativos?

Explicación


En los proyectos de desarrollo de software sin duda existen costos que van desde el personal necesario para recopilar y documentar los requisitos del cliente, construir, probar e implementar el software, hasta costos que no se encuentran directamente relacionados con la construcción del software, y costos administrativos, servicios de telecomunicaciones, renta de instalaciones, entre otras.

“Aproximadamente 60% de los costos del software son de desarrollo, y 40% de prueba” (Sommerville, 2011).


9.1 Costo del esfuerzo

La base para establecer el costo de un producto de software es a través de un mecanismo de estimación del costo del esfuerzo necesario para poder construirlo. En este sentido el proceso de estimar el costo del esfuerzo comienza por determinar el costo por nivel de experiencia o puesto que requiere el proyecto de software. Es posible que los niveles salariales cambien dependiendo de las habilidades técnicas de una persona. Por ejemplo, considera la siguiente tabla:

Costo hora-hombre

Horas Estimadas

Montos

Escenario

 

Categoría Mejor Peor Mejor Peor

1

Programador $15 100 125 $1,500 $1,875

2

Administrador de Bases de datos $20 25 30 $500 $600

3

Líderes de módulo $30 30 40 $900 $1,200

4

Diseñadores Gráficos $40 10 15 $400 $600

5

Analistas del negocio $50 30 45 $1,500 $2,250

6

Expertos en aplicaciones $60 15 20 $900 $1,200

7

Total de costos directos 210 275   $5,700 $7,725

8

Porcentaje de gastos generales: (25%)       $1,425 $1,931

9

Total del costo del esfuerzo       $7,125 $9,656

Chemuturi, M. (2009). Software estimation best practices, tools & techniques. A complete guide for Software projects estimators. USA: J.Ross Publishing. (Las cifras se encuentran expresadas en dólares).

En esta tabla puedes observar que existen dos estimaciones en cuanto al tiempo que se requiere por tipo de empleado. El mejor escenario es una estimación en el que se cumple el tiempo mínimo para realizar el trabajo, mientras que el peor escenario es cuando existen elementos que no se encuentran controlados y pudieran afectar las tareas del proyecto.

Otros gastos que se deben considerar son:

Viáticos:

Incluyen los gastos de transportación al sitio del cliente cada vez que sea necesaria una reunión, llevar a cabo la instalación y despliegue del software. Gastos relacionados con comida, alojamiento y taxis.

Herramientas de software especiales necesarias para el proyecto:

Algunos proyectos requieren del uso de alguna licencia especial de software para apoyar el desarrollo, el costo de adquisición y entrenamiento deben ser considerados como parte de los gastos.

Hardware especial:

Es necesario agregar a la estimación del costo, posibles gastos en relación a requerir equipo especial, ya sea para probar el desarrollo o equipo necesario para acceder a la red del cliente.

Capacitación especial:

En caso de que el personal necesite de algún entrenamiento especial para poder entregar el producto de software bajo las condiciones que el cliente desea. Considera por ejemplo una empresa que requiera del software para equipos de fabricación propia.

Otros costos: cualquier otro costo indirecto relacionado con el proyecto.

Resumen de la estimación del costo:

 

Rubro

Mejor escenario

Peor escenario

1

Costo del esfuerzo $7,125 $9,656

2

Viáticos $1,500 $1,700

3

Costo de herramientas especiales de software $600 $750

4

Costo de hardware especial $400 $500

5

Otros gastos $100 $150

6

Costo total $9,725 $12,756

Chemuturi, M. (2009) Software estimation best practices, tools & techniques. A complete guide for Software projects estimators. USA: J.Ross Publishing. (Las cifras se encuentran expresadas en dólares).

9.2 Costos directos e indirectos del software

Determinar el costo hora-hombre puedes realizarlo de la siguiente manera

Donde:

Costo del personal directo: es costo anual del Personal Directo en términos de lo que le cuesta a la compañía, es decir: salario, beneficios, gratificaciones, contribuciones al ahorro de largo plazo, vacaciones, y cualquier otra prestación. El personal directo a considerar es aquel que participa en la generación de ingresos, por lo que los puestos directivos y gerenciales deben ser excluidos de este rubro.

Horas directas: cantidad de tiempo destinado al trabajo del personal directo en el proyecto. Se considera el número de horas al año disponibles para la elaboración del proyecto, por lo que deben excluirse fines de semana, vacaciones, y días festivos. Es recomendable considerar 2,000 horas al año, pero depende de cada organización.

Habiendo determinado los costos directos relacionados con la fabricación del software, no debes olvidar que existen costos indirectos que debes considerar para obtener los costos totales. Los costos indirectos son aquellos costos de operación, costos generales o costos que no se encuentran directamente relacionados con el costo de venta o costo de producir el software.


Donde:

A: costo anual del personal indirecto en términos de lo que le cuesta a la compañía. Se consideran personal indirecto a directivos, gerentes, y staff cuyo trabajo no se encuentra directamente relacionado con la obtención de ingresos (recursos humanos, finanzas, etc.).

B: costos fijos anuales como renta, depreciación de equipo, costos anuales de mantenimiento, etc.

C: costos variables anualizados como energía eléctrica, servicios de comunicaciones, limpieza, suministros.

D: cualquier otro costo anual involucrado en el proyecto.

Para determinar los costos indirectos , puedes utilizar la siguiente fórmula:

El porcentaje de costos indirectos en relación a los costos directos se obtiene de la siguiente manera:

Chemuturi (2009) nos ofrece las siguientes recomendaciones en cuando al cálculo de los costos:

  1. Utiliza como base información de otros proyectos que permitan comparar el cálculo estimado de costos, siempre y cuando el proyecto no sobrepase los 6 meses de antigüedad.

  2. Es recomendable utilizar el estimado de costos del peor escenario cuando se sabe de antemano que el cliente tiene una tendencia a realizar cambios constantes o su toma de decisiones es muy burocrática.

  3. Si no tienes información con la cual puedas comparar tu estimado de costos, es recomendable utilizar un promedio de costos entre el mejor escenario y el peor.

Una vez que hemos estimado los costos del proyecto de desarrollo del software el siguiente paso será establecer el precio que le solicitaremos al cliente, para ellos podemos seguir los siguientes esquemas de fijación de precios.

9.3 Modelos de precios

La fijación del precio de un proyecto de software es una decisión que no sólo se debe basar en la estimación del software sino que debe ser una decisión del equipo de mercadotecnia, considerando obtener la mayor ganancia posible y tomando en consideración su estrategia de negocios.

El proceso para fijar un precio en proyectos de desarrollo del software es el siguiente:

  1. El equipo técnico realiza las estimaciones pertinentes del proyecto (tamaño del software, esfuerzo de desarrollo, cantidad de tareas, calendario de actividades).
  2. El equipo de mercadeo recopila los estimados y calcula los costos, que son presentados al equipo de finanzas.
  3. El equipo de finanzas sugiere un precio mínimo en el que el proyecto es redituable.
  4. El equipo de mercadeo establece el precio al cliente, y manejará un margen que le permita negociar con el cliente.

Chemuturi (2009) ofrece el siguiente listado de modelo de fijación de precios del trabajo de desarrollo de software:

Haz clic en cada modelo para conocer más detalles

Cost-plus pricing:

Considera todos los costos involucrados en el proyecto y le agrega una ganancia razonable al precio final. Este método de precios es el que comúnmente se ha adoptado entre los socios que mantienen una fuerte relación.

Precio de Oportunidad (Opportunity pricing):

El precio depende de la oportunidad que presenta por el comprador. Este modelo se utiliza cuando el cliente no tiene otra alternativa para obtener el desarrollo de software que requiere. La empresa desarrolladora puede llegar a cobrar mucho. Si el cliente tiene algunas alternativas, la organización coloca un precio competitivo. Si en cambio participar en el desarrollo puede traer otros beneficios para la organización, es posible incluso que el precio se coloque por debajo de su costo.


Existen dos variantes:

  • Penetración en el mercado: también conocido como fijación de precios por introducción. Este modelo es utilizado por organizaciones de software nuevas en un mercado en el que ya existen varios proveedores de software. El precio que ofrece es menor que el de la competencia con el objetivo de ganarse una participación del mercado.

  • Skimming: es un modelo de fijación de precios utilizado por una organización que tiene la ventaja de abrir el mercado o ser el primer proveedor. Sus precios permanecerán altos hasta que entre la competencia y lo obligue a equiparar sus precios con los de las nuevas empresas competidoras.

Tarifa de precios: este modelo es frecuentemente utilizado por las organizaciones en mercados saturados de competencia. Los compradores saben de antemano cuál es la tarifa de precios, ya que se mantiene uniforme en referencia a otros competidores.


Precios monopólicos: es similar a la tarifa de precios; el vendedor impone un precio específico debido a que ofrece una característica única que el resto de la competencia, por lo que le da libertad para establecer el precio.

Precios oligopólicos: es un modelo de fijación de precios utilizado cuando en el mercado existen pocos proveedores, quienes se ponen de acuerdo para establecer el precio del producto de software. Todos utilizan el mismo precio.

Transferencia de precios: es utilizado entre departamentos de una misma organización. En este caso el precio corresponde únicamente al costo al departamento solicitante.

Precios en pérdida para ser líder: se trata de un modelo de fijación de precios que utilizan empresas para sacar del mercado a sus competidores. El precio que se le otorga al comprador no genera ganancias para la organización en espera de compensar la pérdida a través de ganarse la confianza del comprador. Incluso es posible agregar otros servicios gratuitos como publicidad o prestigio para los nuevos clientes, quienes serán compradores potenciales en un futuro.

Estrategias de precios en licitaciones o subastas

Algunas empresas y organismos gubernamentales realizan un RFP (Request for proposal) en el que incluyen una serie de requisitos técnicos, administrativos y financieros, en referencia a las características que esperan obtener del desarrollo de un producto de software. Este documento lo ponen a disposición de varias organizaciones de software con el objetivo que respondan de qué forma pueden cubrir con los requisitos del RFP y cuál es el precio. Ante esta oportunidad de negocio, según Chemuturi (2009), las empresas de software pueden establecer las siguientes estrategias de precios.

Postura ante la cartera de pedidos: si la organización desarrolladora no tiene proyectos en curso, podría establecer un precio mínimo que sea equiparable a sus costos operativos, eso le permitirá mantenerse activo en el mercado. Si, por el contrario, la organización tiene otros proyectos en proceso y no desea ampliar su capacidad operativa, entonces su propuesta de precios será alta.

Necesidad de ganar: en ciertos escenarios conseguir ganar una licitación o subasta puede ser crítico para la organización de software, por lo que puede plantear un precio bajo, ya sea por cualquiera de las siguientes razones:

  • El proyecto puede abrir las puertas a otros negocios.
  • Ganar una licitación importante puede ser fuente de prestigio y publicidad.
  • Podría ser una buena oportunidad para entrenar al personal de la organización en tecnología de punta, lo que le permite estar a la vanguardia y tener una mejor posibilidad de ganar futuros negocios.

Deseo de perder: en ocasiones la organización impone un precio muy alto porque le interesa más perder una licitación o subasta que ganarla, ya sea por cualquiera de las siguientes razones:

  • No desea tener una relación comercial con el cliente, ya sea porque tiene mala reputación en el cumplimiento de pagos o prácticas poco éticas.
  • La tecnología descrita en el RFP es diferente a la que utiliza la organización de software, ya sea por obsolescencia o tecnología en la que tienen nula experiencia.

Fuerte competencia: la fijación del precio se establece con un margen mínimo de ganancias debido a que el mercado tiene una fuerte competencia, por lo que la estrategia de ganar la licitación se basa en el precio.

Situación de monopolio: en los casos en donde la organización es la única participante en la subasta o en la licitación, puede establecer condiciones especiales a su favor, aprovechando la adjudicación directa.

Situación de oligopolio: cuando la respuesta a un RFP se realiza en colaboración con otros proveedores, la fijación del precio se establece en un nivel que sea beneficioso para todos los participantes.

Repetir órdenes: la organización de software ofrece un servicio a un cliente existente a un precio que sea justo tanto para el cliente como para la organización, dado que existe un antecedente en el que ya se ha otorgado un servicio parecido anteriormente.

Oportunidad de un nuevo mercado: con el fin de entrar a un nuevo mercado en el desarrollo de software, la organización decide establecer un bajo precio en respuesta al RFP que le permite una pequeña participación del mercado.

Cierre


Todas las organizaciones de software, que participan en proyectos de construcción de sistemas a la medida, enfrentan el dilema de proponer un precio como pago por el esfuerzo de construir el software. Por lo que es necesario que se tengan claros los gastos operativos en los que incurre, y así determinar el margen de utilidad que tendrá una vez entregado el proyecto.

En la mayoría de las licitaciones del gobierno de México, se establecen condiciones adicionales que debe cumplir un proveedor de servicios, por ejemplo: capacitación al personal existente, adquisición de hardware, servicios de mantenimiento al software, así como soporte técnico que la empresa de software debe cubrir por un periodo de tiempo necesario para asegurar la estabilidad de la operación del sistema. Todos estos costos también deben ser tomados en cuenta como parte de la propuesta a la licitación.

En algunos casos particulares la forma de establecer un precio es una decisión más comercial y de mercadeo, que obliga a las empresas a modificar sus márgenes de ganancias para alcanzar otro tipo de objetivos. En estos casos es importante estudiar la estrategia comercial de la organización.

Checkpoint


Asegúrate de poder:

  • Identificar los diferentes costos que intervienen en la construcción de software como base para estimar su precio.
  • Reconocer los diferentes modelos de fijación de precios que se pueden aplicar según la estrategia del negocio.

Referencias


  • Chemuturi, M. (2009). Software estimation best practices, tools & techniques. A complete guide for Software projects estimators. USA: J.Ross Publishing.
  • Sommerville, I. (2011). Ingeniería de Software (9ª ed.). México: Pearson.

Glosario


Adjudicación directa: una licitación puede contratar a un proveedor de manera directa cuando se sabe que es el único que tiene las condiciones para ofrecer el servicio.