- All in One and feature toggles
- Challenges: if much customization is needed
- Branching/Forking of whole product
- Challenges: merging with main branch in post-delivery
- Entity-Attribute-Value-Model (EAV) for database as addition
- Plugin Architecture
- Challenges: “Points of Customization” (aka Extension Points) in the main product
- Extension Approach (inheritance)
- Separation of main product and customer-specific
Evaluation
All in One | Branching | Plugins | Extension | |
---|---|---|---|---|
Architecture Independence | + | + | – | – |
Business logic customization | + | + | ~ | – |
UI customization | + | + | ~ | + |
Performance effects | + | + | + | + |
Complexity long term | – | – | ~ | ~ |
Scalability | – | – | + | + |
References