There are multiple reasons that can drive compromise within website development, of which can be used to sway the direction of a development project. Starting is with the why, as in why is it that compromise occurs when developing a website?. This could be taken multiple ways, for example the scope of the website during development is too great resulting in certain functions and features. Another would be with the client becoming too unrealistic with the website itself, this can occur when the client attempts to add additional functions and features onto the development cycle of the website enlarging development further. Next would be the how, compromise can be performed in many different ways to varying results in the grand scheme of the complete website development. Firstly, can be with the reduction of functions and features to ensure that the functional requirements of the website are met. Secondly, could be with the modification of the client requirements to better suit what it is the client what both in terms of functionality and usability.
There are however ways in which compromise can be prevented for the website development life cycle. For the developers this would involve such things as, avoiding static methodologies for long-term projects, prioritising open and agile methodologies, being able to provide multiple visions for the same product. With the client the same areas of improvement can apply with slight variation, though with regards to the open and agile. This can refer to how the client would be open to different interpretations of the original design for the website. Allowing for compromise on both sides of the development can allow for easier. As well as it can actually improve the overall result of a websites development due to an increase in efficiency with the different elements. However, refraining from doing so on either side of development can deeply affect the progress of a project to the point of project early-closure.