Client Expectations
2009-01-20 11:24:34
For a developer, dealing with most clients is hard. The client has a different level of experience and different terms they use on a daily basis.
Its not just that what you describe to them may invoke different emotions and mental pictures, its that their mental model of the whole process differs from your own. Its not as if it only applies to one specifc area of development, it applies to project design and development, UI design and many other areas of IT.
For example, if a customer says that a website is slow, you can't expect them to differentiate between the actual computer being slow (malware perhaps), the rendering being slow (perhaps an unoptimised javascript file or a misbehaving plugin),DNS resolution taking a while, the connection to the internet being generally slow (running bittorrent or similar p2p protocols, maybe), a path issue between their network and the server or the server itself being slow. You have to devine this yourself and even if many of these variables were exposed to the user, few of them would be useful to the majority of them due to lack of knowledge of what they mean. You would end up with many 'rules of thumb' being used out of context, such as the often quoted '200ms latency is the maximum usable'. Its not, and really depends on application.
So as developers we have to manage this 'black box' of a user. We can't see inside to see how it works. We can't take it apart and put it together again in a working state. We have to ask questions, shove pictures and concept drawings at them and hope that there is enough information coming back for us to narrow down how they are seeing our concepts.
