0

I have an ongoing software development project nearing completition. My question is how I can estimate the necessary budget to run the software once it's finished (run), develop it further, for example due to technological progress (growth) and implementing new functions (innovation).

Is there a common split between those aspects that I can apply to my recurring costs? Or on which factors in my business/the software could a budget split be based?

1

It varies on the kind of project. In my experience you can account for recurring costs like hosting, but that's all of it. I usually charge for a maintenance package that includes a set amount if development days. If you know in advsnce what kind of features you will likely add to the project, you can as well estimate them or account for a percentage of the development already done.

1

TL; DR

There is no silver bullet, and no universal formula. You must estimate based on documented assumptions.

Document Your Assumptions

All estimates are based on assumptions. Therefore, the usual methodology is to project your current costs and your documented assumptions out into a post-delivery phase. For example:

  1. Your current defect rate is 12%, which costs your project 15 man-hours per week. You might assume that this rate will continue unchanged, or you might assume it will be higher or lower based on some project-specific information.
  2. Your server operating costs in development are $250/month for one server, and you might assume that you will have five servers in production based on your capacity-planning estimates.
  3. Your current project has a $2 million budget. You might assume that minor features can be added for half that, or that version 2.0 will cost double.
  4. Your labor cost to manage the development version is $5,000/month in staffing, plus another $2,000/month in licensing costs. You might assume that this cost will scale better than linear, and choose to estimate $10,000/month for an enterprise-wide support cost.

Estimates Aren't Guarantees

The specific details of how you arrive at your estimation don't really matter. It's the methodology that counts. The point is that you:

  • Document your assumptions.
  • Provide a quantifiable estimate based on your assumptions and some plug-in values.
  • You provide high-end and low-end estimates, or a single estimate with a confidence interval.
  • You make it clear that these are estimates based on the documented assumptions, not money-back guarantees.

Your assumptions and your plug-in values will certainly vary greatly based on any number of factors. That is why they're called estimates, projections, or forecasts rather than infallible predictions.

0

There are few costs with any software project. It comes down to resources. What resources are required for this project to be completed? Different types of resources can include:

  • Talent (Time)
  • Hosting Costs (These can be variable. You'll need a technical person to help you predict.
  • Support Tools - Private repositories, api services, etc.

A ballpark estimate should consider these different potential costs. You should also consider which resources already exist.

A good team should make good estimates as to time.

Here's an important formula to consider:

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

Hopefully this helps. Let me know if you have questions so I can expand on the answer.

0

From what I get in your question, you are working on Live Operations or Product evolution project.

This means, you will identify the technology development and plan for the update of your s/w. Or, you'll find new features based on usage analytics and study and update the feature.

At a macro level, this is considered to be Program management.

Program management is about running several projects in parallel/cascade to achieve smaller objectives, and integrating them to the main product to achieve a per-defined success.

Since the updates to the main product are considered to be projects, there should not be any separate method to do costing of such features. It should follow your previous method, ideally.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.