The decision to customize DreamApps is a serious one and cannot be taken on an ad hoc basis. When a customization request is made, there must be one of the following motivations for it.
In the first case, we need to develop new module(s) to address the requirements. In the second case, we need to enhance our current module(s) or create optional plug-in(s). Only in the the third situation, is there a case for customization.
The entrusted team leader of the development unit studies the URS1) crtically and prepares a draft SDP2). The draft SDP must clearly specify, for each feature, if its delivery requires configuration, enhancement, plug-in(s), new module(s) or customization. The final decision can only be taken by the chief of the development unit responsible for delivery. Whenever a decision to customize is made, the reason(s) must be recorded on the SDP. Preferably, customization should be done by a person who is not otherwise involved in the project. This is to ensure no short-cuts are involved.