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?
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.
No existe una bala de plata ni una fórmula universal. Debe estimar en base a suposiciones documentadas.
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:
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:
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:
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.