hi all,

we are in final stages of the hiring process for a developer to design a simple searchable database for an online marketplace. buyers and sellers will then connect and transact over our platform.

there is also a simple community/social network component with ratings, reviews etc (not unlike dani web).

they estimated that the project will take 22 weeks but we had initially agreed based on a 15-16 week time frame. We are trying to bring the number of weeks down as 5.5 mths to develop a relatively simple database and add a few features should not take so long.

also, the payment structure they have given us seems a little skewed:

30% advance
50% at the end of 2 weeks when database design and architecture is finalized
20% at the end of 22 weeks upon project completion.

we don't feel comfortable paying 80% within the first two weeks of the project since there will be many weeks left to completion and only 20% of the payment remaining so they can easily renege on the project.

Any suggestions from you guys as to how we can structure this better so as to make sure both parties are happy and motivated??

Any help is greatly appreciated!

> 50% at the end of 2 weeks when database design and architecture is finalized
Unless the system is that simple, the design is never the final representation of the system. Sooner or later, some unanticipated snag (or gaping hole) will be found which upsets the whole program.
Yes, 50% for this is extreme IMO.

> 20% at the end of 22 weeks upon project completion.
I would expect 4 or 5 milestones in this, each of which would trigger a payment.

Split the pot 50:50
One pot is paid pro-rata on the basis of work being done. Each week you get a statement of activities and achievements, and you hand over a bit of money.
The other pot is split into say 5 equal parts, and each part is handed over at the successful completion of a milestone.

If they still want an advance, then I would bargain. Maybe even consider some Escrow arrangement if you feel the amount up front is too much. Make sure you have a good contract.

Thanks for your inputs Salem! Have a some follow up questions...(see within your response)

> 50% at the end of 2 weeks when database design and architecture is finalized
Unless the system is that simple, the design is never the final representation of the system. Sooner or later, some unanticipated snag (or gaping hole) will be found which upsets the whole program.
Yes, 50% for this is extreme IMO.

> 20% at the end of 22 weeks upon project completion.
I would expect 4 or 5 milestones in this, each of which would trigger a payment.

--> We are new at this outsourcing and development stuff- what are good milestones to use to trigger payment? perhaps Alpha Version release 30%, and Beta 30% and last 20% upon completion? But again, how is "completion" defined? And what can we expect to see at Alpha and what can we expect to see at Beta (or is this something the client will stipulate and the developers have to deliver?)
--> Any suggestions on what the typical "milestones" are would be of great help!

Split the pot 50:50
One pot is paid pro-rata on the basis of work being done. Each week you get a statement of activities and achievements, and you hand over a bit of money.
--> So say for example we have a list of items in the Scope of Work and as each item/a few items are completed we hand over the money?

The other pot is split into say 5 equal parts, and each part is handed over at the successful completion of a milestone.
--> so basically this 50:50 pot would be combining the milestone structure (in which we pay a percentage at each version release) and the pro-rata structure where we pay per item as it is completed?

If they still want an advance, then I would bargain. Maybe even consider some Escrow arrangement if you feel the amount up front is too much. Make sure you have a good contract.
--> I am ok with paying an advance but will try to bring it to 10/15%. The the remaining 85/90% will be a combination of a milestone/pro-rata per item structure.

What do you think? Is that what you would do?
Thanks again- very helpful! :)

> what are good milestones to use to trigger payment?
What are the key features of your application?
- create account, log in, log out, edit user details
- list items for sale (sellers)
- search items (buyers)
- end to end transactions

> But again, how is "completion" defined?
You test it.

If you've written the requirements clearly, it should be pretty obvious what needs to work and how you would test it.
Like for example, you'll have statements like
- A user will be able to create an account
- A user will be able to change their password
- User information will include home address and phone number.
I like numbered paragraphs with only one "will/shall" imperative statement per paragraph, along with any additional descriptive prose to help with understanding. Yes it will be a dry read, but at least everyone will know where they stand.

From that, you can derive a list of tests which you expect to pass at each release.

With the first alpha release (possibly even before then), you'll need to agree on the process for raising bugs against specified releases.

> --> So say for example we have a list of items in the Scope of Work
> and as each item/a few items are completed we hand over the money?
Except it would be a flat rate. Even if nothing seemed to happen in one week, you'd still hand over the agreed weekly amount. Maybe there were some hard problems which slowed progress down. Likewise, other weeks will show massive progress. So long as the "moving month" average looks like it's on track, there shouldn't be much cause for concern on your part. But at least you'll have a record of what was being done.