The decision to execute a project as a fixed priced project or an hourly project is one that has vexed clients for years, and there are no simple answers.
This question is typically relevant to clients who are outsourcing projects to remote teams or freelancers.
These questions become more relevant for developers who have been shortlisted via a web search or any of the myriads of online platforms like Upwork, Guru etc. While most of the better platforms have provisions to handle both kinds of projects, with inbuilt checks and balance the confusion still remains and more so with clients who identify vendors online without the ability to decide one way or the other and are left to the guidance of the vendor to make a call.
There are a few guidelines that need to be taken into consideration, before deciding how you would like to get your project executed.
Has the project been fully defined. A full definition of the project reduces the risk of working on a project on hourly basis and not getting work done in budget and on schedule.
It might be a good idea to invest in the definition of the project using an independent consultant. A business analyst would help you to convert your ideas into specification document. He/ she should be help you to validate the business ideas / concepts as well as guide you on the general technical feasibility. Please remember that a Business Analyst doesn’t usually deal with specific technology capabilities. Being independent means that they should not have a vested interested in taking the project in one way or another. But again you should validate the capabilities of the consultant before hiring him /her, as the success of the project could hinge on their project definition.
The project definition should include at least a Functional Requirement Document and Wireframes / User stories. User stories are particularly useful for non-technical clients, as they clearly define the app functioning in a visual format.
Have you got a quotation from multiple vendors. This helps to evaluated the effort / cost between vendors. Typically for the same capability of vendor, the variance in effort( hours to be worked) should not be more than 20-30%. Though the hourly rate can vary widely between vendors.
The rate variation could be boil down to simple economics like country of origin. Some countries are simply more expensive that others. Its unlikely that you would have vendors offering low cost services from Singapore, New York or London. Typically lower cost vendors are concentrated in south East Asia, China and Eastern Europe.
In many cases, the project cannot be fully defined at the outset, in which case the broad contours of the project should be laid down. Even so, one should try and define aspects of the project to the greatest extent possible and as well as create an understanding of what are the areas that need more study/ research to get to the point of clarity.
In many cases, clients take on vendors for adhoc jobs that are usually limited in nature and the billing for a week or month are based on a series of small tasks. This engagement is best done an hourly basis, as the tasks are disjointed and adhoc. But even in this case, diligent review of the tasks will provide some clarity to the effort needed for each task and allowing for budgeting and financial prudence.
At the end of the day every project would have some limits in terms of budgets. So it would be impractical to assume that a project can continue ad infinitude without achieving its goal. So even while a project might not be fully defined, it is only practical for the project owner to assign some kind of effort / budget to each aspect of the project.
Typically validating the effort for any technical specification should be in the realm of a competent technical lead with specific knowledge or experience in the specified domain. So for the purpose of proper budgeting it is prudent to have a competent technical resource evaluate the specification document.
With a proper definition and estimation of effort done, the decision to run a project as a fixed priced project or an hourly project becomes a lot easier.
Payment protocols become a significant consideration while deciding on how a project is run. Working with a new vendor and signup to an hourly project paid weekly without validation can lead to unfulfilled deliverables. Payments should be linked to deliverable that can be validated.
In summation, the choice of whether the project is fixed price or hourly is not really very important, as long as you have few things sorted out before that :
With this is place, the choice becomes much easier and the decision to go with one or the other can be discussed and agreed between client and vendor depending on the nature of the project.