Modular development strategies
Modular development is a core design practice in Pega Platform™ that helps teams build applications that are easier to develop, maintain, and deploy. By organizing an application into smaller, well-defined modules, organizations can streamline development, reduce dependencies, and deliver changes faster with lower risk.
For Lead System Architects (LSAs), applying modular design effectively is critical to creating scalable and resilient solutions. Modular constructs (such as Case Types, Rulesets, Branches, versioning, Application Layers, and components) form the foundation for independent development, consistent governance, and predictable deployment across environments.
Modular development
Pega Platform is designed with strong support for modular application development, enabling scalable, maintainable, and flexible enterprise solutions. As an LSA, understanding and applying these modular elements is essential for building robust applications.
Use the following modular elements to structure applications effectively:
Case Type: A Case Type represents a specific business process or functionality. It is a best practice to design each Case Type to handle a single, well-defined function. This modular development approach supports clarity, simplifies testing, and supports independent development and deployment.
Branches: Branch development supports parallel and isolated development. Creating a branch for each feature or Case Type to maintain separation of concerns. Code reviews and testing can occur at the branch level, reducing risk to the main application.
Versioning: Pega Platform includes built-in versioning at three levels:
- Major, for significant changes or architectural shifts.
- Minor, for enhancements or new features.
- Patch, for bug fixes or small updates.
This structured versioning supports incremental and modular releases.
Application Layers: Use built-on applications to separate concerns across layers:
- Enterprise Layer: Shared business logic and Common enterprise assets.
- Implementation Layer: Application-specific logic.
This layered approach promotes reuse and simplifies maintenance.
Component: A component is a reusable module designed for a specific function. Components are not standalone applications and typically do not include Case Types. They follow the Pega class hierarchy, not the organizational hierarchy. You can embed components in any Application Layer, making them highly reusable.
Check your knowledge with the following interaction: