As a developer myself, I know a lot of the problems that developers might run into with clients. This is not to say that these things are easy to accomplish, however, it might give you a good idea on how to approach a developer. Before moving on, I want you to understand that I am not complaining about any clients. This is not meant to be a ranting article, but it is intended to give you an idea of how things are approached by other developers in the marketplace. Below is my idea of what you should be doing throughout the process of having your ecommerce website developed.
#1: Layout Exactly What You Want
I have seen a lot of people say, "Hey, I want a website." The problem is though that they really do not know what they want. For example, I did a website for a young man who was starting up a local graphics company. I advised him that the ordering process should be simple and since all graphics are custom, it might be better to have more of a contact form than an order form. He bounced the ideas around, I ended up having to do the order form over again about three times before he was satisfied. It started out very complex, then went to the contact form, and finally ended with a compromise between the two. These are things you really should think about before you contact a developer though. Get an idea of what you like and what you do not like before you do anything. What I even prefer, is that my clients go out and find websites that they like. Then tell me what they like about them. It gives me a good idea of the design preference as well as the layout of the website.
#2: Be Decisive
In the example above, you may be wondering "Why did you ever get started before asking him what he wanted for the order form then?" In all actuality, I did. I was simply trying to satisfy what he wanted since he was paying me for the work. When I would ask him, "what do you think about doing the order form this way?" His response would be, "That sounds okay." He really just was not sure what he wanted. Therefore, when working with a developer and they ask you a question, you should know that they are going to take your response to heart. If you say something is okay, that means that it is okay and they can move on with the project. However, if you are unsure, tell them this so that they do not have to redo work.
#3: When you see things you do not like, notify them immediately
Sometimes as a developer I just make it my responsibility to do things like I would like them done. This means that on occasion I can find myself doing something that the customer does not want. This is not a big problem as I take that risk. However, it can sometimes be frustrating to be working on a certain portion of the website for a while, and then have them notify me several days after the fact that I have put hours into it that it isn't something they want. Just try to keep them up to date.
#4: Be Patient
A lot of times developing a website is done all behind the scenes. Forms do not naturally work as they are intended as soon as you can see them on a website. There is some backend coding that causes them to become functional in the way you would want them to be. Therefore, sometimes you may not see any progress for days at a time. A good developer will notify you of this. However, do not panic if they don't. Just email them, ask them what the status is, and they should tell you. Most websites will take weeks to develop especially if you are working with an individual so you will have to have patience.
#5: Never Pay All of It Upfront
With any developer, myself included, I would encourage you to not pay the entire amount of upfront. Most developers will require that you pay something. However, this is usually 20% of the total amount in my experience. After this, they may ask you to pay installments as the project moves along. However, you should be leery of developers who want the entire amount upfront.