Business is business: if you’re negotiating with a software vendor, you want to know their price. And how are you supposed to react when they tell you their software engineer hourly rate? After all, what’s at stake is not only your budget but your project. If the development costs seem relatively low, you might doubt the vendor’s qualifications. On the contrary, the rates that seem high at first glance might turn out to be more economical due to the company’s speed, expertise, additional services, and access to various necessary tools.
These options converge at one point: you have to learn in detail what’s included in that hourly rate. Comparing figures itself can’t be the main criterion because different teams can spend the same time but achieve completely different results. Let’s take a closer look at this, resorting, where necessary, to a house-construction analogy.
What Payment Models Are Used in Software Development?
Imagine you’re looking for contractors to build a house. In this case, you can pay a fixed price for a complete “turnkey” home or hire employees at an hourly rate. You can define short-term goals and make payments once the workers reach certain milestones (such as drafting, foundation laying, building, finishing, etc.).
Software development is similar. Two engagement models are widely used:
- In the Fixed Price Model, the budget for the entire development process is set based on the estimated time, task scope, and materials to be used. After the jobs start, development teams cannot charge extra without your approval. However, you need to plan the entire project thoroughly to avoid unexpected challenges. Therefore, this type of contract is more suited for small projects with a limited budget and scope of work.
- In the Time & Material Model, the client pays for the time and resources the developers actually use. This way, you pay for required tasks after they’re completed rather than guesstimating all the details in advance. This option is optimal for software projects that are likely to undergo numerous changes during the development process.
Each model has pros and cons, which I’ve detailed in my business engagement models post.
When Does It Make Sense to Choose Hourly Billing?
In the IT domain, the typical startup is more of an idea than an exact plan. In this case, your software product (a web or mobile application) is like a house where new rooms might appear, and the volume of the existing ones will change occasionally. Therefore, you’re more likely to opt for an hourly rate model when dealing with your outsourcing teams. Sometimes, it’s just too difficult to estimate everything in advance accurately.
When working on a software project, innovative solutions and attentive response to user feedback is crucial. That’s why Django Stars has found that agile approaches to the development process are beneficial. (For example, read about our experiences with Scrum.)
Thus, there’s often a situation with many unforeseen factors where it’s more profitable to follow an individual approach without fixed payments. Moreover, hourly pay can lead to more satisfaction with the results, because it gives the business party additional leverage. The challenge is to know how to use them.
A Word about Control over Hourly Work
How can you ensure the time you’ve paid for is being used effectively? Today, there are many convenient digital tools for software development. Furthermore, your team is probably already working remotely because of the pandemic. This expands the possibilities for integration.
With the help of time-trackers and interaction systems, you can measure the time and effort spent on each task. Django Stars uses Jira, which allows us to assign story points to each task and make predictions about a project’s progress.
Based on the reports, you can competently influence the process – for example, by expanding or reducing the team, adjusting the number of hours, varying task priorities, etc.
For those interested in how the Project Owner (business representative) can use Jira for better communication with the development team and get accurate reports, I recommend our Project Setup Guide.
What to Ask the Software Vendor about the Hourly Rate
Terms vary greatly from vendor to vendor, even though they might be presented to you in similar packages labeled “hourly rate.” If you want to understand what’s inside these packages, here are a few questions to ask.
– What is the team composition?
Depending on your goals, you can turn to a vendor for services that cover various aspects of product development. Usually, a software project goes through key stages with interrelated analysis, architecture development, coding, design, testing, and project management processes.
As a rule, neglecting any of these processes hurts the project, so they all must be completed by appropriate specialists. Just as in building, it’s not always a good idea to entrust the bricklayer with the tasks of the architect, or vice versa.
– What are the qualifications of the performers?
Some vendors don’t specify the expertise of the people who will be working on your project. You might choose a more affordable software development hourly rate without knowing that you’re actually getting mid-level instead of senior developers. Here, we must point out that the requirements for conferring titles in different companies can vary greatly. The “mids” in one company might be declared seniors in another company (with a corresponding rate increase). Therefore, getting to know the team and asking a couple of clarifying questions makes sense. For instance:
- How many years of professional experience does a certain engineer have?
- What projects have they taken part in before? (i.e., how relevant is their experience?)
- How long have they been working with this team or software vendor? (That might give you an impression about the reliability and the responsibility of the company).
Note that a middle-level developer familiar with an industry close to yours might be more productive than an “average” senior. On the other hand, there’s no reason to select geniuses exclusively if half of the project consists of ordinary tasks. When it comes to your team, striking the right balance is important.
– What is the vendor’s approach to development?
If you were building a house, you don’t want electricians wandering around a construction site while someone’s laying bricks. They could carry out preparatory work in parallel. In other words, one purpose of a proper approach is to avoid time gaps. Ideally, all the staff you pay for should be evenly loaded with work. For example, in Scrum, while developers are preparing new code, QA engineers are testing the completed portion in parallel instead of sitting idle.
There’s another aspect to methodology. Although you might consider things like team meetings, research, testing, and code reviews a waste of hours, they’re all an important part of working on your project. If you try to economize on this front, you might end up with misunderstandings and errors, the elimination of which would only cost you more. (Remember the old story about the lumberjack who worked without a break but finished the job later than his neighbor because he took no time to sharpen his ax?)
– How much attention will developers pay to the project, and when will they be available?
You can pay for a month of pure working time, but how many calendar months will you wait for the result if the team works two hours a day? Frequent switching between projects further hinders productivity and burns up the hours you paid for. Software creation is intellectual work, and it takes time for an engineer to stop thinking about one product while working on another.
Intensive staff rotation also doesn’t contribute to focused work. Therefore, a good practice is to avoid transferring developers from one project to another. Instead, it’s best to have a team dedicated to the client’s project and constantly available to discuss certain solutions. This is how we do it at Django Stars.
By the way, make sure that the developers schedule calls and meetings at a convenient time for you. (Recall this point when we talk about time zones, below.)
– What are the company values of the software vendor?
This is not an idle question. Software development is often more than just one-off contracts. If the project proves to be successful and well-received by users, it will be maintained, developed, and updated. It’s possible and even desirable that your software startup will grow into a big company. In this case, you’re choosing not just a supplier but a partner for comfortable, long-term cooperation.
Note: We recommend that you check the vendor’s reputation by reading their customer reviews on Clutch. And don’t forget to sign an NDA before entrusting someone with your idea.
Additional Factors to Consider
Prices in different regions will differ. This is obviously influenced not only by the wishes of the developers but also by the regional cost of living and the tax burden in their country. Thus, you can pay the same money for different quality services depending on the vendor’s company location.
There are two other factors that clients usually care about:
- The first is the language barrier. It’s easy to evaluate a project manager’s knowledge of English. It’s more difficult to be on the same page, which depends more on personal communication skills, both yours and theirs.
- The second is time zones. If the difference is too great, it may seem uncomfortable. But, on the other hand, to review and discuss assignments with an outsourcing team, you only need to have a couple of hours overlap. After that, they can continue to work while you rest.
By the way, be aware of potential cultural differences. A programmer’s hourly rate in Europe may significantly differ from the corresponding rate in Asia. Still, the differences in mentality can be even more noticeable and affect the collaboration if left unattended.
The size of the vendor depends on the scale of your project and the technologies you’ve chosen. As a rule, larger vendors fit larger clients that are ready to deal with some bureaucracy. But if your project isn’t that complex and you don’t need extra services, a small but expert development team might be more suitable for you.
Also, try to get an idea of the development team’s average performance. It’s not only the number of hours they devote to your project that matters, but also what they manage to do in each hour. At the same time, quality should not suffer. Otherwise, the money and effort in developing the project might be wasted and the work might have to be redone. So it’s not about cheapness, it’s about the cost-to-quality ratio.
The Hourly Rate Isn’t Just a Figure
Hourly fees are convenient for fairly large projects because they don’t push you into a tight frame of time and scope. But you need to collect as much information as possible upfront about your partner before entrusting them with bringing your idea to life and having access to sensitive data.
A reliable software vendor should be ready to honestly answer all of the above questions and highlight some additional nuances that will be helpful to you. Only by having complete information will you get the opportunity to really compare.