Saving money on your next software project
Time to read: 7 minutes
One thing you may be considering is how you can save some money on your next project. You should first make sure there isn’t an existing solution that will meet your needs. If you still need a custom solution let’s go over some options you have to reduce the cost.
Create a clear and concise plan
Whenever you reach out to a software vendor, you’re going to go through a discovery process. The more complete your plan is before discovery begins the less time and money you’ll have to spend to get a quote.
Don’t underestimate the amount of work this will take, especially if you haven’t done it before. Once you think you’re done go back and try and think of every unusual business case you can come up with.
Make sure to break down your plan by features you would like to have. This will help keep things organized as well as help out in our next step.
Cut Features
One of the quickest ways to bring down your costs is to cut some of your features.
The process starts by ranking all the features in your plan, from most to least important. Next, you’ll want to try and find some of the features that can wait for a future version.
You don’t just want to cut the features at the bottom of your list. Some features will be more complex than others. You will want to factor in this complexity when determining the feature cost.
If you know someone with software development experience they can help you out. Ask them to estimate how much work each of your features will take. You can then re-rank the features taking into account their complexity. Now you will have a list where you can cut out the least important features.
Hire a Freelancer
Hiring a software agency has its advantages. The cost is not going to be one of them.
Agencies have more overhead in their business. They have large teams of developers, designers, testers, project managers, marketers, and executives. They also have office space leases that still have to be paid.
None of that is bad, but freelancers don’t have the same overhead. Hiring a freelancer does mean you may have to take on some of the project management jobs yourself. That is a trade-off for saving some money.
Focus on Functionality
Ideally, we want all our applications to function perfectly and look amazing. If you’re on a budget you might be willing to sacrifice some of the visuals in your first version.
Your developer could use some templates to get an initial version running. It will still look decent and you can later hire a designer to spruce it up.
Offshore Development
It’s no secret that offshore development can be less expensive, at least initially. Countries with lower costs of living can give you an appealing quote. Make sure to consider all angles before jumping on board.
Language barriers can sometimes be a concern. You will also want to be careful to not use slang or common sayings that can be misunderstood in other cultures.
In my experience time zones tend to be the bigger concern. How much of your workday overlaps with theirs? Hopefully, you can find someone that has at least 4 hours of overlap.
No matter how well you plan there are always going to be questions that arise during development. If it takes a day to get an answer to every question, development is going to slow down.
If you have to go back and forth on a question several times to get an answer you can lose a whole week.
Carefully Evaluate Partners
You’ll want to do your due diligence before signing the contract. Does the vendor your hiring have a good track record? Can they give you clients that you can contact?
You’ll also want to know how skilled their developers are. Everyone is going to tell you they only hire the best and brightest. In reality, some are going to be better than others.
You may want to ask how experienced their team is. Length of experience only goes so far though. How people improve themselves over time is what is important.
Imagine you want to hire a professional chef and you find someone who has been a chef for 10 years. That sounds great and you give them the job. Later you find out that they’ve been “cooking” hot dogs and peanut butter and jelly sandwiches for 10 years. You’ll be disappointed.
Frequent Communication
You’ll want to make sure that you’re in constant communication. That means if they send you a question you’ll want to respond as soon as possible.
We know time is money and putting a question off for a day because your busy is costly. You might as well assume that no work is being done while they wait.
That won’t always be the case, but it’ll be hard for you to know. Things that seem minor could be a decision that changes how your product is designed.
Frequent Reviews
You want to make sure that your vision matches what is actually being built. There is no worse feeling than being disappointed when the project is complete.
The best way to ensure this doesn’t happen is to be continuously reviewing the results. You’ll want to set up a schedule so that every week or two you can see the progress that is being made.
The hardest part for you is that you actually need to take the time to thoroughly review it. If you think you can take 2 minutes each week and glance at what is done, you’re doing it wrong.
You should identify at least one person at your company to be the official reviewer. They are going to review the product from the eyes of the end-user.
You can save thousands of dollars by identifying something you don’t like in the first review. If you wait until it is finished you risk that large portions of your app will need to be rewritten.
Technology Selection
You want to make sure that the technology selection your partner is making matches up with what you need.
Some developers do have a tendency to want to play with the newest technologies. You might have a project where that is perfect. You also might have a project where tried and tested technologies are better.
You also need to consider how your project is going to be maintained. If you sign up for a long term maintenance contract then this isn’t as big of a concern.
If you’re responsible for finding someone else to make changes it’s vital. You’ll want to make sure that you will be able to find someone that is familiar with the technologies used. You’ll also want to make sure that you’ll be stuck with something that is obsolete in a couple of years.
Unfortunately, I can’t give you a simple list of what you should use or not use. Every project is going to have its own needs. There is also never a single correct approach to do something. The best way is to find someone who stays current with market trends and can give you advice.
Define Success
What is the best-case scenario you hope to achieve when this project is complete? Do you want more users? Do you want to save time? Do you want to deliver something many of your customers are requesting?
It’s amazing how many projects don’t define this goal and share it with everyone upfront. So many times a company will come up with a list of requirements, but never share what they hope to achieve.
Imagine someone decided they wanted to create a new online store. They’ve heard that WordPress is pretty popular so they figure they should use that. They come up with a list of features that they want and start looking for a partner.
They find a highly rated WordPress agency that says they can do everything needed and it will only cost $10,000. After they build the site they can also update and backup your site. They can do it for only $50 a month.
Now imagine someone else was talking to their developer friend and said
I want to set up an online store and I heard WordPress is useful for that, what do you think?
Their friend responds with
“You could use WordPress, or you could set up a Shopify store for $39 a month.”
The second person started by saying I want an online store instead of a list of requirements. They now have a solution that will save them a lot of money.
Fixed Bid
This one might not save you money but can reduce your risk. Some companies will give you a time and materials bid. These quotes can sometimes look more appealing, but be unrealistic.
Company A gives you a quote of $200/hr and estimates it will take 50 hours. Company B gives you a quote of $20,000 which do you take? Company A looks to be significantly cheaper, doesn’t it?
That depends on how much you trust the estimate that it will take 50 hours to complete. Software is incredibly complex to build. Even simple applications are usually more complex than people think they are.
Some companies will even low ball their time estimate to make their bid look more appealing. If your project ends up taking 120 hours the fixed price quote looks pretty appealing.
Some projects are better suited for fixed price quotes than others. Interestingly, it can also mean less work for you.
It’s better to have a strong definition of success instead of a long list of requirements if you want a fixed price. This gives your partner more freedom to draw on past experiences for your project. If you have hundreds of requirements you’ll likely get a time and materials estimate.
Developers know that these requirements will change over time. That means they’ll have to rewrite portions of your project during development. This makes it incredibly hard to estimate how long it will take.
Ultimately you want a project that will bring in more revenue or save more time than it costs. This is much easier to calculate with fixed price quotes.
Unique contracts
Finally, you can try and get unique with the contract if you really want to save some money.
You could let the company keep the intellectual property of the project. If you allow them to sell what they’ve done to someone else, they can sell it to you for less.
You will, of course, want to make sure that you still own your version of the application. You also need to own your version of the code so that you can make changes as needed.
You could also try and come up with a profit-sharing solution. You allow your partner to make a certain percentage of the money that comes in from the project. This won’t work for all projects and can be challenging to define. This does have the benefit of aligning the goals of both companies and can deliver the best results.
Conclusion
Hiring someone to build your project isn’t easy in the best of times. Trying to find someone when your budget is a big concern makes it even more difficult.
My best advice is to find someone you trust that can be your advisor. Someone with experience building large complex software applications. If you don’t have that person in your company already reach out to your network.
Make sure that you don’t sacrifice quality to stay within your budget. It is usually better to wait than rush out a product you will later be unhappy with.