Extensibility

Extensibility in an engine is simply the ability for a higher-level module or EPT to override the behavior of the engine. For example, Retail may wish the engine to work with Store Orders rather than Enhanced Orders. The writer of the original engine did not include Store Orders. The retail team could add a plug-in for the read part of the process to read Store Orders.

Extensibility greatly increases the flexibility not only in features and functionality but also by the teams that develop those features and the timelines they follow. Even if the feature is still built by the original engine team – they can develop a plug-in in an EPT for an IBU project as a hot patch for that IBU without requiring a full development cycle.