Design approach
To fulfill a specified business requirement, a Lead System Architect (LSA) must identify suitable Pega Platform™ features for a targeted functional need. This involves evaluating cases, stages, steps, processes, subprocesses, data objects, child cases, related sibling cases, and components to devise an effective solution. The decision-making process requires a comprehensive evaluation of both current and future requirements, considering factors such as performance, scalability, extensibility, security, modularity, time, cost, and effort. Additionally, influential factors include UX, Reporting, Persistence, Locking, Integration, and Application monitoring. The LSA must also evaluate available infrastructure and design patterns to make informed design decisions. If functional requirements match a design pattern, the design decision-making process becomes more straightforward, leading to time savings. However, if no design patterns align with the functional requirements, a thorough study is imperative. This study involves creating multiple approaches, conducting a comparative analysis, and ultimately selecting the most suitable Pega Platform feature for the solution.
Guidelines for identifying cases
The application design process begins by identifying the processes in the given business scenario and then pinpointing a Pega Platform feature that can automate the process.
For example, in a Purchase Request process, a customer selects items from a list and adds the quantity of each item to purchase to a shopping cart. One or more approvers review the list, and after approval, the shopping cart items are ordered. When the original requestor receives the items, the process is complete.
You can represent this business process with several case type designs:
- A single Purchase Request case type for the entire process, with sub-processes for each line item.
- A Purchase Request case type to gather the initial request that, after approval, initiates a single Purchase Order case type.
- A Purchase Request case type to gather the initial request with a Purchase Order child case type for each line item.
All provided solutions could be viable initially, but the best solution considers current and potential future requirements to minimize maintenance.
Consider the following questions when you identify cases:
Do the case types represent the items that need processing? Do they require multiple users to complete the process?
- Is there a benefit to dividing the process into multiple case types or child case types, or are parallel processes enough?
- If child case types exist, does the main case type processing depend on the completion of the child case types?
- Are there other current or future requirements, for example, reporting and security, that can be implemented more effectively by adjusting the case type design?
- If every process has distinct security requirements, creating separate case types or child case types can be a viable option.
- If detailed reporting is connected with the process, creating separate case types or child case types can be a viable option.
- If the infrastructure provided by case type processing for data, for example, an approval process, security, or auditing, is beneficial, providing a case type could be more suitable than directly updating the data.
Consider all the questions thoroughly. Some situations do not require additional cases and might lead to inefficient resource use and overly complex solutions. Since creating case types involves more processing, ensure that there is a solid reason for creating additional case types.
The Purchase Request example above demonstrates the following points:
- If security requirements are based on individual line-item types of approval, then implementing the case type design solution with child case types for individual line items could be necessary.
- If there is no specific requirement for line-item processing, a solution that involves subprocesses could fit each line item.
- Adding a Purchase Order case type might not be necessary unless a requirement explicitly states the need for it, for example, special reporting requirements.
Check your knowledge with the following interaction:
This Topic is available in the following Module:
Want to help us improve this content?