4 ms·
The answer is it really depends. In my experience both in hiring and working as a contractor, I tend to do a day-based rate when the contractor is working essen
by mikeocool 15y ago
The answer is it really depends. In my experience both in hiring and working as a contractor, I tend to do a day-based rate when the contractor is working essentially as an extension of the in-house team, that is they don't have a project with explicit requirements and timeline, they're just going to be delegated tasks as they come up. A library for a REST API seems like a task that can be fairly well defined upfront. Assuming that you can define what you want in a fairly tight spec, I think most contractors would be willing to give you a fixed price for a project like that.
Defining 'finished' goes hand in hand with the spec. Write up a document with some basic design reqs, the classes you want, the methods they should have, include examples of what you API outputs or at least have links to your docs, and call out any edge cases. Additionally, I find it hugely beneficial to ensure that contractors right unit tests, then as you're QAing the code and find bugs, you can add failing tests for them to fix.
In the case of 'finishing' maintaining a good relationship with your contractors throughout the project goes a long way. Most people are happy to deal with a handful small issues that you might have forgotten to add to the spec, if they're enjoying working with you. If you've been adding new features and constantly changing things throughout, they're going to be a more interested in getting rid of you as a client than helping you out at the end.
Not sure exactly what you mean by project overrun. But one key is work with the contractor to put together a timeline of milestones. And be sure to include time you to QA and then for them to resolve any issues. Once you have that, immediately understand that the deadlines will most likely be blown. Also, obviously make sure you have a contract that references the spec and the timeline, so in the event of a failure to deliver on the contractors part, your not stuck still footing the bill.