Your Project Budget Is Definitely Wrong
Money means a lot in our life, especially in business. If we don’t plan out the costs, it’s easy to start spending more than required, or not putting enough effort into the project. We’re here to explain why it’s so difficult to plan out a budget in tech.
It’s impossible to imagine our lives without budget planning. We have to buy a lot of things, from food to entertainment, and if our expenses aren’t well managed, it’s easy to lose control over them and start spending too much. The same goes for software development. If you want to create a new app, managing your financial investment is one of the most important parts of the whole process.
Why is it so hard to plan it right? Keep reading to find out!
What is a budget and how to plan it
The answer may seem easy: A budget is money. Well, that’s true, but an explanation like that is uselessly vague and superficial. If we take a look under the hood, budgeting for software development is a much more complex concept than you could imagine.
Three main items make up an app’s budget structure:
- Development itself (design, development, management, testing)
- Infrastructure costs (servers, cloud storage)
- Other related activities (marketing, advertising, sales, etc.)
The last item is the hardest one, since it’s almost impossible to estimate. Every product has its own special processes, marketing strategies, and target audiences, depending on its type, platform, and complexity. There would be little in common between promoting a free-to-play trivia game that is monetized with in-app advertising and promoting a large B2B platform designed for financial corporations. Costs are unique for each particular project, so it’s truly hard to predict.
The second item is infrastructure. These costs are easier to calculate because infrastructure services have established prices. Moreover, with the help of cloud solutions like Amazon Web Services or Heroku, you can deploy any infrastructure you want less expensively and much faster than you could ten years ago.
Before cloud solutions, you had to buy and set up a physical host server that needed its own server room. Specially-trained employees had to be available at all hours to manage the server and immediately deal with any problems that arose, such as power outages or system failures. If the load comes in waves, there has to be enough people available to deal with the peak loads. Now you can deploy your app on a cloud platform that will significantly reduce costs. You don’t need to set up a special room for your servers or hire people to deal with them. Autoscaling for various loads can be managed through the admin panel. For a much less money, you get more options for deploying and managing your app’s infrastructure.
Still, there are two extremes that you should be aware of when planning for these costs.
The first extreme arises if the app gains only a few users. In this case, infrastructure costs won’t be too large. They will definitely be tens or hundreds of times less than the development costs. However, there are still only a few users, which means your app didn’t find the right market niche.
The other extreme happens when the number of users is overwhelming. If the app is built properly, it won’t crash from such a load, but costs to support the infrastructure will be high. Even though high costs can seem scary, it’s actually a nice problem to have. In this case, the app is popular with its audience, so the infrastructure investments will definitely pay off.
Development is the most important part of the budget. The best way to estimate the budget for development as a whole is person-hours. While some software products might look alike, they can be completely different in the peculiarities of their development, meaning that each program will require a special team working constantly on the project. The team is supposed to work full-time, so the concepts of person-hours and person-days are actually equivalent.
The main mistake
Even if all lines are taken into account and you think that now everything is ready, you still may be mistaken in your estimates. It’s really crucial to understand one thing that is often missed by people who rarely do software budget planning.
It’s impossible to give a final answer on how much the app will cost because, basically, the app is always in a state of development. The only costs that specialists can estimate more or less properly are the costs for the first version. When this version is finished, a lot of recurring costs will appear.
Why is it so? Because now starts the update time! If the app gains users and becomes a successful product, constant updates become the main focus. Software is a nonstop industry where it’s dangerous not to move forward. If you stop supporting your app after its release and don’t pay close attention to feedback, the app will eventually lose its users. So to keep your product afloat, you should constantly renew it by adding new functions and fixing bugs. And this renewal process requires time and money.
Updates are ongoing even for popular software that was released long ago and which has developed a loyal following. The first Photoshop was released 30 years ago, but the team doesn’t stop supporting it. The company releases new versions of Photoshop to keep its users interested and to meet their evolving needs.
Is everything so important?
Mostly, budget lines depend on the approach to the development: The more complex the project, the more lines you should allow for.
For example, if we want to create an MVP to validate the market for our app, there is no need to conduct automated testing or write unit tests. We need only basic functionality to discover the audience’s preferences and we don’t yet know what will end up in the full version. In this case, manual testing is more appropriate, since writing unit tests can solidify the initial vision of the product and decrease the ability to maneuver. This approach will cut costs a lot (up to 50%), since we only need to probe the market and don’t have to invest resources in an unnecessary workflow.
One more factor that influences your development budget is the team: The bigger the team, the more money you have to spend.
Still, these costs will lessen over time. Let’s imagine we will develop our own mobile app. The team consists of seven people including developers, designers, and managers. When the app is launched, there is no need to keep such a large team. Three people will be enough to successfully deal with updates without the app losing its popularity.
Why you planned your budget wrong
Basically, this is the most common scenario: The budget is always underestimated.
The question here is more about how big the margin of error will be. One expert can be off by 20 percent, another by sixty percent, and yet one more expert can underestimate it even more.
One of the main factors that influences the margin of error is the skill of the expert who estimates the costs. If that person is experienced in budget planning for apps and software, they will be able to give a sober outlook on the budget, and vice versa. Still, it’s important to understand that even the most experienced professional might possibly make a mistake and underestimate the budget requirements, since all products are unique.
That’s how we approach the second important factor—the type of product. Some products are pretty superficial and all possible challenges can be seen clearly from the very start. Unfortunately, most projects have pitfalls that may or may not appear during the development, so you and your team should be ready for the budget to increase.
The budget is one of the most important aspects of software development. Just as a house cannot be built without construction materials, no work can be finished without financial support. Planning the costs will make development more organized and secure, but still, nobody can predict 100 percent of the circumstances that could possibly appear.
So our main advice is:
Trust your plan, but be ready to change it according to the project’s needs.
Get weekly updates on the newest design stories, case studies and tips right in your mailbox.
Such a recognition really matters for us because it's a testament to each member of our hardworking team and all of the efforts that we put into the work.
Stickers have been a feature of most social networks for a long time. They help you convey your emotions better, and sometimes can even replace entire sentences. But what if you’re just plain bored of the stickers at hand or none of them really express your personality? Now you can create your own sticker pack!
Disclaimer: in this article, we decided not to dwell on the technical details of building a good API, as there are already really good articles on that (links included). Instead, we looked at the API from the usability perspective and compiled a checklist for you to ensure that your API is easy-to-use and secure.