¿Cómo calculo los costos para ejecutar un proyecto de software terminado?

Tengo un proyecto de desarrollo de software en curso a punto de finalizar. Mi pregunta es cómo puedo estimar el presupuesto necesario para ejecutar el software una vez que esté terminado (ejecutar), desarrollarlo más, por ejemplo debido al progreso tecnológico (crecimiento) y la implementación de nuevas funciones (innovación).

¿Hay una división común entre esos aspectos que puedo aplicar a mis costos recurrentes? ¿O en qué factores de mi empresa/software podría basarse una división del presupuesto?

Respuestas (4)

Varía según el tipo de proyecto. En mi experiencia, puede tener en cuenta los costos recurrentes como el hospedaje, pero eso es todo. Normalmente cobro por un paquete de mantenimiento que incluye una cantidad fija de días de desarrollo. Si sabe de antemano qué tipo de características probablemente agregará al proyecto, también puede estimarlas o contabilizar un porcentaje del desarrollo ya realizado.

TL; DR

No existe una bala de plata ni una fórmula universal. Debe estimar en base a suposiciones documentadas.

Documente sus suposiciones

Todas las estimaciones se basan en suposiciones. Por lo tanto, la metodología habitual es proyectar sus costos actuales y sus supuestos documentados en una fase posterior a la entrega. Por ejemplo:

  1. Su tasa de defectos actual es del 12%, lo que le cuesta a su proyecto 15 horas-hombre por semana. Puede suponer que esta tasa continuará sin cambios, o podría suponer que será más alta o más baja en función de alguna información específica del proyecto.
  2. Los costos operativos de su servidor en desarrollo son de $250/mes por un servidor, y puede suponer que tendrá cinco servidores en producción según sus estimaciones de planificación de capacidad.
  3. Su proyecto actual tiene un presupuesto de $2 millones. Puede suponer que se pueden agregar funciones menores por la mitad o que la versión 2.0 costará el doble.
  4. Su costo de mano de obra para administrar la versión de desarrollo es de $5,000/mes en personal, más otros $2,000/mes en costos de licencia. Puede suponer que este costo escalará mejor que el lineal y elegir estimar $10,000/mes para un costo de soporte para toda la empresa.

Las estimaciones no son garantías

Los detalles específicos de cómo llegas a tu estimación realmente no importan. Es la metodología lo que cuenta. El punto es que tu:

  • Documente sus suposiciones.
  • Proporcione una estimación cuantificable basada en sus suposiciones y algunos valores complementarios.
  • Proporciona estimaciones de gama alta y de gama baja, o una única estimación con un intervalo de confianza.
  • Deja en claro que se trata de estimaciones basadas en suposiciones documentadas, no garantías de devolución de dinero.

Sus suposiciones y los valores de sus complementos sin duda variarán mucho en función de una serie de factores. Por eso se llaman estimaciones, proyecciones o pronósticos en lugar de predicciones infalibles.

Hay pocos costos con cualquier proyecto de software. Todo se reduce a los recursos. ¿Qué recursos se requieren para que este proyecto se complete? Los diferentes tipos de recursos pueden incluir:

  • Talento (Tiempo)
  • Costos de hospedaje (Estos pueden ser variables. Necesitará una persona técnica que lo ayude a predecir.
  • Herramientas de soporte - Repositorios privados, servicios api, etc.

Una estimación aproximada debe considerar estos diferentes costos potenciales. También debe considerar qué recursos ya existen.

Un buen equipo debe hacer buenas estimaciones en cuanto al tiempo.

Aquí hay una fórmula importante a considerar:

Total Cost = (time * wages) + variable costs + fixed costs

Espero que esto ayude. Avíseme si tiene preguntas para que pueda ampliar la respuesta.

Por lo que entiendo en su pregunta, está trabajando en operaciones en vivo o en un proyecto de evolución del producto.

Esto significa que identificará el desarrollo tecnológico y el plan para la actualización de su software. O bien, encontrará nuevas funciones basadas en análisis de uso y estudiará y actualizará la función.

A nivel macro, esto se considera gestión de programas.

La gestión de programas se trata de ejecutar varios proyectos en paralelo/en cascada para lograr objetivos más pequeños e integrarlos al producto principal para lograr un éxito per-definido.

Dado que las actualizaciones del producto principal se consideran proyectos, no debe haber ningún método separado para calcular el costo de dichas funciones. Debería seguir su método anterior, idealmente.