Software Outsourcing Challenges: Billing Models

Software Outsourcing Challenges: Billing Models

Software development is the type of industry that is always on the cutting edge of technological advances.

It’s the foundation that allows us to design tools that make our lives easier and stay ahead of the game. But developing software is far from easy and takes a lot of time. And honestly, sometimes it requires outside help through outsourcing software engineers.

Even though the amount of software outsourcing providers has skyrocketed in the past few years, the overall quality of work and level of customer satisfaction hasn’t.

We want to change that.

With over 15 years of experience in software development, our founding team has experience both from the perspective of an agency as well as a client.

In our history:

🧭 We’ve received vague requirements (and given vague requirements).

🍒 We’ve dealt with picky customers (and been a picky customer).

🐛 We’ve complained about bugs to suppliers (and been the ones fixing bugs).

To put it simply: we’ve been on both sides of the fence. This has given us a unique perspective to understand the drivers and motivations behind clients and agencies when it comes to problems with outsourcing software development.

Software Development Agency Dilemma

One of the most common frustrations in the software development process comes from what’s known as the principal–agency dilemma.

Let me explain it this way:

Remember when you were a kid and your Mom needed help baking cookies? When she (principal) asks you for a cup of sugar, she trusts that you (agent) will hand her a cup of sugar. But what if you give more than a cup? Or less than a cup? What if you accidentally grab the salt instead? The cookies will head straight for the trash.

Are we talking recipes here or software development? Okay, let’s reel it back in.

The software development agency dilemma lies in the fact that when work is outsourced, both parties act out of self-interest.

In the tech world, the dilemma occurs because the agent (in this case the software development agency) needs to act both in the client’s best interests but also in their own best interest.

And these interests can sometimes conflict.

As a client, you want:

🏋️‍♀️ To build great software for your customers to use.

🍀 Do it at a low enough cost that is also financially sustainable.

The agency wants:

🏋️‍♂ ️ To build great software for their clients (you). Client success is mutually beneficial and helps in developing a long-standing working relationship.

💰 To make money.

On the first point, both you and the agency development team are aligned, almost by default. You want to build the best possible product for your business. And agencies want to create good, valuable products because:

a) It helps them establish a good reputation to build on.

b) Making good products gives their employees a sense of satisfaction.

On the second point, there is an ever-slight tendency for both parties to move in opposite directions. You want to get as much bang for your buck. But the agency, just like any business, wants to maximize revenue.

If this conflict goes unchecked, it can create friction on both sides and jeopardize the relationship. To align the interests of both parties, we need to rethink how the value is exchanged for money through invoicing, billing, and payment agreement terms and understand how to accurately bill for software development.

It is also important to keep your eyes open toward a bigger picture of what is happening in the dev market to budget for software development outsourcing accordingly.

Here are some interesting stats from CodeSubmit:

Software Development Billing Models

Time and Material / Hourly Rate

  1. With this method you can get easily overcharged for the software development project: the agency can easily invoice more hours than what you expected without getting your approval. This happens very slowly. You ask for more things to be developed, the agency spends more time building them and in the end, you get a bill that was much higher than anticipated.
  2. You get poorly defined fees that you didn’t know were part of the deal: agencies will include a vague title like “management” or “project management” without a concrete project scope or clear guidance on how many hours were spent and what is the value you are getting out of those hours.

One alternative is to work on a per-project billing fee instead of an hourly one. But even this method presents its own set of software outsourcing challenges.

Fixed Price Model

Working on a project basis means that all guidelines and expectations are agreed on before the project starts. This means there’s less chance to get screwed over, right?

Well, here are a few things to consider first:

1.  You have to know exactly what you want to build as well as all of your project requirements. From start to finish, every aspect of your needs must be planned out with timeframes. This is because if you forget something and later have to add it to the scope of work, you will be charged extra for it. That makes a fixed price model less attractive for complex custom software development projects.

2. Agencies will provide an estimate or proposal of how much the project will cost. But all agencies include some form of a buffer (markup) into their estimates. As a client, you don’t really know if this buffer is 10% or 80%.

Monthly Retainer

If you want to avoid the headache of billing software developer hours and project fees, a monthly retainer might be the best solution for you. It’s the closest you can get to actually hiring for the in-house team.

However, you need to be aware of two things:

1. Unless you get a dedicated developer, there is an incentive for a service provider to “re-use” the same developer for other outsourced projects, and thus you might get someone whose focus and attention are spread too thin across many deliverables, especially in long-term projects.

2. Almost no IT outsourcing agency will give you a dedicated team member on a retainer for a 3-week project. Retainers have minimum commitments of 3, 6 or sometimes 12 months. And even though they offer free trials, you wouldn’t commit to a year’s relationship after dating for a week 😉, right? Well, most of you wouldn’t.

Software Development Outsourcing Prices

In the world of next-day delivery convenience and cancel-any-time guarantees, it’s time the software development industry reaches the next milestone and starts pushing the envelope in guaranteeing great service.

There are lots of billing frameworks and outsourcing models, but it’s hard to find one that perfectly balances the interests of both the client AND the outsourcing partner. It's always good to ask yourself: is the price right?

It is especially relevant for ambitious startups which are just building an MVP of a software solution.

You pay good money for the product development and outsourcing services you want, so if something goes wrong, you shouldn’t be stuck on the losing end with outsourcing companies.

While you can always switch to another software development company, there’s still the loss of time and money sunk into a software product that doesn’t work. Especially with the fixed-price contracts.

At Softup, we approach software development pricing models differently.

We believe that our long-term success lies in a 100% satisfaction guarantee. If something goes wrong (not that it will), we pick up the check. That’s why we offer a risk-free model that allows you to pay only when your business needs are satisfied.

And we don’t just do this in our first sprint like most free trial offers. We do it for the whole marathon.  

👉 If you want to learn more about risk-free software development at Softup, let's chat. In a meantime, tell us:

Read next Software Outsourcing Challenges: Buyer's Remorse