In English contract law, an assignment involves an 'assignor' transferring some or all of its rights under a contract to an 'assignee', so that the assignee is entitled to the corresponding performance directly from, and can enforce those rights against, the non-assigning party. An assignment in itself does not create a contract between the assignee and the non-assigning party nor does it make the assignee a party to the original contract.
It is not strictly correct to talk about the 'assignment of a contract'. In English law, the general principle is that the benefit of a contract (for example the right to receive payment or profits or the benefit of goods or services) may be assigned to a third party, unless the contact is a personal contract or the contract contains a restriction on assignment. The consent of the third party is not necessary to effect a valid assignment (provided there is no express prohibition on assignment or, for example, a requirement that consent is to be obtained).
Crucially, it is not possible to assign the burden of a contract, that is, the obligations (for example to perform certain services, deliver certain goods) under the contract, to a third party. This means that the burden of the contract remains with the assignor.
This is important because frequently, on or following the assignment of the benefit of a contract, the assignor will also transfer the assets used to fulfil the burden of the contract employees, for instance, may be transferred to the assignee along with plant and equipment or intellectual property rights and know-how, etc. This leaves the assignor with a contractual liability that it is unable to satisfy. In such a situation the assignor should ensure that there is a contractual obligation imposed on the assignee to assist it in complying with any obligations falling on it under the original contract and ideally also an indemnity in respect of any liability so arising.