However, when the technical specifications fail to convey the full meaning of the end user requirements, misunderstandings will arise between the end-user and the program developer and will take on the form of output errors, unwanted features and awkward user interfaces.