Customization or Enhancement?

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.

The function represents features that are totally out of scope of the currently available modules;

The existing modules are inadequate in addressing the required features;

The requirements are so unique that that they are not likely to be required by any other customer.

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 User Requirements Specifications crtically and prepares a draft SDP2 System Delivery Plan . 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.