From my experience, all clients that resort to specialized technical help can be divided into five separate types: “Ideal” type, “Normal” type, “Crazy” type, “Fantasy” type, and “For nothing” type.
“Ideal” client type
“Ideal” client type is a client that has a full correct requirements specification. As a rule, an only high-level specialist can prepare such requirements specification. It should contain exhaustive and clear numerary requirements to characteristics of the device and its functioning. In this case, the project can be easily planned and estimated. Generally, the client agrees with a proposed plan and has no additional questions. Very rarely, the project cost question arises. But commonly, the client understands the complexity level of his requirements and ready to pay for the proper result. Never the less, he always can try to find another executor for example here or here.
“Normal” client type
“Normal” client is the most widespread type. He understands what the final result should be. But he has no knowledge and experience to make correct requirements specification. He understands this and ready to pay for the specialist service. I believe that forming of the requirements specification is the most important stage of the project. Sometimes, an engineer needs to perform an essential part of work to find out suitable requirements for the realizing of some device characteristic or function. It requires a time that as I believe should be paid.
“Crazy” client type
A representative of “Crazy” type believe that he knows everything. In reality, such a client does not understand many things. He does not understand the importance of the requirements specification, planning and why he needs to pay for this. Often, he is aggressive and pushing. And with this, he really does not understand why you are not happy to speak with him? As a rule, you need a couple of minutes to define this client type. I do not think that you need to deal with him longer than these couple of minutes.
“Fantasy” client type
“Fantasy” client believes that his ideas are great and wonderful. In reality, most part of these ideas does not correspond to real-world nature laws. But not always. Sometimes we can find a “diamond” among a huge amount of “trash”. Making the decision about searching for such “diamonds” is not simply because these ideas very often look as fantastic. Feasibility stage for them takes a very long time and requires on actively using of your own imagination.
«For nothing» client type
Such client type can be separate type or subtype of one already mentioned types. “For nothing” client does not want to pay for whole your work or part of it. He does not want to pay for the extra work that you need to do under the requirements changes he made. Such a client is sly and resourceful. Your defense is a correct contract and strict requirements specification.
If you have any other client type in mind, please, let me know in comments.