This is the first of many discussions into ALM strategy form Power Platform. In this installment I dive into the most fundamental question of any Power Platform ALM strategy:
How should I structure my solutions to enable a robust and reliable ALM strategy that enables and enhances the work of developers and functionals?
I have worked with two primary structuring methodoligies:
- Component-based solutions
- Feature-based solutions
- Hybrid - Feature-based with component-based sub-solutions
Summary of Methods
Area | Component Based | Feature Based |
---|---|---|
Environemnts | Only requires a single development environment | Development environment per feature solution |
Management | Easy to manage | Overhead due to number of development environments, feature import order, compoment layering |
Change Location | Easy to understand where to make a change | Hard to know which feature to change a component |
Component Based
The easiest solution to understand and implement, a component based strategy can be summarised as:
Segregate solution components by their type, where a solution contains one or more types of solution components
This most commonly follows a logical solution component breakdown simiar to:
Solution | Components |
---|---|
Data Model | Tables (including all sub components), Choices, Commands, Web Resources, Security Roles, Column Security Profiles, Custon Controls, Dashboards, Duplicate Detection Rules |
Apps | Model Driven Apps, Canvas Apps, Custom Pages |
Automation | Cloud Flows, Classic Processes, Plugins, Custom Actions, Connection References, Evnrionment Variables |
Portal | Power Pages Portal (ehanced data model) |
You may opt to break these into smaller solutions:
Solution | Components |
---|---|
Web Resources | Web Resources, Custom Controls |
Apps | Model Driven Apps, Canvas Apps, Custom Pages |
Data Model | Tables (including all sub components), Choices, Commands, Dashboards, Duplicate Detection Rules |
Security Model | Security Roles, Column Security Profiles |
Automation | Cloud Flows, Classic Processes, Custom Actions, Connection References, Evnrionment Variables |
Plugins | Plugins, Custom Action Plugins, Evnrionment Variables |
Automatic Record Creation | Cloud Flows, Routing Rule Sets, Record Creation and Update Rules |
Portal | Power Pages Portal (ehanced data model) |
Dependencies between layers is tricky, so these solutions are listed in a recommended import order.