Have you ever thought to yourself? Why do I need to do this tedious task over and over again? Shouldn’t the software do this for me? Can’t this be automated? Let’s take a moment to consider what the Return On Investment (ROI) could be for building software to do that task?
Software is all around us and much of what we use, as consumers, is available for free. Unless you’ve purchased enterprise software before you’re probably accustomed to obtaining most software for less than a few hundreds or at no cost at all. How is this possible when the median salary for a software developer is $109k per year according to glassdoor.com.
As you know, this is possible only because of the economies of scale. The beautiful thing about software is that you can build it once and go from a few dozen users to millions for a very small percentage of the upfront costs. Therefore, even though most software costs hundreds of thousands, if not tens of millions, of dollars to create, companies can earn a return by obtaining thousands (or millions) of customers or selling advertising.
Now let’s dive into the numbers and see how to tell if your software idea is worth pursuing. ROI is nothing more than than the return per year over the upfront cost invested.
ROI = Return / Cost
Calculating the Return
The return for a project is going to vary significantly from business to business because it is derived from how the business makes money. Broadly speaking, any project should either increase revenue, reduce costs or both. Oftentimes it can be helpful to follow the dollars backwards until to a department specific key performance indicator. For example, the marketing department exists to generate new leads. At each step in a sales funnel you’ll have a conversion rate representing what percentage of people move from one step in the funnel to the next. How many people who visited a landing page, subscribed to our newsletter? Let’s say you wanted to build software to automate optimizing campaign ads and diverting traffic to the ones which show the highest conversion rates. Then you would need to track how the conversion rate changes over time and multiple that improvement to see how it affects the overall conversion. Here are some hypothetical numbers:
If the software doubled the conversion rate from “Landing Page to Form Submission” then that would result in twice as many leads and hence twice as many won deals! Therefore, if the company was making $300k in operating profit, it would hypothetically double to $600k. Of course, doubling the conversion rate is not very simple or guaranteed.
Another (and often easier) way to see the benefit of adding software is to look at the cost reduction. A common method is to reduce labor costs by automating a tedious task and thus allows teams to become more efficient, find greater satisfaction and enjoyment from their work. At first glance, this type of gain could be calculated by multiplying their hourly rate by the time saved per week. If an app or software saves you one hour per day, then simply multiply your hourly rate by the number of hours saved per month. For example, if there are 3 marketing agents who each spend 1 hour per day reviewing results and fine tuning campaigns and they make $30 per hour, then the net gain would be $1800 per month (=$30*20 days/month*3people). Is this really a cost savings? The first thing a manager will ask is what will the employee do with that extra hour a day? All too often one’s day gets filled up with extra meetings, email or simply spending more time on the items they were going to finish anyways. Therefore, when estimating it’s important to think of what other revenue generating activities can be done in its place. Perhaps the marketing agent could run 3 more campaigns per week which each will generate 100 new leads per week. Therefore, the real gain would be 100 new leads generated, not the reduction in labor.
As these example highlights, the key is to estimate how an increase in your Key Performance Indicator (KPI) translates to the company’s bottom line. This will be unique to each company, but it all starts with asking, how does my department provide value to the bottom line?
The second part of ROI is of course the cost. How much does it cost to produce software anyways? If you’ve ever received a quote from multiple dev shops you know how frustrating it can be figure out the cost for new software. Most of the time, an account manager will talk with you for an hour or two to gather your ideas and grasp a picture of your idea. This results in quotes coming back with a wide range of tens of thousands of dollars often going between $30k to $80k just to get started!
Why the wide range? Software (e.g. apps, web apps, desktop apps, etc) can be very very complex or relatively simply even for the same idea. It’s kind of like asking a general contractor how much it costs to build a 3 bedroom, 2 bath house with 2000 square feet. Depending on the details of the house the price could range from $50k to $500k, same goes for software. The reality is that it is just not possible to communicate all the necessary details within an hour to put together a very detailed estimate. That is why one company could provide an estimate for $50k and another company could say $150k for the same project.
The other key factor is of course the hourly rate and overhead. In the United States, software developer salaries range from $80k to $150k depending on experience and location. In San Diego, the average salary is $112k with many companies paying over $180k per year (hired.com/state-of-salaries-2017). As many suspect, salaries in India and Southeast Asia range from $10k to $75k per year (or Rs. 690k to 5040k according to Zuby.in)
In either location this doesn’t include benefits or the additional overhead from running a business. In general, the total costs per developer is about 2X the base salary+benefits due to the need for the other expenses related to running a business: renting an office, sales, marketing, legal, accounting and hiring.
All of this usually works out to about $15 to $35 per hour when hiring developers in other countries and $75 to $150 per hour when hiring locally. Rates can be even higher for specialized skills such as Big Data Engineering or Data Science.
Numerous articles have highlighted some of the pros and cons of working with developers locally versus over offshore, so it is worth doing some due diligence to decide for yourself what makes the most sense. Some companies, such as EffectiveSoft, provide local account managers to answer all your questions and be the face of the project, while managing teams abroad.
In addition to a lack of clarity and a wide range in hourly prices, much variation in the price comes from the wide variety of ways to code an application. No two projects are created the same and hence there is almost always some learning involved with any project. Learning takes time and depending on a developer’s skill level and experience with a given problem it can take hours, days or even weeks to solve. These type of challenges are difficult to account for.
Another item you’ll want to include is the maintenance and update costs. No software is ever truly finished as there will always be bugs to fix, security updates to make and enhancements to add.
Putting this all together, you’ll want to find a Key Performance Indicator (KPI) that your software will impact and then relate that back to the bottom line to estimate the return. Then you’ll want to request a quote from several dev shops to estimate the cost. It’s very common for the final cost to be twice as much as the original quote, so you’ll want to plan accordingly and ensure the benefit is still worth 2X cost. In general, it is a best practice to recover the initial costs of software development within 6 to 12 months, which equates to a 100% to 200% yearly return. For example, if the gains from the project are $10k per month and it costs $120k to build the software, then it would take 1 year to recover the initial investment costs (not including any cash discount rate).
The chart below shows how quickly you’ll recover the cost of a software project based on the percentage of the total cost which is gained per month. For example, if an app cost $29k to build and you saved $5k per month (17%), then you would recover the costs in just 6 months. This can be a quick way to see if your project is worth pursuing.
What can be done to reduce costs?
As you can see, the price of building a software project is dependent on a wide range of factors and therefore prices can range vary in tens of thousands of dollars. Therefore, the more precisely you can articulate your idea, the closer the estimate will be and the faster it will be accomplished. This can be greatly facilitated by created a mockup or wireframe in the various prototyping tools available such as: InVision, Balsamiq, proto.io, etc.
Before you spend too much daydreaming about your next software idea, please take a moment to estimate what the potential gains will be and then if the number seems reasonable draft up a mockup to help explain the concept to a developer