After months of hard work, your software is finally up and running. But as you’re going through your finances, you notice that your monthly expenses haven’t gone down—if anything, they’re going up. What’s going on?
There are hidden costs of software that you need to anticipate after you launch your project. Honestly, this is something that I always have to remind my clients whenever they’re developing new software. They assume that once the project has been developed, the expenses are going down to zero and they’re done paying. That’s not the case at all, and it couldn’t be further from the truth. Here’s an analogy to explain the situation. Let’s say you upgrade from renting an apartment to buying a house. Would you assume that after the down payment, your mortgage will be your only expense as a homeowner? No. Look at your expenses. Your water bill, gas bill, electric bill, and everything else will go up because your house is bigger than your apartment. You might have other expenses creep up on you that you’ve never had before, like a gardener or a landscaper to maintain your property. Software development is the same. Whenever you scale up from a small project to a bigger project, there are certain expenses that you’ll incur on an ongoing basis. Everyone is so busy determining the development rates, they forget about the post-launch hidden development costs. In this guide, I’ll explain the top five hidden costs of software you must anticipate after you launch.
#1: Maintaining Your Staff Who developed your software? The app development team will continue to maintain your software even after you launch. Your software is going to evolve with the market as new opportunities present themselves. The vision will also evolve based on customer demand. You always need to remember one thing—stagnant technology is dead technology. Look at companies like Facebook, Google, Twitter, and all of the other global giants out there. They’ve done a pretty good job at developing software, wouldn’t you agree? Everything you can possibly think of has been developed. So why do they have an army of engineers working behind them? Software development is never finished. Between maintenance, new features, customer demand, and just scaling the platform, you’ll always need your staff to maintain this. On average, look at how often mobile apps are updated and enhanced. Roughly 30% of apps are updated at least once per month. An additional 53% of apps are updated every six months. So you can’t plan to let your development staff go after the launch date. The team members who developed the app will continue to stay on board. The truth of the matter is this; if you get rid of people, your software will slowly die. Remember, to maintain a competitive edge in this crowded market, you must constantly evolve. The software you started with needs to change and adapt over time. You might have some wiggle room with the capacity of staff that you need to keep. For example, maybe hired five engineers during development. But now you just need two or three. Your team will still be comprised of engineers, a QA professional, DevOps, a designer, project manager, etc. These post-launch development costs must be taken into consideration and planned for ahead of time.
Hidden Cost #2: Hosting Expenses You must anticipate hosting costs in your initial budget. These costs are incurred from hosting the servers for your software. You’ll have email servers, push notification servers, analytics servers, integration servers, and other servers depending on the type of app you’re developing. Most likely, you’re dealing with a company that delivers you a product or SaaS that you’ll pay a monthly fee for. Or you’re hosting the software somewhere in the cloud with a company like Amazon Web Services. There will be a monthly fee for this type of hosting as well. Not only will you incur these expenses post-launch, but the costs will rise as your company scales. It’s very important that you prepare for this from a budget standpoint. There will be ongoing hosting costs to maintain those hosts. If your servers are hosted in the cloud, you’ll still need a staff member on your team to deal with those servers. This brings us back to our first point about needing to continue paying your staff.
#3: Maintenance Before your launch, I’m sure you’ve gone through the technology to make sure that everything was working properly. All the bugs were found, fixed, and you’re done—right? That’s not necessarily true, especially in the mobile app space. While you might have fixed the bugs for certain devices or specific operating systems, devices evolve over time. When this happens, your technology or application could regress. Take a look at the average cost to maintain an app in the first year after launch. Some of you probably know why software development is expensive. But why is it so costly to maintain? What are companies spending $10k-$25k+ per year on? As new demands come from Apple or Google, your compliance levels might downgrade. New legislation comes into effect for the quality of your app, the security of your app, or the privacy of your app. All of these things could change. I’m referring to things like: GDPR Compliance in Europe CCPA Compliance in California ADA Compliance across the US International Compliances PCI Compliance HIPAA Compliance The list goes on and on. Your technology needs to evolve as all of these things change. Refactoring is another side of maintenance that’s worth highlighting on its own. The idea behind refactoring is that you write code that’s just good enough to pass basic testing, compliance, limitations, or something else. Then you go back and clean it up at a later time. Some of your code that was put in during development might have been “good enough” at the time. But as you scale, it must be rewritten to manage the new traffic load as your business grows. To be honest, these are good problems to have. It means that your app is growing. But you still need to anticipate the costs ahead of time to be fully prepared. Here’s another analogy. Let’s say you have a commercial printing press company. Your main printer is currently printing 5,000 flyers per day. It starts to malfunction, so you fix it with a “band-aid” solution. You know that your fix will get the machine back in action to continue producing 5,000 flyers per day. But if you ramp up to 10,000 flyers, the band-aid won’t be sufficient. Well, that’s a great problem to have. When you get to that number, your daily business just doubled. But it comes with added maintenance costs that you need to plan for.
#4: Training Training is the most underestimated expense in terms of hidden software costs. The biggest mistake that people make is assuming that their staff who is maintaining the app is going to stay with them forever. But that’s not going to happen. In reality, some of your staff will make career decisions and leave you. You’ll be unhappy with other team members, and you’re going to fire them. This is just a standard procedure when it comes to running a business. There will always be turnover in personnel. What happens when you lose someone with crucial domain knowledge? Don’t assume that whoever you hire will be able to replace that person immediately. Just because someone is a good developer or a good engineer, it doesn’t mean that they understand your software. They are a good engineer for the software that they’ve developed—not necessarily what you’ve developed. So it takes time for them to understand your business model, technical depth, infrastructure, and other components of your software. The average cost to recruit, hire, and train a new employee is $4,000. In the tech industry, you can expect these costs to be even higher. I know some of you might think that engineers are a dime a dozen, and you can find them anywhere. But even if someone is a blackbelt and an expert, they will not be an effective part of your team as soon as they come in. This takes time. So how can you avoid these expensive training costs? The idea here is to avoid single points of failure with human beings. You wouldn’t want a single server to run your entire mobile app, right? If the server dies, the app dies with it. The same thing can be applied to people. If you have one person with so much domain knowledge—what if that person gets hit by a bus? Can you and your business actually continue without them? You need to cross-train people. Make sure that your capacity isn’t at a bare minimum. Always have at least one spare person. If you only need two people at a minimum, then you should probably hire a third person. So if one person leaves, you’ll still have enough to operate. When that happens, you can always hire someone else as that “spare tire.” Let’s say you have a retail store. You only need two people at the counter per shift—two in the morning and two in the afternoon. Would you only hire four people? No. If someone quits, gets fired, goes on vacation, or calls out sick, you’ll be short-staffed. So even if you only need two people to operate the store per shift, having three fully-trained employees available is a safer option. This analogy is magnified in the software development world if the person who leaves takes all of the knowledge with them. Training a new person could be near impossible if nobody has the information to provide.
#5: Strategic Costs Strategic costs are incurred whenever your business sees a new market opportunity. You need to shift gears quickly to make sure that you can actually address the market need. Lots of times, market needs are time-sensitive. So if you wait six months to take action, it might be too late. In terms of technology, just 34% of companies seek to get first-mover advantage. If you fall into this category, it can give your software a significant edge over the competition. Strategic costs will creep up on your technology and force you to shift gears in terms of your priorities. You might even need to hire a few extra people to make sure you hit your target on time. So the anticipation of these hidden costs is so important. Sometimes you need to hard-code certain elements to hit that timeline. You’re essentially “hacking your way” to a solution that needs to be brought to market as soon as possible. But after the software gets to market, you’ve incurred what we like to call “technical debt.” You need to go back and reassess the platform to make sure that it scales with the growing needs of your company. All of this falls into the category of strategic costs. You knew going into this venture that you were essentially developing a technological house of cards to get to market. But that house of cards won’t be secure forever. It can easily collapse. Now you need to take a step back and actually rebuild or refactor, as we mentioned earlier when discussing software maintenance costs. The reason why strategic costs are so important to anticipate is that it gives you leverage. If you plan ahead, you can actually pounce on that opportunity as soon as it presents itself. You don’t want money to be an issue here.
Pro Tips and Best Practices to Prepare For Hidden Software Costs Now that you’ve seen the top five hidden costs of software post-launch, it’s time to share some tips that will help you plan accordingly to anticipate those costs. Spending money after your launch is inevitable, but you don’t need to break the bank. These tips can help you save some money if you plan accordingly.
Develop Your Staff We already established that you need to maintain your staff. But to help keep costs low, you need to develop them using the golden ratio, which is something I’ve discussed in previous posts and videos. Here’s the idea. Use local and remote resources enough, so the combination is in the correct balance for your business. This type of staff development will allow you to scale up efficiently without breaking the bank.
Servers vs. Maintenance We’ve also talked about the hosting costs and maintenance costs, separately. However, these two hidden expenses are actually interconnected. Sometimes it makes more sense to pay more for hosting fees, so you won’t have to maintain as much on your own. For example, let’s say it costs you $1,000 for a fully-managed host. That’s nothing compared to the cost of having a staff member maintain a cloud hosting solution on their own. So go ahead and pay for it without thinking twice. It’s cheaper and becomes a headache for someone else to deal with—not you. You won’t need a staff member that constantly has to deal with server maintenance. So try to find a hosting provider that will cover these things. While the initial price tag for this service might seem expensive, you should always weigh it against the cost of having an individual from your staff working on it. The hosting cost will always be cheaper in the long run than maintaining it on your own.
Strategic Partnerships It’s crucial that you have a partner who understands your technology. This could be your host, an outsourced agency that you’re working with, or a platform that you’re integrating with. Whoever it is, make sure that they understand your vision. It’s important that they have the ability to help with the big picture during changing times. Opportunity costs and the costs of making mistakes is extremely expensive. A strategic partner can save you time if they are an expert in a particular field. Or maybe they’ve been through this before and already made mistakes that you can learn from. Your strategic partner is highly valuable and can save you a ton of money over time. Anticipate Today, Solve Tomorrow It’s obvious that you need to anticipate future problems and opportunities. We’ve been talking about this throughout the entire guide. Anticipate those problems today, but solve them tomorrow. Not all of today's problems do not need to be solved today. You might be developing something right now that’s good enough to get to market without hiring two or three new developers. That’s fine. But you need to anticipate the delayed costs that you’re going to pay for later. This is especially crucial for new businesses. A dollar today is much more valuable than a dollar tomorrow. Be strategic with the debt you incur so that you’re in a good position to address the problems when they eventually come up. For example, let’s say that you know that your server will fail when you pass 100k users. That doesn’t mean you should pay for that capacity on day one when you have zero users. The money could be better used elsewhere. But when you finally reach 100k users, it’s a good problem to have. By now, you probably have a successful business that will allow you to pay for the added costs. However, if you’re paying for that infrastructure today, you’re burning through precious dollars now on a hypothetical problem that might not happen for another year or two.
Conclusion The costs associated with software development do not end after you launch. If you’re building an app, you must anticipate the five hidden costs that I’ve outlined in this guide: 1. Maintaining your staff 2. Hosting expenses 3. Maintenance 4. Training 5. Strategic costs Anticipating these ahead of time will ensure that you have enough money in the budget to be successful. Otherwise, the quality of your software will suffer. Keep my pro tips and best practices in mind as well to help save money on software development. I hope this guide was helpful. Use it to anticipate future costs whenever you’re developing new technology.