“What’s your budget?”
We always ask the question, “what is your budget” when talking to a prospective client. It’s often met with ums and ers, and rarely a specific number or bracket. We’re then often asked to provide ballpark figures for a software project. We’re happy to estimate the software cost, but we need to know what you’re comfortable spending this year on your project.
Why do software developers want to know your budget?
We need to know so we can manage your expectations, as the range of software development is from £1,000 to, well, unlimited.
The key reason is that a £10,000 piece of custom development might have the same functions as a £100,000 piece of software, but the bigger budget will make it perform significantly better. You’ll no doubt have to cut certain features or the time spent perfecting those features to stay within a tighter budget.
Remember, just because you have £100,000 to spend on software this year doesn’t mean we will rub our hands together and take your money. The purpose of setting a project budget is to set expectations and limits.
How much should I budget for software?
Consider the various factors involved to get an accurate estimate. This includes the scope of the project, i.e. what the software does and what problem it solves, the complexity and technology involved, i.e. what platform or device the software is designed for, and the number and expertise of personnel required. Depending on these factors, budgets can range from a few thousand pounds up to hundreds of thousands of pounds.
It’s important to remember that budgeting for a software project should include considerations for future annual maintenance and support, which is often overlooked and can be a significant cost in the long run.
At the end of the day, you need to budget what your business can comfortably afford without compromising on quality and features. We recommend budgeting the most you can reasonably afford based on your business’s available capital to ensure your project is properly developed and maintained. Hence, it reaches its full potential, rather than cutting corners and compromising on quality, because bad software is a bad investment and will cost your business money.
Setting a budget for software development demands that you consider all the factors involved and how much you are willing to invest in maintenance and support for the long term. This should be comfortable enough to ensure quality and reliability, yet not too much that it takes away from other important investments. Talking with a professional software developer can help you understand all of the factors involved and make an informed financial plan.
What is a typical software development budget?
Honestly? There isn’t a typical budget.
Most companies believe they should set their budget based on what the developer tells you it will cost. This is wrong. Let’s elaborate: when you are in the market for a car, for example, you’ll have in your head the maximum you want to spend on the car: this is your budget. You can get a car for next to nothing and one for hundreds of thousands of pounds – both of which are most likely to get you from point A to point B, but differently (and maybe the cheaper one won’t make it).
The same rule applies to setting your software development budget: pick a maximum number you would be happy to spend and work up to that number. The more you can spend, the more likely the software will be – like the car – reliable and possibly luxurious.
Cheap is still possible, but it comes with risks like bugs and rushed features due to developers having to limit their time on certain elements to save budget.
How do you define the cost of the software?
Build a feature list
Your developer needs to know what features you want your software to include, so create a list and discuss them with your developer.
Determine the budget
So as mentioned above, you need to determine how much you are willing to dedicate to the project. This will help narrow down the features that can be included.
Analyze resource requirements
Once you know the budget and features, your developer can analyze the resources needed to implement these features. Do we need just a general front-end and back-end developer? Or a whole team of experts who specialize in certain technologies? Don’t forget that non-code expertise like project management is essential to see your project succeed.
Analyze development time
Your developer will also estimate how much time is required to develop all the features, one by one, so they can see where the most time will be allocated and if there are any features to ditch for this version (thus, saving budget).
Factor in maintenance
You must factor in the maintenance and support of the finished product, so budget accordingly. Think about hosting, support, third-party costs and other long-term expenses required to keep the software running smoothly.
Factor in future versions
Version 1.0 is the beginning and not the end of your project! Consider what version, say Facebook, is on right now – software development is a constant, and you need to invest yearly into your development budgets.
Manage your expectations
Like the car analogy, the Ferrari dealer will not part with a sports car when you have a Ford budget. Be realistic about what you can afford and what the results will be to avoid your relationships with your team turning sour.
What do I say when a developer asks me for a budget?
You give them a number. You say, “I have X amount budgeted for software this year”. Your developer can then manage expectations and review what’s possible within that limit.
Every developer has different skills and rates, but setting your financial expectations now empowers you to find the best balance between cost and skill. You can compare agencies, freelancers and contractors and settle on the best option based on who can achieve the most within your budget with confidence (and this is important).
What to do if the budget estimates are too high?
Revise your expectations and feature set. If multiple developers tell you that what you have asked for is impossible within your budget, then believe them and avoid pushing to make it happen. Development teams don’t want to cut corners, but with tight budgets and unrealistic features come necessary compromises – which is not what you want in your software.
Reconsider your requirements
Have you put too many must-have ideas into the brief, or otherwise, the project won’t work? An MVP (minimal viable product) focuses on what is needed to get a product to market (or released internally) and solve the primary issue.
Look for features that can be parked for later
Back to our car analogy, you might not need the heated seats, tow hook, big winter tires and other extras today if your objective is to drive on a warm flat road for 10 minutes. Work with your developer to remove features that won’t be missed on day zero, but that will be popular later on – especially when you have the time and money to do them properly.
Do you need a single-sign-on (SSO) from Google? What about the user profile customisations? There are always things that can be done later.
Revise the scope of the technology
Does your software need to run on iOS and Android when a desktop version would suffice? Reducing the scope of the technology will reduce the time required, as more devices act like multipliers for work: more languages, more testing and more things to go wrong.
Remember: bad software is expensive.
Budgeting badly for your software will lead to long-term stress and expense. Cutting costs and expecting the same great features is unrealistic, and botched features lead to expensive user problems and complaints.
Be realistic and budget your software development project well. Get the right people on board, set clear financial plans and feature sets expectations, and be open to changes and adjustments if needed. By budgeting wisely now, you can save money in the long run and have a great product to show.