Upfront project scope definition is critical. However, it is unrealistic to expect that once a project is defined, the project will not change in scope, cost, or schedule. Change is inevitable. So, change has to be embraced and properly managed. Agreeing to how changes will be handled is an important part of scope definition and contract negotiations.
Managing change requires that any change be documented in a timely manner, openly discussed, reviewed, and approved in a timely manner before implementation. Changes can be intentional or unintentional. Changes can originate from many parties, not just the customer. Changes can have both negative or positive impacts to cost and schedule.
When writing a change order, the originator must think in terms of scope, cost, and schedule. Contract requirements, customer procedures, and internal policies must be followed. The cost of the change including appropriate supporting documents need to be compiled. Being honest about the change may require a full disclosure of the all costs including overhead and profit.
The customer has a right to change their mind. The supplier (contractor, engineer, whoever) has a right to get paid for the work delivered. Bridging this gap requires appropriate change management.