Like most other software developers and web designers we have trouble with some clients. I really feel the problem to this is a client does not understand the work and effort that goes into a site or software package. If a client saw what was involved in the Software Development Life Cycle and designing a functional database or design they may think about things a little differently.
Clients should think of software or a site like a house (Read this for a good laugh). Once a foundation is down, any drastic changes are costly. With a house, if you decide to add a room half way through, you have to get plans re-approved for loads and building codes, drastic changed need done, and the extra labor in building the extra piece. The same is true with development. If you have a database and software halfway through being built, and a client requests a change in structure, there can be many effects in database integrity, other pages or forms affected, and the extra work to build.
This shows that even small changes to software can affect many aspects. Without fail, this also pushes out deadlines and increases costs as a lot of work needs to be done to make the so called “easy change”. Please keep these in mind when working with a developer or designer. They will be happy, it will cost you less, and the chance of the project getting done on time will increase.