Table of Contents
What is an Hourly Contract?
Previously we’ve discussed when fixed price contracts make sense for building your app. However, our general recommendation for most new apps is to start with an hourly contract. Hourly contracts, also known as time and materials (T&M) contracts, are a great way to build brand new apps because they provide flexibility, cost predictability, transparency, and aligned incentives.
An hourly contract is a contract that pays the development team for the time they spend working on your project. The contract will specify the hourly rate you will pay as well as the payment terms. Some hourly contracts may include a “cap” or expected maximum cost for the project, or an estimate of the total cost of the project based on what the development team knows about your app.
A fixed price contract will “lock in” the scope or requirements for your project. If you know exactly what you want to build, fixed price contracts can be a good option. However, the level of certainty you need to reap the benefits of a fixed price contract is rather high. It is unlikely that you will have this level of certainty when building an entirely new app.
So let’s look at some of the benefits of hourly contracts for building new apps, and why an hourly contract is our preferred way to start greenfield projects.
First and foremost, hourly contracts offer incredible flexibility. This is especially important when building a new app, as the requirements and scope of the project can change over time. Even with a clear idea of your goal for your app, there’s plenty that can change as you see your app come to life.
For instance, the user experience is a frequent target of change in a new app. Even if you have a fully fleshed out design to start with, you may find that the design doesn’t feel like you expect once you have the actual app in your hands. Early feedback from users may reveal that the user experience is not as intuitive as is needed by your target demographic. You may even find that features you felt were important are considered by most users to be unimportant, or vice-versa.
In a fixed price contract, these changes would be considered scope creep and would require a change request—updated requirements that increase the project’s overall price. In an hourly or T&M contract, these changes are simply part of the development process. No contractual change is needed, and the team can prioritize whatever changes you like.
Additionally, new or untested technologies introduce uncertainty into the requirements (and cost!) of an app. If your app is working with experimental or cutting-edge technology, your development team may not know exactly how long it will take to build a feature. There is no fair way to capture such work in a fixed price contract. In a fixed price scenario, the developers would either overestimate the work to avoid losing money, or underestimate the work to win the contract. If they overestimate, you lose money. If they underestimate, the development team will either (a) lose money, (b) propose a change request when they exceed their estimate, or (c) cut corners to finish the project on time.
In an hourly contract, the development team can work with you to determine the best way to approach the new technology. They can estimate the work, and if they are off, they can adjust their estimate as they go. If you decide the feature is not worth the time, you can simply stop the work without amending your contract or incurring any additional costs.
Cost predictability is a significant concern for companies who are building their first app. That’s a big reason that fixed price contracts are so popular. However, in our experience, fixed price contracts merely give the illusion of predictability. Fixed price contracts tell you what you will pay for completion of a list of requirements. What it doesn’t tell you is if the completed app is something anyone will want to use, or if you will need to invest more money to make your app successful.
That illusion of certainty is why we now recommend fixed price contracts only for efforts where we have a small, well-defined scope, and we understand the technical risks of building each feature. When we do not have incredible certainty, we prefer having a conversation with our clients to explain why we recommend an hourly contract. We would rather be upfront about project risks and the realities of building a new app than to promise something we can’t deliver.
Hourly contracts give you a more accurate picture of the cost of your project. Typically accompanied by a ballpark estimate, an hourly contract will tell you how much you will pay for the work that is actually performed. Instead of promising an exact scope of work, an hourly contract is designed to motivate all parties involved to achieve the best possible outcome for the project.
A good agency (ahem) will communicate the cost of the project as it progresses and regularly update you with a projection of the final cost to deliver an app that meets your goals.
Hourly contracts require the development team to track the time they spend on your project. This gives you transparency into the work that is being done. You can see the hours being logged, and you can see the work that is being done. If the two don’t match up in your opinion, you can ask questions about the status of the project and hold the development team accountable.
Our typical process involves weekly status updates, where we provide a detailed report of the work that has been done and the work that is planned for the next week. This includes information about completed features, time spent on the project so far, and our projection of when we will hit key milestones in the project (such as your first App Store release).
Hourly contracts also require the development team to give you an idea of how long new work will take. If you have an idea for something new that you’d like to add to your app, the development team can give you an estimate of how long it will take to build. You can then make an informed decision on whether that new feature is worth the investment. The team will offer options for how to implement the feature so you can choose the best option for your budget.
This is opposed to a fixed price contract, where the development team typically sets a price and then does whatever they must do to avoid losing money on the project. For example, if your fixed price contract includes a feature for sharing a calendar with a friend, the team may take liberties with the implementation to save time. Perhaps you envisioned a way for friends to gain administrative access to the calendar, but the development team decides to simply give them view-only permissions to save time because the project requirements did not explicitly describe what “sharing” means. In an hourly contract, the team would simply ask about your expectations and build what you like, communicating the cost difference between a bare-bones implementation and a polished implementation.
Again, fixed price contracts give the illusion of certainty, not the guarantee of certainty. In the previous example, the gray areas in a fixed price contract can lead to disappointment, unexpected costs, and frustration with the final product. An hourly contract does not share these problems, because the expectation upfront is very clear: we will learn as we go and collaborate with you to build the best product possible within your desired budget.
We describe the hourly arrangement within a T&M contract as an alignment of incentives between our agency and our client. Hourly contracts incentivize our team to continuously deliver high-quality work that meets our client’s expectations. There is nothing to lock a client in to continuing to work with us: there is no contractual obligation to continue working with us. Therefore, we must do well to keep our client happy and maintain our relationship.
Compare this to the worst-case outcome with a fixed price contract. The development team would be motivated to complete the contractual requirements as quickly as possible: doing so would allow them to move on to the next project and earn more money. They might cut corners to minimize the time spent on your project, increasing their profit margin while delivering an inferior app. Depending on the contract terms, you may be obligated to continue working with the development team until they complete the agreed scope of work even if you are unhappy with the final product. In that scenario, there’s even the possibility that the team postpones completing your work in favor of more profitable contracts, missing your desired timeline for completion. These problems are described further in our article about current problems with the app development industry.
Hourly contracts do not experience these problems, because the development team is motivated to deliver a high-quality product that meets your expectations. If you are unhappy with the work, you can simply stop working with the team. This arrangement is empowering to clients and motivates everyone to work together to build the best product possible.
Try an Hourly Contract
In short, an hourly contract is a great arrangement for building new apps. It offers flexibility, predictability, transparency, and alignment of incentives between you and your development team. Consider using an hourly contract for your next project. If you are weighing your options, we’d be happy to speak with you.