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 requirement specification. As a rule, only high-level specialists can define such requirements and prepare specifications. It should contain exhaustive and clear numerary requirements for the 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 of his requirements and is ready to pay for the proper result. Never the less, he can always try to find another executor, for example, here or here.
“Normal” client type
“Normal” clients are the most widespread type. He understands what the final result should be. But he has no knowledge or experience to make the correct specification. He understands this and is ready to pay for the specialist service. I believe that the formation 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 realization of some device characteristic or function. It requires time that, as I believe, should be paid.
“Crazy” client type
A representative of the “Crazy” type believes that he knows everything. In reality, such a client does not understand many things. He does not understand the importance of the requirements specification, of planning, or why he needs to pay for these things. Often, he is aggressive and pushy. 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 of these ideas cannot be realized in the real world because of natural 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 fantastic. The feasibility stage for them takes a very long time and requires actively using your own imagination.
«For nothing» client type
This client type can be a separate type or subtype of one of the already-mentioned types. “For nothing” clients do not want to pay for the whole of your work or part of it. He does not want to pay for the extra work that you need to do after he changes the requirements. Such a client is sly and resourceful. Your defense is a correct contract with strict requirements specifications.
If you have any other client type in mind, please let me know in the comments.