Creating a Center of Excellence
Build for reuse
When embarking on a low-code, citizens developer program, how do you handle reuse across applications? You do this through a Center of Excellence or COE. A COE is a group of people – experts in their functions – empowered by best practices and tools. The COE creates an application on which your low-code applications will be built. We call this application the COE layer. This application will store best practices and tools. One of the responsibilities of the COE is to create reusable assets that can be used across applications. For example, Sample Inc. wants to use an identity management system to validate users that log in to the system. Instead of building the integration in each of the applications, this is built in the COE layer. This will allow all low-code applications to inherit from the functionality. This helps ensure that each application is not solving the same problem in unique ways. It also keeps all reusable assets in a centralized location.
Create layers with corporate integrations
One common function of a Center of Excellence is to create integrations with other corporate systems. For example, Sample Inc.’s HR system maintains a list of all active employees. The COE creates an integration to return the list of employees and store that data in a data page in the COE layer. Now all app makers can refer to that data page in their systems. An app maker that builds an Event Request application may include it when selecting event attendees.
By creating integrations in the Center of Excellence, you not only promote reuse but now also have a centralized location to manage these integrations. Integration resources such as end points and authentication can be updated in single application without having to update these resources across the many low-code applications. Additionally, since all applications are using the same integration, you have a single definition for the data type. In the example above, active employees across all applications in Sample Inc. are identical since all applications reuse the same integration. This allows data to be easily mapped across applications.
Create a toolbox
In addition to integrations, there are several types of reusable assets you can create in the COE (what?). Sample Inc. wants all emails sent from the many low-code applications to have a shared look and feel. Email templates can be created in the COE (what?). Now app makers can use the email templates in their individual applications with their own unique content, but the look and feel of the emails are shared across applications.
Here are some examples of reusable assets you may create in the COE.
- Email templates
- Common integrations
- Common data types
- Common cases
- Section templates
Multiple solutions to the same problem can cause maintenance nightmares over time. A robust toolbox of reusable assets in the COE eliminates this issue. If you are solving the same problem multiple times in different applications, this is a good indication of an asset that should be added to your COE toolbox.
Establish design patterns
It is important to establish design patterns in the COE. Creating sample designs of data types, applications, cases and others can help app makers ensure they are building the right way. One example of a design pattern your COE may recommend is around integration classes. Pega recommends that integrations are mapped to an integration class which is then mapped to an implementation class. This allows a user to build the UI in the implementation class without having to worry about the integration structure changing. An example of this set up can help future app makers as they create their application.
You can use the quality tools in the Pega Platform to enforce your design patterns. For example, you could create custom guardrail warnings to enforce design patterns for your organization.
How can security settings be configured for the entire low-code, citizens developer program? This can be solved in the COE. Create template access groups for each potential role. App makers can then extend the templates for the roles which they need. By creating access templates, the risk for security configuration issues are greatly reduced. Access templates also allow for predefined roles and privileges to be reused. This is especially important when setting up reusable assets which require security.
The COE can also configure authentication services for your system. For example, Sample Inc. wants to use single sign on (SSO). The COE configures the authentication service for single sign on. All the applications on the system can begin using SSO. Having this configured in the COE allows a single source of truth for authenticating users across all applications. Additionally, the app makers do not have to configure this on their own.
Document best practices
It is important to document the best practices recommended by the COE. This helps guide app makers when they build their own applications. Things such as naming conventions and case structure can help keep standards, quality and ease future maintenance in the applications.
One way the COE can expose best practices to the app makers is through extending the App Studio help link. The help link is accessed through the question mark icon at the top of the page while in edit mode.
This launches the help page seen below. Adding your COE best practices here provides an easy avenue for guiding app makers while building applications.
To learn more about extending the App Studio help links, review Data-driven UI framework.
Configure App Studio options
App Studio is the easiest and fastest way for app makers to build their low-code applications. The options presented to them in App Studio can be configured in the COE. For example, you may want to disable the ability for app makers to add users to their application. You can hide this page at the COE level to disable it for all low-code applications. For more information on how to configure App Studio, review Customize App Studio.
Configure New App Wizard options
In a low-code, App Factory program, you will often create new applications. Your organization may have specific requirements which are captured as a part of the Pega New App Wizard. This wizard can be extended to meet the needs of your organization. For example, Sample Inc. may want to capture a mission statement for each application. For more information on how to extend the New Application Wizard, review the Extend the New Application wizard.
100% found this useful