The limitations of catering to new requirements may arise due to certain other factors too which might delimited at a later stage or may not be possible at all. For example an application built on client server architecture if required to be converted to a web based application later may call for a major overhaul or maybe a total discard of the already built application.
In that case a total revamp of the current application will become a necessity and a new application will be required to be developed on a different architecture. Sometimes the development tools used in the application also become a big limitation.
In no case any ad-hoc changes should be applied on an application to be used by end users for long term. The development team and the product owner must understand that ad-hoc changes are always meant for a short term.
They are usually provided to cater to customer’s needs for a short duration and during that duration a parallel exercise is done to change, alter or rebuild the product according the customer’s requirements or major change request in such a manner that the product caters to customer’s needs for a long term in a stabilized and established manner.